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

what's the practical difference between google datastore nosql and google bigquery sql?

我想知道如何评价一种工具优于另一种工具。

我主要关心的问题如下:

在 google 数据存储中,我们定义 'kind'。每个 'entities' 有 'properties'.
然后数据存储后端使用这些属性来索引数据以供将来查询。查询本身在 SQL 中使用几乎相同的想法,尽管语法不同,以过滤数据并找到我们想要的内容。
如果你索引每个 属性,索引元数据会比实际数据更大。

Google bigquery 使用 SQL 的方言。而且它是完全托管的,因此用户不必担心扩展问题。

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

请与我分享您的评估过程。 与我分享我的理解中缺少的部分。 谢谢

这两个服务解决不同的问题。

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

BigQuery 专为 分析 工作负载而设计。它是仅附加的,并且针对 scan/filter/aggregate 整个数据表的查询进行了优化,以从您的数据中获取答案。

所以真正的问题是:你想解决什么问题?如果您正在构建 Web 应用并需要后端,请使用 Datastore。如果您有大量数据想要查询以获得有关您的业务表现的答案,请使用 BigQuery。

最后,如果你想两者都做,你可以为你的应用使用数据存储,然后导出到 BigQuery 进行分析: https://cloud.google.com/bigquery/loading-data-cloud-datastore

我认为云数据存储可以用作后端,您通常会将应用程序对象持久化到 .您主要从数据存储中挑选数据。虽然大查询可用于从云数据存储中查询数据集。在当今的分析中,将数据存储数据的副本存储到大查询中变得非常理想,这样您就可以轻松地从大查询中从数据存储中获取见解,而无需担心查询数据存储,知道其查询限制。