教程步骤 1:在 Amazon Keyspaces 中创建键空间和表 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程步骤 1:在 Amazon Keyspaces 中创建键空间和表

在本部分中,您将使用控制台创建键空间,并向其中添加表。

注意

开始之前,请确保您已具备所有教程先决条件

创建键空间

键空间 对与一个或多个应用程序相关的表进行分组。键空间包含一个或多个表,并为其包含的所有表定义复制策略。有关键空间的更多信息,请参阅以下主题:

创建键空间时,必须指定键空间名称。

注意

键空间的复制策略必须为 SingleRegionStrategySingleRegionStrategy 会在其 Amazon Web Services 区域中跨三个可用区复制数据。

使用控制台创建键空间
  1. 登录并打开 Amazon Keyspaces 控制台,网址为 https://console.aws.amazon.com/keyspaces/home。 Amazon Web Services Management Console

  2. 在导航窗格中,选择 Keyspaces (键空间)

  3. 选择 Create keyspace (创建键空间)

  4. Keyspace name (键空间名称) 框中,输入 myGSGKeyspace 作为键空间的名称。

    名称约束:
    • 不能为空。

    • 允许的字符:字母数字字符和下划线 (_)。

    • 最大长度为 48 个字符。

  5. 要创建键空间,请选择 Create keyspace (创建键空间)

  6. 通过执行以下操作,验证键空间 myGSGKeyspace 是否已创建:

    1. 在导航窗格中,选择 Keyspaces (键空间)

    2. 在键空间列表中,查找键空间 myGSGKeyspace

以下过程使用 CQL 创建键空间。

使用 CQL 创建键空间
  1. 打开命令 shell,输入以下内容:

    cqlsh

  2. 使用以下 CQL 命令创建键空间。

    CREATE KEYSPACE IF NOT EXISTS "myGSGKeyspace" WITH REPLICATION = {'class': 'SingleRegionStrategy'};

    SingleRegionStrategy使用复制系数为三,并在其所在区域的三个 Amazon 可用区之间复制数据。

    注意

    Amazon Keyspaces 默认所有输入为小写,除非括在引号中。在此情况下,请标注 "myGSGKeyspace"

  3. 验证键空间是否已创建。

    SELECT * from system_schema.keyspaces ;

    应当列出您的键空间。

创建表

表是组织和存储数据的位置。表的主键决定如何在表中对数据进行分区。主键由一个必需的分区键和一个或多个可选的聚类列组成。组成主键的组合值在表的所有数据中必须是唯一的。有关表的更多信息,请参阅以下主题:

创建表时,应指定以下内容:

  • 表的名称。

  • 表中每一列的名称和数据类型。

  • 表的主键。

    • 分区键 – 必需

    • 聚类列 – 可选

可使用以下过程创建具有指定列、数据类型、分区键和聚类列的表。

以下过程创建包含如下列和数据类型的表 employees_tbl

ID text name text region text division text project text role text pay_scale int vacation_hrs float manager_id text
使用控制台创建表
  1. 登录并打开 Amazon Keyspaces 控制台,网址为 https://console.aws.amazon.com/keyspaces/home。 Amazon Web Services Management Console

  2. 在导航窗格中,选择 Keyspaces (键空间)

  3. 选择 myGSGKeyspace 作为要在其中创建此表的键空间。

  4. 选择创建表

  5. Table name (表名称) 框中,输入 employees_tbl 作为表的名称。

    名称约束:
    • 不能为空。

    • 允许的字符:字母数字字符和下划线 (_)。

    • 最大长度为 48 个字符。

  6. Columns (列) 部分中,为要添加到此表的每一列重复以下步骤。

    添加以下列和数据类型。

    id text name text region text division text project text role text pay_scale int vacation_hrs float manager_id text
    1. 名称 – 输入列的名称。

      名称约束:
      • 不能为空。

      • 允许的字符:字母数字字符和下划线 (_)。

      • 最大长度为 48 个字符。

    2. 类型 – 在数据类型列表中,为此列选择数据类型。

    3. 如果要添加另一列,请选择 Add column (添加列)

  7. 分区键下,选择id作为分区键。每个表都需要一个分区键。分区键可以由一列或多列构成。

  8. 添加 division 作为聚类列。聚类列是可选的,决定着每个分区内的排序顺序。

    1. 要添加聚类列,请选择 Add clustering column (添加聚类列)

    2. Column (列) 列表中,选择 division (分类)。在 Order (顺序) 列表中,选择 ASC (升序) 按照升序对此列中的值进行排序。(选择 DESC (降序) 可按降序排列。)

  9. 表设置部分中,选择默认设置

  10. 选择创建表

  11. 验证表是否已创建。

    1. 在导航窗格中,选择

    2. 确认您的表位于表列表中。

    3. 选择表的名称。

    4. 确认所有列和数据类型都正确无误。

      注意

      列的顺序可能与添加到表中的顺序不同。

    5. 在聚类列中,确认 division (分类) 标识为 true。其他所有表列应当为 false

以下过程使用 CQL 创建包含如下列和数据类型的表。id 列将作为分区键。

id text name text region text division text project text role text pay_scale int vacation_hrs float manager_id text
使用 CQL 创建表
  1. 打开命令 shell,输入以下内容:

    cqlsh

  2. cqlsh 提示符 (cqlsh>) 处,指定要在其中创建表的键空间。

    USE "myGSGKeyspace" ;
  3. 在键空间提示符 (cqlsh:keyspace_name>) 处,通过在命令窗口中输入以下代码来创建表。

    CREATE TABLE IF NOT EXISTS "myGSGKeyspace".employees_tbl ( id text, name text, region text, division text, project text, role text, pay_scale int, vacation_hrs float, manager_id text, PRIMARY KEY (id,division)) WITH CLUSTERING ORDER BY (division ASC) ;
    注意

    ASC 是默认的聚类顺序。也可以指定 DESC 按降序排列。

    请注意,id 列将作为分区键。然后,division 是按升序 (ASC) 排列的聚类列。

  4. 验证表是否已创建。

    SELECT * from system_schema.tables WHERE keyspace_name='myGSGKeyspace' ;

    应当列出您的表。

  5. 验证表的结构。

    SELECT * FROM system_schema.columns WHERE keyspace_name = 'myGSGKeyspace' AND table_name = 'employees_tbl' ;

    确认所有列和数据类型均符合预期。列的顺序可能与 CREATE 语句中的顺序不同。

要对表中的数据执行 CRUD(创建、读取、更新和删除)操作,请继续执行教程步骤 2:创建、读取、更新和删除数据 (CRUD)