BigQuery 和 MySQL 有什么区别?

Sau*_*bhP 8 mysql google-bigquery

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

Đăn*_*inh 13

相似之处

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

差异

可以说,这两种技术具有完全不同的用例。所以他们的理念、设计和内部架构都是不同的。

您可以使用 MySQL 来存储事务系统或 OLTP 的数据。例如,如果您有一个电子商务网站,那么您可以使用 MySQL 数据库来存储有关用户、订单、付款的数据...您可能每秒有大量交易,但交易通常涉及数据库中的 1 行或几行。MySQL 和其他关系数据库引擎对此很有帮助。他们使用某种形式的规范化来提高写入操作的效率并保持数据的一致性。

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

现在您看到两种技术有不同的用途,您可以了解它们的设计和架构的差异。例如,对于 BigQuery,我们鼓励您对数据进行非规范化以避免昂贵的 JOIN 运算符。在内部,BigQuery 按列存储数据,而不是像 MySQL 那样按行存储数据。这些决策有一个共同的目标,即使分析查询高效运行。

您可以进一步研究 OLTP 与 OLAP :)。


Eve*_*ert 1

MySQL 是一个免费的 RDBMS,可以在任何地方运行,非常流行,通用,支持非常好,非常灵活。

BigQuery 是 Google 专有的、类似于 Cassandra 的昂贵数据库,它使用 SQL,但功能更有限,但可以更轻松地针对某些类型的问题进行扩展,并且更深入地嵌入到 Google 生态系统中。

您应该始终默认使用 MySQL 或 Postgres,除非您有特定原因使用 BigQuery 之类的东西。如果您不知道应该使用哪一个,那么应该使用 MySQL 或 Postgres。

  • 我记下了这个答案,因为它提供了关于哪个更好的意见,而不是陈述事实。例如,说 BigQuery 昂贵是不正确的,更正确的说法是它“可能”很昂贵,具体取决于您使用它的用途。 (2认同)