Cloud Spanner:您的第一个数据库

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) 并创建一个新项目:

50983ac3fdbbf8d0.png

ea581205026ca8e3.png

请记住项目 ID,它在所有 Google Cloud 项目中都是唯一的名称(上述名称已被占用,您无法使用,抱歉!)。它稍后会在此 Codelab 中称为 PROJECT_ID

接下来,您需要在 Cloud 控制台中启用结算功能,才能使用 Google Cloud 资源。

运行此 Codelab 应该不会花费超过几美元,但如果您决定使用更多资源或让它们继续运行,费用可能更高(请参阅本文档末尾的“清理”部分)。

Google Cloud Platform 的新用户有资格获享$300 免费试用

3. 在 Cloud 控制台中打开 Cloud Spanner

Google Cloud 控制台中,点击屏幕左上角的“菜单”图标,转到左侧导航栏。

向下滚动并选择“Spanner”:

46fe7785700d335

您现在应该会看到 Cloud Spanner 界面,并且假设您使用的项目尚未启用 Cloud Spanner API,您将看到一个要求您启用 Cloud Spanner API 的对话框。如果您已经启用该 API,则可以跳过此步骤。

点击“启用”以继续:

323474ade0d07c48

4. 创建实例

首先,您将创建一个 Cloud Spanner 实例。在界面中,点击“创建实例”以创建新实例:

1126607e9b3a95f7

点击“创建实例”后,您将进入创建实例的页面。输入实例名称,然后选择配置。

您可以选择单区域设置或多区域设置。单区域设置的所有副本都将位于同一区域,多区域设置将在多个区域中创建只读副本。您可以点击“比较区域配置”来比较配置

f5f41323226be8b7.png

选择配置后,摘要将显示在右侧面板中:

be5e99711a47047f.png

将来,您可以增加节点数量,为实例提供更多资源;如果实例不需要额外的资源,也可以减少节点数量。

点击“创建”以创建实例。

97cf7427660e36bd

您的 Cloud Spanner 实例现已可供使用。

13ac2d48ea60370b

5. 创建数据库

要创建新数据库,请点击“创建数据库”:

71761f0803038a5

输入新数据库的名称。您也可以选择此时提供架构。

d7ca47df879931c2.png

在这一步,我们将跳过提供架构的步骤,点击“创建”创建一个空数据库

e398ab29aad3d601.png

点击“创建”后,系统会创建一个新的数据库:

4164af0df20ca180

6. 加载和查询示例数据

在此 Codelab 中,我们将使用 sampledb 加载和查询示例数据。Sampledb 包含各种数据集,并且可以将数据导入现有数据库。

我们将在 Google Cloud Shell 中运行该程序。如果这是您第一次在此项目中使用 Google Cloud Shell,您会在顶部导航栏上看到 Google Cloud Shell 徽标。按下 Cloud Shell 将其激活。

e23b881395174c00.png

激活后,您将在底部看到一个控制台:

b885c452da656556.png

在控制台中,克隆 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”两个新表格(评论和故事):

eb4adca281f8704a.png

示例数据集包含 Hacker News 中的报道和评论。您可以点击“查询”以开始查询和浏览数据:

“8b95a3b14709b285”

7. 清理

这是可选步骤。如果您想继续试用 Cloud Spanner 实例,目前无需对其进行清理。但是,系统会继续向您收取该实例的费用。如果您不再需要此实例,则应立即将其删除,以避免这些费用。

点击“my-first-instance”以返回实例页面左上角:

2a226b985f43074f

点击“删除”用于删除实例的按钮:

27ee8f9656364f98

实例一旦删除便无法恢复!无法恢复该实例中的数据。为了防止意外删除错误的实例,您必须在确认对话框中输入实例名称来确认删除:

537e18cf2dd7a668

输入您的实例名称,然后按“删除”。

8. 恭喜!

您已创建一个新的 Cloud Spanner 实例,创建了一个空数据库,加载了示例数据,并(可选)删除了该 Cloud Spanner 实例。

所学内容

  • 通过 Google Cloud 控制台创建 Cloud Spanner 实例。
  • 在 Cloud Spanner 实例中创建新数据库。
  • 使用 sampledb 加载和查询示例数据。
  • 删除 Cloud Spanner 实例。

了解详情