【问题标题】:Could Google Sheets be a database service?Google 表格可以成为数据库服务吗?
【发布时间】:2017-12-30 05:52:11
【问题描述】:

首先,给它一个机会。我知道电子表格和数据库不是一回事。但是,Google 表格可能是个反常现象。

在 Google 表格中,一个文件可以包含多个表格。例如,我可以创建文件Spreadsheet,然后在其中创建Sheet 1Sheet 2Sheet 3Spreadsheet 有自己唯一的访问 ID,用于共享和访问,但其中的每个工作表必须以不同的方式访问。

在 Google Apps 脚本中,可以使用以下代码访问 Spreadsheet

var spreadsheet = SpreadsheetApp.openById('id');

现在,我询问是否可以将 Google 表格视为数据库服务的原因是,为了读取/写入数据,必须首先访问该文件中的特定表格。这是通过以下代码完成的:

var sheet1 = spreadsheet.getSheets()[0];

该调用将检索文件中的第一个工作表,getSheets()[1] 将检索第二个工作表,等等。

与数据库一样,GS 文件包含多个工作表,就像数据库包含多个表一样。访问文件中的数据类似于访问数据库中的数据。

在通过 JavaScript 或 Google Apps Script 访问数据的情况下,Google Sheets 是伪数据库吗?

【问题讨论】:

  • 这看起来像是一个主要基于意见的问题,在本网站上是题外话。问题应该是关于特定的编程问题。参考How to Ask.
  • @Rubén 我根本不明白它的意见。
  • 请注意 GSpreadsheets 不符合ACID。不过,这 可能可能不会 对您的用例来说是个问题。我会说 GSpreadsheets 不是数据库,而是一个很好的数据存储(具有所有优点和缺点)。
  • @organism.exe 它是基于意见的,因为该问题没有定义使答案正确的标准。在这种情况下,数据库/伪数据库的定义是什么?是否符合ACID(由 mTorres 提到)等相关标准? Google 表格的限制是否相关?

标签: javascript database google-apps-script google-sheets google-sheets-api


【解决方案1】:

我会说 Google 电子表格比用于早期模拟简单应用程序的数据库更好。因为它消除了设置 MySQL 或 Mongo 等内容的复杂性。但最重要的是,它可以让您轻松查看数据的位置以及将如何连接等。

但它有它的局限性。在 10,000 行时,一切正常。但是在 100,000 行或更多行时,打开和使用工作表变得越来越迟缓。

【讨论】:

    【解决方案2】:

    通过Merge Sheets 插件,我实际上已经使用 Google 表格来替换数据库。我有 5000 种产品。我在主工作表中添加了列,其中包含有关每种产品的各种信息。然后我将它与离线系统中的新数据合并。我定义了一个键列,插件足够智能,可以更新更改并在最后添加新记录,但仍将新列保持在正确的位置。

    【讨论】:

      【解决方案3】:

      是的,你可以像数据库一样使用它,但它会像 NoSQL 数据库一样。

      如果你想在 GAS 中使用它,那么你需要使用数组或过滤器方法,在外部通过 Get 和 Post 使用 API,你可以使用 JSON 来处理它,比如 Firebase 数据库。

      【讨论】:

      • 如果你想以这种方式使用它,你应该检查this library
      猜你喜欢
      • 2021-09-18
      • 2016-04-28
      • 1970-01-01
      • 2013-09-05
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      相关资源
      最近更新 更多