Cloud Spanner:您的第一个数据库

Cloud Spanner:您的第一个数据库

关于此 Codelab

subject上次更新时间:5月 6, 2025
account_circleJaana Dogan 编写

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

50983ac3fdbbf8d0.png

ea581205026ca8e3.png

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

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

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

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

3. 在 Cloud 控制台中打开 Spanner

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

向下滚动,然后选择“Spanner”:

46fe7785700d335.png

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

点击“启用”以继续:

323474ade0d07c48.png

4. 可创建实例

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

1126607e9b3a95f7.png

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

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

f5f41323226be8b7.png

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

be5e99711a47047f.png

今后,您可以增加节点数量,为实例分配更多资源;如果实例不需要额外资源,也可以减少节点数量。

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

97cf7427660e36bd.png

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

13ac2d48ea60370b.png

5. 创建数据库

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

71761f0803038a5.png

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

d7ca47df879931c2.png

在此步骤中,我们将跳过提供架构,然后点击“创建”以创建一个空数据库。

e398ab29aad3d601.png

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

4164af0df20ca180.png

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

成功克隆代码库后,进入新目录,创建虚拟环境并安装所需的依赖项:

$ 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.png

7. 清理

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

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

2a226b985f43074f.png

点击“删除”按钮以删除实例:

27ee8f9656364f98.png

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

537e18cf2dd7a668.png

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

8. 恭喜!

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

所学内容

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

了解详情