BigQuery 存储数据的位置

Where the data will be stored by BigQuery

我正在使用 BigQueryIO 从 Google Dataflow 作业将数据发布到 BigQuery。

据我所知,BigQuery 可用于从 Google 云存储、Google 驱动器和 Google 表格中查询数据。

但是当我们使用BigQueryIO存储数据时,数据存储在哪里呢?它在 Google 云存储中吗?

BigQuery 是一个托管数据仓库,简单地说它是一个数据库。

因此您的数据将存储在 BigQuery 中,您可以使用 SQL 查询访问它。

简答 - BigQueryIO Write/Read to/from BigQuery Table

更深入一点:
BigQuery 以 Capacitor 列数据格式存储数据,并提供表、分区、列和行的标准数据库概念。

它管理存储结构化数据的技术方面,包括压缩、加密、复制、性能调整和缩放。

您可以在 BigQuery Overview

中阅读有关 BigQuery 不同组件的更多信息

Cloud Storage 是独立于 Big Query 的一项服务。在内部,Big Query 管理自己的存储。

因此,如果您将数据保存到 Cloud Storage,然后使用 bq 命令从 Cloud Storage 中的文件加载大查询 table,现在有 2 个副本数据。

后果包括:

  • 如果您删除 Cloud Storage 副本,数据仍将位于 Big Query 中。
  • 费用包括每份副本的价格。我认为 2017 年 4 月,BQ 的长期存储约为 0.01 美元/GB,云存储约为 0.01-0.026 美元/GB,具体取决于存储 class。
  • 如果相同的数据同时存在于 GCS 和 BQ 中,则您支付了两次费用。是否值得拥有数据备份副本取决于您。