BigQuery 位置
本页面介绍了“位置”概念以及可以存储和处理数据的不同区域。 存储和分析的价格也由数据和预留的位置定义。如需详细了解位置的价格,请参阅 BigQuery 价格。如需了解如何设置数据集的位置,请参阅创建数据集。如需了解预留位置,请参阅管理不同区域的预留。
如需详细了解 BigQuery Data Transfer Service 如何使用位置,请参阅数据位置和转移。
位置和区域
BigQuery 提供两种类型的数据和计算位置:
单区域位置是具体的地理位置,如伦敦。
多区域位置是至少包含两个区域的大型地理区域,如美国。与单区域相比,多区域位置可提供更高的配额。
无论哪种位置类型,BigQuery 都会自动将数据副本存储在所选位置中一个区域内的两个不同 Google Cloud 可用区中。如需详细了解数据可用性和耐用性,请参阅可靠性:灾难恢复计划。
支持的位置
BigQuery 数据集可以存储在以下单区域和多区域中。如需详细了解地区和区域,请参阅地理位置和地区。
区域
下表列出了可使用 BigQuery 的美洲区域。区域说明 | 区域名称 | 详细信息 |
---|---|---|
俄亥俄州,哥伦布 | us-east5 |
|
达拉斯 | us-south1 |
|
爱荷华 | us-central1 |
|
拉斯维加斯 | us-west4 |
|
洛杉矶 | us-west2 |
|
蒙特利尔 | northamerica-northeast1 |
|
北弗吉尼亚 | us-east4 |
|
俄勒冈 | us-west1 |
|
盐湖城 | us-west3 |
|
圣保罗 | southamerica-east1 |
|
圣地亚哥 | southamerica-west1 |
|
南卡罗来纳 | us-east1 |
|
多伦多 | northamerica-northeast2 |
|
区域说明 | 区域名称 | 详细信息 |
---|---|---|
德里 | asia-south2 |
|
香港 | asia-east2 |
|
雅加达 | asia-southeast2 |
|
墨尔本 | australia-southeast2 |
|
孟买 | asia-south1 |
|
大阪 | asia-northeast2 |
|
首尔 | asia-northeast3 |
|
新加坡 | asia-southeast1 |
|
悉尼 | australia-southeast1 |
|
台湾 | asia-east1 |
|
东京 | asia-northeast1 |
区域说明 | 区域名称 | 详细信息 |
---|---|---|
比利时 | europe-west1 |
|
芬兰 | europe-north1 |
|
法兰克福 | europe-west3 |
|
伦敦 | europe-west2 |
|
马德里 | europe-southwest1 |
|
米兰 | europe-west8 |
|
荷兰 | europe-west4 |
|
巴黎 | europe-west9 |
|
华沙 | europe-central2 |
|
苏黎世 | europe-west6 |
|
区域说明 | 区域名称 | 详细信息 |
---|---|---|
以色列 | me-west1 |
多区域
下表列出了可使用 BigQuery 的多区域。多区域说明 | 多区域名称 |
---|---|
欧盟成员国的数据中心1 | EU |
美国的数据中心 | US |
1 位于 EU
多区域的数据仅存储在 europe-west1
(比利时)或 europe-west4
(荷兰)数据中心中。
BigQuery Omni 位置
BigQuery Omni 会在包含待查询表的数据集所在的位置处理查询。创建数据集后,该位置无法更改。 您的数据位于您自己的 AWS 或 Azure 帐号中。标准版和企业版不支持 BigQuery Omni 区域。如需详细了解版本,请参阅 BigQuery 版本简介。区域说明 | 区域名称 | 并置的 BigQuery 区域 | |
---|---|---|---|
AWS | |||
AWS - 美国东部(北弗吉尼亚) | aws-us-east-1 |
us-east-4 |
|
AWS - 亚太地区(首尔) | aws-ap-northeast-2 |
asia-northeast3 |
|
Azure | |||
Azure - 美国东部 2 | azure-eastus2 |
us-east-4 |
BigQuery ML 位置
BigQuery ML 将数据处理并暂存到包含数据的数据集所在的位置。
BigQuery ML 会根据服务专用条款将您的数据存储在选定位置。
所有 BigQuery 区域都支持 BigQuery ML 模型预测和其他机器学习函数。对模型训练的支持因区域而异:
所有 BigQuery 区域都支持训练内置模型(线性回归、逻辑回归、kmeans、矩阵分解和时间序列)和导入的模型。
您可以在多区域
US
和EU
以及大多数单区域使用 XGBoost 模型进行 DNN 和提升树训练。如需了解详情,请参阅下表。多区域
US
和EU
以及大多数单区域支持 AutoML Tables 训练。
单区域位置
区域说明 | 区域名称 | 导入的 模型 |
内置 模型 训练 |
DNN/Autoencoder/ 提升树/ Wide & Deep 模型 训练 |
AutoML 模型 训练 |
超参数 调节 |
外部模型训练 | Vertex AI Model Registry 集成 | |
---|---|---|---|---|---|---|---|---|---|
美洲 | |||||||||
俄亥俄州,哥伦布 | us-east5 |
● | ● | ||||||
达拉斯 | us-south1 |
● | ● | ||||||
爱荷华 | us-central1 |
● | ● | ● | ● | ● | ● | ● | |
拉斯维加斯 | us-west4 |
● | ● | ● | ● | ||||
洛杉矶 | us-west2 |
● | ● | ● | ● | ||||
蒙特利尔 | northamerica-northeast1 |
● | ● | ● | ● | ● | ● | ● | |
北弗吉尼亚 | us-east4 |
● | ● | ● | ● | ● | ● | ● | |
俄勒冈 | us-west1 |
● | ● | ● | ● | ● | ● | ||
盐湖城 | us-west3 |
● | ● | ● | |||||
圣保罗 | southamerica-east1 |
● | ● | ● | ● | ||||
圣地亚哥 | southamerica-west1 |
● | ● | ||||||
南卡罗来纳 | us-east1 |
● | ● | ● | ● | ● | ● | ||
多伦多 | northamerica-northeast2 |
● | ● | ● | |||||
欧洲 | |||||||||
比利时 | europe-west1 |
● | ● | ● | ● | ● | ● | ● | |
芬兰 | europe-north1 |
● | ● | ● | |||||
法兰克福 | europe-west3 |
● | ● | ● | ● | ● | ● | ● | |
伦敦 | europe-west2 |
● | ● | ● | ● | ● | ● | ● | |
马德里 | europe-southwest1 |
● | ● | ||||||
米兰 | europe-west8 |
● | ● | ||||||
荷兰 | europe-west4 |
● | ● | ● | ● | ● | ● | ● | |
巴黎 | europe-west9 |
● | ● | ||||||
华沙 | europe-central2 |
● | ● | ||||||
苏黎世 | europe-west6 |
● | ● | ● | ● | ● | ● | ● | |
亚太地区 | |||||||||
德里 | asia-south2 |
● | ● | ||||||
香港 | asia-east2 |
● | ● | ● | ● | ● | ● | ● | |
雅加达 | asia-southeast2 |
● | ● | ● | |||||
墨尔本 | australia-southeast2 |
● | ● | ||||||
孟买 | asia-south1 |
● | ● | ● | ● | ● | |||
大阪 | asia-northeast2 |
● | ● | ● | |||||
首尔 | asia-northeast3 |
● | ● | ● | ● | ● | ● | ● | |
新加坡 | asia-southeast1 |
● | ● | ● | ● | ● | ● | ● | |
悉尼 | australia-southeast1 |
● | ● | ● | ● | ● | ● | ● | |
台湾 | asia-east1 |
● | ● | ● | ● | ● | ● | ● | |
东京 | asia-northeast1 |
● | ● | ● | ● | ● | ● | ● | |
中东 | |||||||||
以色列 | me-west1 |
● | ● |
多区域位置
区域说明 | 区域名称 | 导入的 模型 |
内置 模型 训练 |
DNN/Autoencoder/ 提升树/ Wide & Deep 模型训练 |
AutoML 模型 训练 |
超参数 调节 |
Vertex AI 集成 |
---|---|---|---|---|---|---|---|
欧盟成员国的数据中心1 | EU |
● | ● | ● | ● | ● | ● |
美国的数据中心 | US |
● | ● | ● | ● | ● | ● |
1 位于 EU
多区域的数据不会存储在 europe-west2
(伦敦)或 europe-west6
(苏黎世)数据中心中。
只有单区域集成支持 Vertex AI Model Registry 集成。如果您将多区域 BigQuery ML 模型发送到 Vertex AI Model Registry,则它会转换为 Vertex AI 中的区域模型。BigQuery ML 多区域美国模型同步到 Vertex AI us-central1
,BigQuery ML 多区域欧盟模型同步到 Vertex AI europe-west4
。对于单区域模型,没有任何变化。
指定位置
在加载数据、查询数据或导出数据时,BigQuery 会根据请求中引用的数据集确定运行作业的位置。例如,如果查询引用了存储在 asia-northeast1
区域的数据集中的表,则查询作业将在该区域运行。
如果查询未引用数据集中的任何表或其他资源,并且未提供目标表,则查询作业将在 US
多区域中运行。
如果项目在 US
以外的区域具有固定费率预留,并且查询未引用数据集中的任何表或其他资源,则您在提交作业时必须明确指定固定费率预留的位置。
固定费率承诺与位置相关联,例如 US
或 EU
。如果您在固定费率容量的位置之外运行作业,则该作业的价格会自动切换为按需价格。
您可以通过以下方式明确指定作业的运行位置:
- 在 Google Cloud 控制台中使用查询编辑器查询数据时,点击 更多 > 查询设置,展开高级选项,然后选择您的数据位置。
- 使用
bq
命令行工具时,请提供--location
全局标志并将值设为您的位置。 - 使用 API 时,在作业资源的
jobReference
部分的location
属性中指定区域。
如果指定的位置与请求中的数据集位置不匹配,BigQuery 将返回错误。 请求中涉及的每个数据集的位置(包括从其中读取数据和向其中写入数据的位置)都必须与推断或指定的作业的位置一致。
单区域位置与多区域位置不一致,即使单区域位置包含在多区域位置中也是如此。因此,如果位置同时包含单区域位置和多区域位置,则查询或作业将失败。例如,在作业的位置设置为 US
的情况下,如果作业引用了 us-central1
中的数据集,则该作业将失败。同样,如果作业引用了 US
中的一个数据集和 us-central1
中的另一个数据集,则该作业也将失败。 对于在单区域和多区域中均具有表的 JOIN
语句也是如此。
位置、预留和作业
容量承诺是区域性资源。购买槽时,这些槽仅限于特定区域或多区域。如果您的唯一容量承诺位于 EU
中,则您无法在 US
中创建预留。创建预留时,您需要指定位置(区域)和槽数。这些槽是从您所在区域的容量承诺中提取的。
同样,当您在某个区域中运行作业时,仅当作业的位置与预留的位置匹配时,它才会使用预留。例如,如果为 EU
中的项目分配预留,并对位于 US
的数据集中的项目运行查询,则不会对您的 EU
预留运行该查询。在没有任何 US
预留的情况下,作业将按需运行。
位置注意事项
在选择数据的位置时,请考虑以下事项:
Cloud Storage
您可以通过以下方式使用 BigQuery 与 Cloud Storage 数据交互:
- 使用 BigLake 或非 BigLake 外部表查询 Cloud Storage 数据
- 将 Cloud Storage 数据加载到 BigQuery 中
- 将数据从 BigQuery 导出到 Cloud Storage
查询 Cloud Storage 数据
使用 BigLake 或非 BigLake 外部表查询 Cloud Storage 中的数据时,您查询的数据必须与您的 BigQuery 数据集位于同一位置。例如:
单区域存储桶:如果您的 BigQuery 数据集位于华沙 (
europe-central2
) 区域,则相应的 Cloud Storage 存储桶也必须位于华沙区域,因为目前没有包含华沙的 Cloud Storage 双区域。如果您的 BigQuery 数据集位于某个多区域,则不支持使用单区域 Cloud Storage 存储桶,即使该存储桶位于数据集的多区域中也是如此。例如,如果外部表位于
EU
多区域,并且 Cloud Storage 存储桶位于europe-central2
,则作业将失败。双区域存储桶:如果您的 BigQuery 数据集位于东京 (
asia-northeast1
) 区域,则相应的 Cloud Storage 存储桶必须位于东京区域、包含东京的双区域(如ASIA1
双区域)或包含东京的自定义双区域。如需了解详情,请参阅创建双区域存储桶。多区域存储桶:由于外部查询性能取决于最短延迟时间和最佳网络带宽,因此不建议将包含多区域 Cloud Storage 存储桶的多区域数据集位置用于外部表。
如果您的 BigQuery 数据集位于
US
多区域,相应的 Cloud Storage 存储桶必须位于US
多区域、包含爱荷华州 (us-central1
) 的双区域(例如NAM4
双区域)或包含爱荷华州 (us-central1
) 的自定义双区域。如果您的 BigQuery 数据集位于
EU
多区域,相应的 Cloud Storage 存储桶必须位于EU
多区域、包含比利时 (europe-west1
) 的双区域(例如EUR4
双区域)或包含比利时的自定义双区域。
如需详细了解受支持的 Cloud Storage 位置,请参阅 Cloud Storage 文档中的存储桶位置。
从 Cloud Storage 加载数据
共置 Cloud Storage 存储桶,以便于加载数据:- 如果您的 BigQuery 数据集位于
EU
多区域,则包含您所加载的数据的 Cloud Storage 存储桶必须位于同一多区域或该多区域内的位置。例如,如果您的 BigQuery 数据集位于EU
多区域,则 Cloud Storage 存储桶可以位于欧盟内的europe-west1
比利时区域。如果您的数据集位于
US
多区域,则您可以从任何位置的 Cloud Storage 存储桶加载数据。 - 如果您的数据集位于某个区域,则 Cloud Storage 存储桶必须位于同一区域。例如,如果您的数据集位于
asia-northeast1
东京区域,则您的 Cloud Storage 存储桶不能位于ASIA
多区域。
如需了解详情,请参阅批量加载数据。
将数据导出到 Cloud Storage
共置 Cloud Storage 存储桶,以导出数据:- 如果您的 BigQuery 数据集位于
EU
多区域,则包含您所导出的数据的 Cloud Storage 存储桶必须位于同一多区域或该多区域内的位置。例如,如果您的 BigQuery 数据集位于EU
多区域,则 Cloud Storage 存储桶可以位于欧盟内的europe-west1
比利时区域。如果您的数据集位于
US
多区域,则您可以将数据导出到任何位置的 Cloud Storage 存储桶。 - 如果您的数据集位于某个区域,则 Cloud Storage 存储桶必须位于同一区域。例如,如果您的数据集位于
asia-northeast1
东京区域,则您的 Cloud Storage 存储桶不能位于ASIA
多区域。
如需了解详情,请参阅导出表数据。
Cloud Bigtable
通过 BigQuery 外部表查询 Bigtable 中的数据时,您的 Bigtable 实例必须与 BigQuery 数据集位于同一位置。
- 单区域:如果您的 BigQuery 数据集位于比利时 (
europe-west1
) 区域位置,则相应的 Bigtable 实例必须也位于比利时区域。 - 多区域:因为外部查询性能取决于最小延迟时间和最佳网络带宽,所以不建议对 Bigtable 上的外部表使用多区域数据集位置。
如需详细了解支持的 Bigtable 位置,请参阅 Bigtable 位置。
Google 云端硬盘
位置注意事项不适用于 Google 云端硬盘外部数据源。
Cloud SQL
通过 BigQuery 联合查询查询 Cloud SQL 中的数据时,您的 Cloud SQL 实例必须与 BigQuery 数据集位于相同位置。
- 单区域:如果您的 BigQuery 数据集位于比利时 (
europe-west1
) 区域位置,则相应的 Cloud SQL 实例必须也位于比利时区域。 - 多区域:如果您的 BigQuery 数据集位于
US
多区域,则相应的 Cloud SQL 实例必须位于美国地理区域的单个区域中。
如需详细了解受支持的 Cloud SQL 位置,请参阅 Cloud SQL 位置。
Cloud Spanner
通过 BigQuery 联合查询查询 Spanner 中的数据时,您的 Cloud Spanner 实例必须与 BigQuery 数据集位于同一位置。
- 单区域:如果您的 BigQuery 数据集位于比利时 (
europe-west1
) 区域位置,则相应的 Spanner 实例必须也位于比利时区域。 - 多区域:如果您的 BigQuery 数据集位于
US
多区域,则相应的 Spanner 实例必须位于美国地理区域的单个区域中。
如需详细了解支持的 Spanner 位置,请参阅 Spanner 位置。
分析工具
使用分析工具共置 BigQuery 数据集:- Dataproc:使用 BigQuery 连接器查询 BigQuery 数据集时,您的 BigQuery 数据集应与 Dataproc 集群位于同一位置。 所有 Compute Engine 位置都支持 Dataproc。
- Vertex AI Workbench:在 Vertex AI Workbench 中使用 Jupyter 笔记本查询 BigQuery 数据集时,您的 BigQuery 数据集应与 Vertex AI 笔记本实例位于同一位置。 查看支持的 Vertex AI Workbench 位置。
数据管理计划
制定数据管理计划:- 如果您选择区域存储资源(如 BigQuery 数据集或 Cloud Storage 存储分区),请制定按地理位置管理数据的计划。
限制位置
您可以使用组织政策服务来限制可以创建数据集的位置。如需了解详情,请参阅限制资源位置和支持资源位置的服务。
数据集安全性
如需控制对 BigQuery 中数据集的访问权限,请参阅控制对数据集的访问权限。 如需了解数据加密,请参阅静态加密。
后续步骤
- 了解如何创建数据集。
- 了解如何将数据加载到 BigQuery 中。
- 了解 BigQuery 价格。
- 查看可在全球位置使用的所有 Google Cloud 服务。
- 探索适用于其他 Google Cloud 服务的更多位置概念(如地区)。