【问题标题】:Where the data will be stored by BigQueryBigQuery 将数据存储在何处
【发布时间】:2017-08-30 12:47:00
【问题描述】:
我正在使用 BigQueryIO 将数据从 Google Dataflow 作业发布到 BigQuery。
AFAIK,BigQuery 可用于从 Google Cloud Storage、Google Drive 和 Google Sheets 查询数据。
但是当我们使用 BigQueryIO 存储数据时,数据将存储在哪里?它在 Google Cloud Storage 中吗?
【问题讨论】:
标签:
google-bigquery
google-cloud-storage
google-cloud-dataflow
【解决方案1】:
简答 - BigQueryIO 写入/读取 BigQuery 表
再深入一点:
BigQuery 以Capacitor 列数据格式存储数据,并提供表、分区、列和行的标准数据库概念。
它管理存储结构化数据的技术方面,包括压缩、加密、复制、性能调整和扩展。
您可以在BigQuery Overview 中阅读有关 BigQuery 不同组件的更多信息
【解决方案2】:
Cloud Storage 是一项独立于 Big Query 的服务。在内部,Big Query 管理自己的存储。
因此,如果您将数据保存到 Cloud Storage,然后使用 bq 命令从 Cloud Storage 中的文件加载 Big Query 表,则现在有 2 个数据副本。
后果包括:
- 如果您删除 Cloud Storage 副本,数据仍将保留在 Big Query 中。
- 费用包括每个副本的价格。我认为在 2017 年 4 月,BQ 的长期存储约为 0.01 美元/GB,而云存储中的长期存储约为 0.01-0.026 美元/GB,具体取决于存储类别。
- 如果 GCS 和 BQ 中的数据相同,则您需要支付两次费用。是否值得拥有数据的备份副本取决于您。
【解决方案3】:
BigQuery 是一个托管数据仓库,简单地说它是一个数据库。
因此您的数据将存储在 BigQuery 中,您可以使用 SQL 查询来访问它。