本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程步骤 1:在 Amazon 密钥空间中创建密钥空间和表
在本节中,您将创建一个密钥空间并使用控制台向其中添加一个表。
注意
在开始之前,请确保您已经配置了所有教程先决条件。
创建密钥空间
键空间 对与一个或多个应用程序相关的表进行分组。键空间包含一个或多个表,并为其包含的所有表定义复制策略。有关键空间的更多信息,请参阅以下主题:
-
使用密钥空间:在亚马逊密钥空间中创建密钥空间
数据定义语言 (DDL) 语句:Keyspaces
创建键空间时,必须指定键空间名称。
注意
密钥空间的复制策略必须是。SingleRegionStrategy
SingleRegionStrategy
在其Amazon Web Services 区域中的三个可用区中复制数据。
使用控制台创建键空间
-
登录并打开 Amazon Keyspaces 控制台,网址为 https://console.aws.amazon.com/keyspaces/home
。Amazon Web Services Management Console -
在导航窗格中,选择 Keyspaces (键空间)。
-
选择 Create keyspace (创建键空间)。
-
在 Keyspace name (键空间名称) 框中,输入
myGSGKeyspace
作为键空间的名称。名称约束:
-
不能为空。
-
允许的字符:字母数字字符和下划线 (
_
)。 -
最大长度为 48 个字符。
-
-
要创建键空间,请选择 Create keyspace (创建键空间)。
-
通过执行以下操作,验证键空间
myGSGKeyspace
是否已创建:-
在导航窗格中,选择 Keyspaces (键空间)。
-
在键空间列表中,查找键空间
myGSGKeyspace
。
-
以下过程使用 CQL 创建键空间。
使用 CQL 创建键空间
-
打开命令 shell,输入以下内容:
cqlsh
-
使用以下 CQL 命令创建键空间。
CREATE KEYSPACE IF NOT EXISTS
"myGSGKeyspace"
WITH REPLICATION = {'class': 'SingleRegionStrategy'};SingleRegionStrategy
使用三的复制因子,并在其所在区域的三个Amazon可用区之间复制数据。注意
Amazon Keyspaces 将所有输入默认为小写,除非您将其用引号括起来。在此情况下,请标注
"myGSGKeyspace"
。 -
验证键空间是否已创建。
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
使用控制台创建表
-
登录并打开 Amazon Keyspaces 控制台,网址为 https://console.aws.amazon.com/keyspaces/home
。Amazon Web Services Management Console -
在导航窗格中,选择 Keyspaces (键空间)。
-
选择
myGSGKeyspace
作为要在其中创建此表的键空间。 -
选择 Create Table(创建表)。
-
在 Table name (表名称) 框中,输入
employees_tbl
作为表的名称。名称约束:
-
不能为空。
-
允许的字符:字母数字字符和下划线 (
_
)。 -
最大长度为 48 个字符。
-
-
在 Columns (列) 部分中,为要添加到此表的每一列重复以下步骤。
添加以下列和数据类型。
id text name text region text division text project text role text pay_scale int vacation_hrs float manager_id text
-
名称-输入列的名称。
名称约束:
-
不能为空。
-
允许的字符:字母数字字符和下划线 (
_
)。 -
最大长度为 48 个字符。
-
-
类型-在数据类型列表中,选择此列的数据类型。
-
如果要添加另一列,请选择 Add column (添加列)。
-
-
在 “分区键” 下选择
id
作为分区键。每个表都需要一个分区键。分区键可以由一列或多列构成。 -
添加
division
作为聚类列。聚类列是可选的,决定着每个分区内的排序顺序。-
要添加聚类列,请选择 Add clustering column (添加聚类列)。
-
在 Column (列) 列表中,选择 division (分类)。在 Order (顺序) 列表中,选择 ASC (升序) 按照升序对此列中的值进行排序。(选择 DESC (降序) 可按降序排列。)
-
-
在表格设置部分中,选择默认设置。
-
选择 Create Table(创建表)。
-
验证表是否已创建。
-
在导航窗格中,选择表。
-
确认您的表位于表列表中。
-
选择表的名称。
-
确认所有列和数据类型都正确无误。
注意
列的顺序可能与添加到表中的顺序不同。
-
在聚类列中,确认 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 创建表
-
打开命令 shell,输入以下内容:
cqlsh
-
在
cqlsh
提示符 (cqlsh>
) 处,指定要在其中创建表的键空间。USE
"myGSGKeyspace"
; -
在键空间提示符 (
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
) 排列的聚类列。 -
验证表是否已创建。
SELECT * from system_schema.tables WHERE keyspace_name='myGSGKeyspace' ;
应当列出您的表。
-
验证表的结构。
SELECT * FROM system_schema.columns WHERE keyspace_name = 'myGSGKeyspace' AND table_name = 'employees_tbl' ;
确认所有列和数据类型均符合预期。列的顺序可能与
CREATE
语句中的顺序不同。
要对表中的数据执行 CRUD(创建、读取、更新和删除)操作,请继续执行教程步骤 2:创建、读取、更新和删除数据 (CRUD)。