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

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

步骤 1 教程:在亚马逊密钥空间中创建 Keyspaces 间和表

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

注意

开始之前,请确保您拥有所有教程的前提.

创建键空间

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

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

注意

密钥空间的复制策略必须是SingleRegionStrategy.SingleRegionStrategy跨其中的三个可用区复制数据Amazon Web Services 区域.

使用控制台创建键空间

  1. 登录到Amazon Web Services Management Console,然后打开亚马逊 Keyspaces 控制台https://console.aws.amazon.com/keyspaces/home.

  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使用复制因子 3,跨三个复制因子复制数据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 Web Services Management Console,然后打开亚马逊 Keyspaces 控制台https://console.aws.amazon.com/keyspaces/home.

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

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

  4. 选择 Create Table(创建表)。

  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. 选择 Create Table(创建表)。

  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)