Google数据存储区Nosql和Google bigquery sql之间的实际区别是什么? [英] what's the practical difference between google datastore nosql and google bigquery sql?

查看:94
本文介绍了Google数据存储区Nosql和Google bigquery sql之间的实际区别是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何评估一种工具.

I want to know how to evaluate one tool over another.

我的主要担忧如下:

在Google数据存储区中,我们定义了种类".每个实体"都有属性".
然后,数据存储后端使用这些属性为数据编制索引,以供将来查询.查询本身在SQL中使用几乎相同的思想(尽管语法不同)来筛选数据并找到我们想要的内容.
如果您为每个属性建立索引,则索引元数据将甚至大于真实数据.

In google datastore, we define 'kind'. Each 'entities' has 'properties'.
Then the datastore backends use those properties to index data for future query. The query itself use almost the same idea in SQL, though different syntax, to filter data and find what we want.
If you index every property, the index metadata would be even bigger than real data.

Google bigquery使用它的SQL方言.而且它得到了完全管理,因此用户不必担心扩展问题.

Google bigquery uses it's dialect of SQL. And it's fully managed so users don't have to worry about the scaling problem.

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

So my question is, what's the purpose of using nosql datastore, spending so many computing cycles and storage for indexes so that we could just query it like we naturally could in bigquery SQL database?

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

Please share with me your evaluation process. Share with me what's the missing piece in my understandings. Thanks.

推荐答案

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

The two services solve different problems.

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

Datastore is designed to support transactional workloads, such as the backend for a web application. It's optimized for small transactions that read or write a limited number of rows per operation, with strong consistency guarantees.

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

BigQuery is designed for analytic workloads. It's append-only, and it's optimized for queries that scan/filter/aggregate entire tables of data to get answers out of your data.

真正的问题是:您要解决什么问题?如果您要构建Web应用程序并且需要后端,请使用数据存储.如果您要查询大量数据以获取有关业务绩效的答案,请使用BigQuery.

So the real question is: what problem are you trying to solve? If you're building a web app and need a backend, use Datastore. If you have piles of data that you want to query to get answers about how your business is performing, use BigQuery.

最后,如果您想同时使用两者,则可以将Datastore用于您的应用程序,然后导出到BigQuery进行分析: https://cloud.google.com/bigquery/loading-data-cloud-datastore

Finally, if you want to do both, you can use Datastore for your app, and then export to BigQuery for analysis: https://cloud.google.com/bigquery/loading-data-cloud-datastore

这篇关于Google数据存储区Nosql和Google bigquery sql之间的实际区别是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆