Google cloud platform 什么';BigQuery和BigTable之间的区别是什么?

Google cloud platform 什么';BigQuery和BigTable之间的区别是什么?,google-cloud-platform,google-bigquery,cloud,bigtable,google-cloud-spanner,Google Cloud Platform,Google Bigquery,Cloud,Bigtable,Google Cloud Spanner,有人会使用BigTable而不是BigQuery的原因吗?两者似乎都支持读写操作,后者还提供高级“查询”操作 我需要开发一个分支网络(因此我需要跟踪点击和‘销售’),所以我对这种差异感到非常困惑,因为bigQuery似乎只是一个具有更好API的bigTable。这种差异基本上是: BigQuery是一个用于数据集的查询引擎,这些数据集变化不大,或者通过追加来改变。当查询需要“表扫描”或需要查看整个数据库时,这是一个很好的选择。想想总数、平均数、计数、分组。BigQuery是当您收集了大量数据并需

有人会使用BigTable而不是BigQuery的原因吗?两者似乎都支持读写操作,后者还提供高级“查询”操作


我需要开发一个分支网络(因此我需要跟踪点击和‘销售’),所以我对这种差异感到非常困惑,因为bigQuery似乎只是一个具有更好API的bigTable。

这种差异基本上是:

BigQuery是一个用于数据集的查询引擎,这些数据集变化不大,或者通过追加来改变。当查询需要“表扫描”或需要查看整个数据库时,这是一个很好的选择。想想总数、平均数、计数、分组。BigQuery是当您收集了大量数据并需要询问相关问题时使用的

BigTable是一个数据库。它被设计成一个大型的、可扩展的应用程序的基础。在制作需要读写数据的任何类型的应用程序时,请使用BigTable,扩展是一个潜在的问题。

这可能有助于决定谷歌云提供的不同数据存储解决方案(免责声明!从谷歌云页面复制)

如果您的需求是一个实时数据库,BigTable是您所需要的(但不是真正的OLTP系统)。如果它更像是一种分析用途,那么BigQuery就是您所需要的

想想OLTPvsOLAP;或者,如果您熟悉Cassandra和Hadoop,BigTable大致等同于Cassandra,BigQuery大致等同于Hadoop(同意,这不是一个公平的比较,但您明白了)

注 请记住,Bigtable不是关系数据库,它不支持SQL查询或
JOIN
s,也不支持多行事务。而且,对于少量数据来说,它不是一个好的解决方案。如果您想要RDBMS OLTP,您可能需要查看cloudSQL(mysql/postgres)或Panner

成本视角

。在此引用相关部分

总体成本归结为您“查询”数据的频率。如果 这是一个备份,你不重播事件太频繁,这将是肮脏的 便宜的。但是,如果您需要每天重播一次,您将开始 触发5$/TB扫描非常容易。我们也很惊讶为什么会这样 廉价的插页和存储是免费的,但这是ofc,因为谷歌预计 您需要在某个时间点对它们运行昂贵的查询。你会 不过,我们必须围绕一些事情进行设计。例如,AFAIK流媒体 插入不能保证写入表,您必须 经常在列表的末尾进行投票,看它是否真的被写了出来。 使用时间范围表装饰器可以有效地进行跟踪, 尽管如此(不支付扫描整个数据集的费用)

如果你不在乎订单,你甚至可以免费列出一张桌子。不 然后需要运行“查询”

编辑1 云扳手相对年轻,但功能强大,前景广阔(而且价格也非常昂贵)。至少,谷歌营销部声称它的功能是两全其美的(传统的RDBMS和noSQL)


BigQuery和Cloud Bigtable不一样。Bigtable是一个基于Hadoop的NoSQL数据库,而BigQuery是一个基于SQL的数据仓库。它们有特定的使用场景

简而言之

  • 如果您不需要支持ACTION事务,或者如果您的数据结构不严谨,请考虑云BigTabl。
  • 在联机分析处理(OLAP)系统中,如果需要交互式查询,请考虑BigQualue/

我想说,BigTable更像是一个低级的、管理较少的云数据存储,适合那些需要更好性能的人。这个过去的SO线程可能也会有所帮助:@dyeray是的,我知道,但是有人有什么理由在BigTable和BigQuery中维护相同的数据,而不是只维护BigQuery?BigTable非常擅长于单行,或小范围查找。BigQuery非常擅长全局。如果您希望分析具有高效的向下展开功能,您可以使用BigQuery进行大规模分析,使用BigTable进行小范围分析。系统属性比较Google BigQuery与Google Cloud BigTable与Google Cloud Data Store!(免责声明!复制自db engines.com)第二段-你的意思是
使用BigTable
:o)@MikhailBerlyant谢谢,谷歌在这里编辑了一个不幸的命名约定。当我通常想到SQL时,我想到的是表格数据结构,而当我想到查询时,我想到的是数据库的键值或查找类型。在这种情况下,BigTable不是SQL,而BigQuery是SQL数据库。@Michael Manoochehri请阅读下面的引文:您可以与用户(包括服务帐户)或组共享对永久外部表的访问权限。要查询外部表,您的用户或组需要被授权(至少):dataset级别或更高级别的bigquery.dataViewer角色用于访问包含外部表的数据集;项目级别或更高级别的bigquery.user角色用于运行查询作业Cloud bigtable中的bigtable.reader角色提供对元数据和tablesBigtable的只读访问,它不是基于Hadoop的NoSQL数据库,事实上,它是基于HBase(基于Hadoop的NoSQL)构建的。因此,它们共享相似(相同?)的API。您可以与用户(包括服务帐户)或组共享对永久外部表的访问。要查询外部表,您的用户或组需要被授权(至少):数据集级别或更高级别的bigquery.dataViewer角色,用于访问包含外部表的数据集;项目级别或更高级别的bigquery.user角色,用于运行查询作业。Cloud bigtable中的bigtable.reader角色提供对元数据和表的只读访问。我引用了上面的引文。为什么要访问bigtable我需要一个包含单词bigq的权限