1. 概览
上次更新日期:2020 年 7 月 23 日
什么是 Cloud Spanner?
Google Cloud Spanner 是一个覆盖全球、符合 ACID 标准的数据库,可自动处理副本、分片和事务处理,可让您快速扩容以适应任何使用模式,并确保产品取得成功。
主要功能
- 可灵活扩缩的关系型数据库:架构、SQL 查询和 ACID 事务等关系型数据库应有的一切功能都具备,久经考验,且随时可以在全球范围内扩容。
- 可用性达 99.999%:Cloud Spanner 可为多区域实例提供业界领先的 99.999% 可用性,比 4 个九 (99%) 的停机时间少 10 倍,并能跨区域和多区域配置提供透明的同步复制。
- 自动分片:Cloud Spanner 根据请求负载和数据大小自动分片,从而优化性能。因此,您可以减少花在如何扩缩数据库上的时间,从而专注于业务扩缩。
学习内容
- 通过 Google Cloud 控制台创建 Cloud Spanner 实例。
- 在 Cloud Spanner 实例中创建新数据库。
- 使用 sampledb 加载和查询示例数据。
- 删除 Cloud Spanner 实例。
2. 设置和要求
自定进度的环境设置
如果您还没有 Google 账号(Gmail 或 Google Apps),则必须创建一个。登录 Google Cloud Platform 控制台 ( console.cloud.google.com) 并创建一个新项目:
请记住项目 ID,它在所有 Google Cloud 项目中都是唯一的名称(上述名称已被占用,您无法使用,抱歉!)。它稍后会在此 Codelab 中称为 PROJECT_ID。
接下来,您需要在 Cloud 控制台中启用结算功能,才能使用 Google Cloud 资源。
运行此 Codelab 应该不会花费超过几美元,但如果您决定使用更多资源或让它们继续运行,费用可能更高(请参阅本文档末尾的“清理”部分)。
Google Cloud Platform 的新用户有资格获享$300 免费试用。
3. 在 Cloud 控制台中打开 Cloud Spanner
在 Google Cloud 控制台中,点击屏幕左上角的“菜单”图标,转到左侧导航栏。
向下滚动并选择“Spanner”:
您现在应该会看到 Cloud Spanner 界面,并且假设您使用的项目尚未启用 Cloud Spanner API,您将看到一个要求您启用 Cloud Spanner API 的对话框。如果您已经启用该 API,则可以跳过此步骤。
点击“启用”以继续:
4. 创建实例
首先,您将创建一个 Cloud Spanner 实例。在界面中,点击“创建实例”以创建新实例:
点击“创建实例”后,您将进入创建实例的页面。输入实例名称,然后选择配置。
您可以选择单区域设置或多区域设置。单区域设置的所有副本都将位于同一区域,多区域设置将在多个区域中创建只读副本。您可以点击“比较区域配置”来比较配置
选择配置后,摘要将显示在右侧面板中:
将来,您可以增加节点数量,为实例提供更多资源;如果实例不需要额外的资源,也可以减少节点数量。
点击“创建”以创建实例。
您的 Cloud Spanner 实例现已可供使用。
5. 创建数据库
要创建新数据库,请点击“创建数据库”:
输入新数据库的名称。您也可以选择此时提供架构。
在这一步,我们将跳过提供架构的步骤,点击“创建”创建一个空数据库
点击“创建”后,系统会创建一个新的数据库:
6. 加载和查询示例数据
在此 Codelab 中,我们将使用 sampledb 加载和查询示例数据。Sampledb 包含各种数据集,并且可以将数据导入现有数据库。
我们将在 Google Cloud Shell 中运行该程序。如果这是您第一次在此项目中使用 Google Cloud Shell,您会在顶部导航栏上看到 Google Cloud Shell 徽标。按下 Cloud Shell 将其激活。
激活后,您将在底部看到一个控制台:
在控制台中,克隆 sampledb 代码库并按照说明安装依赖项:
$ git clone https://github.com/cloudspannerecosystem/sampledb.git Cloning into 'sampledb'... remote: Enumerating objects: 59, done. remote: Counting objects: 100% (59/59), done. remote: Compressing objects: 100% (42/42), done. remote: Total 59 (delta 23), reused 35 (delta 11), pack-reused 0 Unpacking objects: 100% (59/59), done. $ cd sampledb $ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
安装依赖项后,您可以运行 sampledb 以创建一个包含示例数据的新数据库:
$ python batch_import.py my-first-instance my-sample-db
成功后,您将能够看到“my-sample-db”两个新表格(评论和故事):
示例数据集包含 Hacker News 中的报道和评论。您可以点击“查询”以开始查询和浏览数据:
7. 清理
这是可选步骤。如果您想继续试用 Cloud Spanner 实例,目前无需对其进行清理。但是,系统会继续向您收取该实例的费用。如果您不再需要此实例,则应立即将其删除,以避免这些费用。
点击“my-first-instance”以返回实例页面左上角:
点击“删除”用于删除实例的按钮:
实例一旦删除便无法恢复!无法恢复该实例中的数据。为了防止意外删除错误的实例,您必须在确认对话框中输入实例名称来确认删除:
输入您的实例名称,然后按“删除”。
8. 恭喜!
您已创建一个新的 Cloud Spanner 实例,创建了一个空数据库,加载了示例数据,并(可选)删除了该 Cloud Spanner 实例。
所学内容
- 通过 Google Cloud 控制台创建 Cloud Spanner 实例。
- 在 Cloud Spanner 实例中创建新数据库。
- 使用 sampledb 加载和查询示例数据。
- 删除 Cloud Spanner 实例。