mysql - BigQuery 和 MySQL 有什么区别?

标签 mysql google-bigquery

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

最佳答案

相似点

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

差异

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

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

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

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

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

关于mysql - BigQuery 和 MySQL 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73230774/

相关文章:

mysql - 如何获取用户之间的关系?

python - 安装适用于 Python 3.1 的 oursql 时出错

google-bigquery - 将字符串数组转换为单行值

google-bigquery - 迁移到集群表

java - 无法在本地运行 GCP DataflowTemplates

google-bigquery - 按范围列排序(字符串类型)数字 BigQuery

php - 如何使用searchview在自定义ArrayAdapter上实现搜索功能?

mysql - 为什么sql比较忽略大小写

mysql - 从 magento 数据库获取客户姓名和电子邮件

python - 如何在 python 中展平 google bigquery 结果