BigQuery和MySQL有什么区别?

7
作为一名初学者开始进行数据分析,我想知道它们是否相似(或是同一事物的不同版本),或者我是否将它们混淆成完全不同的概念。

它们基本上是不同的数据库。 - luk2302
1
每个数据库系统使用不同的SQL方言,因此代码并不是100%兼容的。这就像MS Office和OpenOffice一样。 - juergen d
你认为卷轴、手抄本和电子书是同一件事吗?棱镜和雨滴呢?它们有一些共同的用途,但也有许多不同之处,这可能对你来说无关紧要,或者可能非常重要。 - ruakh
不要担心BigQuery,除非你有一个拥有十亿行的表格。 - Rick James
2个回答

12

相似之处

两者的相似之处在于,我们可以使用SQL查询存储在MySQL和BigQuery中的数据。

区别

我们可以说这两项技术完全有不同的用例,它们的哲学、设计和内部架构也不同。

您可以使用MySQL为交易系统或OLTP存储数据。例如,如果您拥有一家电子商务网站,则可以使用MySQL数据库存储有关用户、订单、付款等方面的数据。您可能会有大量的事务/秒,但是一个事务通常涉及到数据库中的1行或多行。 MySQL和其他关系型数据库引擎对此很好。它们使用某种形式的规范化使写操作高效,并保持数据一致。

现在想象一下,您需要分析过去5年内电子商务网站的数据。现在您的查询将涉及所有条目(或行),但通常仅涉及某些列。而且,您的查询/秒数与前面的情况不同。您可以看到这两种情况是不同的。在这种情况下,MySQL不再是最佳选择,而是OLAP系统。BigQuery就是一个OLAP的例子。使用BigQuery,您存储的是用于分析而不是运营目的的数据。

现在您看到这2种技术提供不同的用途,您就可以理解它们的设计和架构上的差异。例如,使用BigQuery时,建议您对数据进行去规范化以避免昂贵的JOIN运算符。内部,BigQuery按列而不是按行存储数据,与MySQL不同。这些决策有一个共同的目标,使分析查询运行高效。

您可以进一步研究OLTP vs OLAP :).


这是一个非常有用的回复,比Evert的回复更有帮助。 - jamiet
使用BigQuery,您被鼓励对数据进行去规范化以避免昂贵的JOIN操作。谢谢,这是最好的部分。 - Crandel

2

MySQL是一款免费的RDBMS,可在任何地方运行,非常流行,通用性强,得到了很好的支持,而且非常灵活。

BigQuery是谷歌所拥有的专有数据库,类似Cassandra,在功能上比较受限,但对于某些类型的问题可以更容易地进行扩展,并深度嵌入谷歌生态系统,价格昂贵。

除非您有特定的理由使用BigQuery,否则应始终默认使用MySQL或Postgres。如果您不知道应该使用哪个,那么您应该使用MySQL或Postgres。


我会建议你使用Mariadb或Postgres :) - ysth
1
我将此答案标记为不好,因为它提供了观点而非陈述事实。例如,说BigQuery很贵并不是真的,更准确的说法是它可能会很贵,这取决于你使用它的方式。 - jamiet
我不同意。但没关系。我知道一家最近迁移到 BigQuery 的公司,结果比他们之前使用的要便宜得多。因此,我认为不能发表“BigQuery 很昂贵”这样笼统的说法是正确的。你说“相对而言它非常贵”,但这取决于你将它与什么进行比较。 - jamiet
可能。也可能不是。我们永远不会知道。 - jamiet
@jamiet 这是一个相当常见的模式,类似于切换堆栈、框架。第二个系统往往会更好,因为它具有对领域的清晰理解和从第一个模式中吸取的经验教训的所有好处。 - Evert
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接