本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 1 教程:在亚马逊密钥空间中创建 Keyspaces 间和表
在本节中,您将使用控制台创建键空间,并向其中添加表。
开始之前,请确保您拥有所有教程的前提.
创建键空间
键空间 对与一个或多个应用程序相关的表进行分组。键空间包含一个或多个表,并为其包含的所有表定义复制策略。有关键空间的更多信息,请参阅以下主题:
-
使用密钥空间:在亚马逊 Keyspaces 中创建键空间
数据定义语言 (DDL) 语句:Keyspaces
创建键空间时,必须指定键空间名称。
密钥空间的复制策略必须是SingleRegionStrategy.SingleRegionStrategy跨其中的三个可用区复制数据Amazon Web Services 区域.
使用控制台创建键空间
-
登录到Amazon Web Services Management Console,然后打开亚马逊 Keyspaces 控制台https://console.aws.amazon.com/keyspaces/home
. -
在导航窗格中,选择 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使用复制因子 3,跨三个复制因子复制数据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 Web Services Management Console,然后打开亚马逊 Keyspaces 控制台https://console.aws.amazon.com/keyspaces/home
. -
在导航窗格中,选择 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)。