google datastore nosql和google bigquery sql之间的实际区别是什么?

Luc*_*hen 5 sql nosql google-bigquery google-cloud-datastore google-cloud-platform

我想知道如何评估一个工具而不是另一个工具.

我主要担心如下:

在Google数据存储区中,我们定义了"种类".每个"实体"都有"属性".
然后,数据存储区后端使用这些属性来索引数据以供将来查询.查询本身在SQL中使用几乎相同的想法,虽然语法不同,但是过滤数据并找到我们想要的东西.
如果索引每个属性,索引元数据甚至会比实际数据更大.

Google bigquery使用它的SQL方言.它完全受管理,因此用户无需担心缩放问题.

所以我的问题是,使用nosql数据存储区的目的是什么,为索引花费如此多的计算周期和存储空间,以便我们可以像在bigquery SQL数据库中一样自然地查询它?

请与我分享您的评估过程.与我分享我理解中缺失的内容.谢谢.

Jer*_*dit 13

这两项服务解决了不同的问题.

数据存储区旨在支持事务性工作负载,例如Web应用程序的后端.它针对每次操作读取或写入有限行数的小事务进行了优化,具有强大的一致性保证.

BigQuery专为分析工作负载而设计.它是仅附加的,并且针对扫描/过滤/聚合整个数据表以从数据中获取答案的查询进行了优化.

所以真正的问题是:你想解决什么问题?如果您正在构建Web应用程序并需要后端,请使用数据存储区.如果您要查询大量数据以获得有关业务执行情况的答案,请使用BigQuery.

最后,如果您要同时执行这两项操作,可以将数据存储用于您的应用,然后导出到BigQuery进行分析:https: //cloud.google.com/bigquery/loading-data-cloud-datastore

  • 尝试两者.bigquery中的查询将是缓慢而痛苦的,因为您需要等待并ping直到查询完成执行.在使用它作为数据库的webapp中,这将是灾难性的. (2认同)