关于此 Codelab
1. 概览
上次更新时间:2020 年 7 月 23 日
什么是 Cloud Spanner?
Google Cloud Spanner 是遍布全球且符合 ACID 标准的数据库,可自动进行副本、分片和事务处理,因此您可以快速扩容以满足任何使用模式的要求,确保产品获得成功。
主要功能
- 可灵活扩缩的关系型数据库:从架构、SQL 查询到 ACID 事务,关系型数据库应有的一切功能都具备,久经考验,且随时可以在全球范围内扩容。
- 可用性达 99.999%:Cloud Spanner 可为多区域实例提供业界领先的 99.999% 可用性(与 99.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 Console 中启用结算功能,才能使用 Google Cloud 资源。
在此 Codelab 中运行仅花费几美元,但是如果您决定使用更多资源或继续让它们运行,费用可能更高(请参阅本文档末尾的“清理”部分)。
Google Cloud 的新用户有资格获享$300 免费试用。
3. 在 Cloud 控制台中打开 Spanner
在 Google Cloud 控制台中,点击屏幕左上角的“菜单”图标,以显示左侧导航栏。
向下滚动,然后选择“Spanner”:
您现在应该会看到 Cloud Spanner 界面,假设您使用的项目尚未启用 Cloud Spanner API,则会看到一个提示您启用该 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
成功克隆代码库后,进入新目录,创建虚拟环境并安装所需的依赖项:
$ 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”,返回实例页面:
点击“删除”按钮以删除实例:
实例一经删除便无法恢复!该实例中的数据无法恢复。为防止意外删除错误的实例,您必须在确认对话框中输入实例名称,以确认删除操作:
输入实例名称,然后按“删除”。