最近,来自谷歌应用脚本的scriptDb服务为deprecated,并将在未来几个月内完全关闭。我有一个利用这项服务的项目,我希望在它为时已晚之前逐步停止使用scriptDb。目前,我的项目以下列方式使用scriptDb服务:
我的脚本项目将接受一系列XML文件并解析这些文件以生成javascript对象,其参数是XML中的特定条目。例如,对象可以是:
{type: "proposal", pi: "John Doe", coIs: {"bob", "sue"}}
等。基于XML文件中的数据填充对象的每个参数。 然后,我将使用db.save( object )命令将这些对象存储在脚本数据库中。这对我来说非常有用,因为我可以查询并根据我可能正在寻找的特定参数返回给我的对象数组 - 执行的实际位置,其中对象实际上是从XML实例化的。
从scriptDb指南中进行google脚本迁移有几个建议,但我觉得实现SQL类型数据结构会过于复杂(我不知道从哪里开始),因为这些是简单且相对较小的对象,我正在处理这些物体的数量很少(数十种)。
在生成这些对象后,是否有一种有效而简单的方法来存储这些对象,以便我可以在以后的执行中使用它们? (显然不使用scriptDb。)
感谢您的任何意见。
答案 0 :(得分:1)
由于它只有几十个对象,所以不要使用mongo或任何其他外部数据库。 首先看看你究竟是如何查询的。 然后,决定存储在电子表格中(单个单元格可以有一百万个字符)或属性服务。 如果您的查询仅限于某些组合,您可以编写单独的属性并直接获取它们。 否则只需将所有数据库存储在单个对象中,如js map。 将其字符串化并存储在电子表格中。 镜像缓存中的数据,以便只有缓存不存在才能读取ss(缓存可以设置为最多6小时到期)。 最后,将其过滤到内存中。 这将比任何外部数据库快数百倍。
答案 1 :(得分:0)
我不知道任何谷歌内部服务,但如果它可以在网络上的任何地方,您可以使用mongoHQ或类似的东西,并将文件存储在mongodb中。
这听起来应该完全符合您的需求,并且免费为您提供(最多500MB的数据)。最大的缺点是高延迟,因为免费版本非常慢,你需要通过互联网与它交谈(不知道他们的免费数据库存储在哪个数据中心)。
<强>更新强>
SO上已有另一篇文章,如何从ScriptDB迁移到MongoDB(How to replace the deprecated ScriptDb with Mongodb using URL Fetch service?)