全部产品
Search
文档中心

表格存储:通过控制台使用宽表模型

更新时间:Sep 10, 2024

表格存储提供了控制台、命令行工具(Tablestore CLI)和Tablestore SDK三种访问方式。通过控制台使用宽表模型(WideColumn)时,您需要开通表格存储服务,然后使用控制台进行创建实例、创建数据表、读写表中数据以及使用SQL查询数据的操作。

前提条件

已获取用于操作表格存储的阿里云账号或者RAM用户的登录信息。

如果未注册阿里云账号,您需要在阿里云官网注册阿里云账号

如果要使用RAM用户体验表格存储功能,您需要使用阿里云账号创建RAM用户并授予RAM用户访问表格存储的权限。具体操作,请参见通过RAM Policy为RAM用户授权

步骤一:开通表格存储服务

如果已经开通表格存储服务,请跳过此操作。服务仅需开通一次,开通过程免费。

  1. 登录表格存储产品详情页

  2. 单击免费开通

  3. Table Store (Pay-As-You-Go)页面,单击立即购买

  4. 确认订单页面,选中我已阅读并同意《Tablestore (Pay-As-You-Go)服务协议》,然后单击立即开通

    开通服务后,单击管理控制台,进入表格存储控制台界面。

    您也可以单击阿里云官网首页右上方的控制台,进入阿里云管理控制台首页,单击fig_tablestore_control_001图标,在导航栏中选择产品与服务 > 存储 > 基础存储服务 > 表格存储TableStore,进入表格存储控制台界面。

步骤二:创建实例

实例是表格存储资源管理的基础单元,表格存储对应用程序的访问控制和资源计量均在实例级别完成。创建实例后,您可以在实例中创建和管理表。

  1. 登录表格存储控制台

  2. 在页面上方,选择资源组和地域。

    选择地域后,控制台上会提示该地域支持的实例规格。

  3. 单击创建实例

  4. 购买方式对话框的按量模式页签,输入实例名称,选择实例规格,根据业务需求填写实例注释

    说明
    • 关于实例命名规则以及如何选择实例规格,请参见实例

    • 如果您有大量Tablestore实例,可以通过绑定标签的方式,对实例进行分类管理。更多信息,请参见标签概述

  5. 如果要修改允许访问实例的网络类型或者允许来源,请打开高级选项开关并配置相应参数。

    参数

    说明

    允许网络

    允许使用何种网络类型访问表格存储资源,支持一次选择多种网络类型。取值范围如下:

    • VPC:是否支持通过VPC访问。默认选中VPC,表示支持通过VPC访问。

      如果不需要通过VPC访问,请取消选中VPC

    • 公网:是否支持通过互联网访问。默认选中公网,表示支持通过互联网访问。

      如果不需要通过互联网访问,请取消选中公网

    • 经典网:是否支持通过经典网访问。默认选中经典网,表示支持通过经典网访问。

      如果不需要通过经典网访问,请取消选中经典网

    允许来源

    是否允许使用控制台访问表格存储资源。默认选中可信网关(控制台),表示支持使用控制台访问。

    如果不需要使用控制台访问,请取消选中可信网关(控制台)

  6. 单击确定

步骤三:创建数据表

创建数据表后,您可以在数据表中读写数据。创建数据表时,您可以根据业务需求同时创建二级索引用于读取数据。

  1. 概览页面,单击实例名称或在操作列单击实例管理

  2. 实例详情页签,单击创建数据表

    说明

    单个实例最多可以创建64张数据表。

  3. 创建数据表对话框,按照下表说明配置相关参数。

    参数

    描述

    数据表名称

    数据表名称,用于在实例中唯一标识一张数据表。

    数据表的命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节之间。

    表主键

    表中的一列或多列,用于唯一标识表中的一条记录。

    输入表主键名称并选择数据类型,单击添加表主键,可加入新的主键。

    单表最多可设置4个主键,第一个主键默认为分区键。主键的配置及顺序设置后不能修改。

    重要
    • 表格存储支持将主键列设置为自增列,每张表只能设置一个主键列为自增列,且分区键不能设置为自增列。

    • 主键列设置为自增列后,在写入一行数据时,该主键列无需填值,表格存储会自动生成该主键列的值。自动生成的主键列的值在分区键内严格递增且唯一。

    • 表主键名称的命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节之间。

    • 主键的数据类型可选为字符串整型二进制

    是否允许更新

    是否允许通过UpdateRow更新写入数据。默认值为,表示允许通过UpdateRow更新写入数据。

    当要使用多元索引生命周期功能时,您必须设置此参数为,即不允许通过UpdateRow更新写入数据。关于多元索引生命周期的更多信息,请参见生命周期管理

    是否加密

    是否开启数据落盘加密。系统默认未开启数据落盘加密功能。打开是否加密开关,即可开启数据落盘加密功能。

    重要

    数据落盘加密功能开启后不支持关闭,请谨慎操作。

    加密类型

    数据的加密类型。只有打开是否加密开关时,需要配置该选项。取值范围如下:

    • kms服务主密钥表格存储会自动创建KMS服务主密钥用于数据落盘加解密。

    • BYOK自定义密钥表格存储会基于您自定义的密钥进行数据落盘加解密。

      重要

      使用BYOK自定义密钥的加密类型前,您需要通过KMS控制台创建软件密钥,然后创建自定义角色并配置权限。具体操作,请参见数据加密

    密钥ID

    密钥的ID。只有当加密类型选择BYOK自定义密钥时,需要配置该选项。

    ARN

    角色ARN。只有当加密类型选择BYOK自定义密钥时,需要配置该选项。

  4. (可选)在创建数据表对话框,进行高级配置或者创建二级索引。

    当需要对数据表设置数据生命周期等高级配置或者创建二级索引时,请执行此步骤。

    配置高级参数

    如果需要管理表中数据的保存时长,您可以指定数据生命周期;如果需要相同主键的多个版本数据,您可以指定最大版本数。更多信息,请参见数据版本和生命周期

    对于按量模式下的高性能实例,如果要通过预留吞吐量节省成本,您可以指定数据表的预留读吞吐量或写吞吐量。更多信息,请参见预留读/写吞吐量

    1. 打开高级设置开关。

    2. 根据下表说明配置高级参数。

      参数

      描述

      数据生命周期

      数据表中数据的保存时间。当数据的保存时间超过设置的数据生命周期时,系统会自动清理超过数据生命周期的数据。单位为秒。

      取值:大于等于86400秒(一天)或-1(数据永不过期)。

      最大版本数

      数据表中的属性列能够保留数据的最大版本个数。当属性列数据的版本个数超过设置的最大版本数时,系统会自动删除较早版本的数据。

      取值必须为非0整数。

      数据有效版本偏差

      指定的数据版本号与系统当前时间偏差的允许最大值,单位为秒。有效版本偏差为正整数,可以大于1970-01-01 00:00:00 UTC时间到当前时间的秒数。

      只有当写入数据所有列的版本号与写入时时间的差值在数据有效版本偏差范围内,数据才能成功写入。

      属性列的有效版本范围为[max{数据写入时间-有效版本偏差,数据写入时间-数据生命周期},数据写入时间+有效版本偏差)

      预留读吞吐量

      容量型实例不支持该参数。

      为数据表预留读吞吐量或写吞吐量。取值范围为0~100000,且取值必须为整数。单位为CU。

      • 预留读吞吐量预留写吞吐量大于0时,表格存储会根据配置为数据表分配和预留相应资源,且数据表创建成功后,将会立即按照预留吞吐量开始计费。

      • 预留读吞吐量预留写吞吐量为0时,表格存储不会为数据表分配和预留相应资源。

      预留写吞吐量

    配置二级索引

    当某些应用需要使用不同属性作为查询条件来执行数据查询时,您可以通过将这些属性作为二级索引的主键列实现按照属性快速查询数据的需求。更多信息,请参见二级索引介绍

    1. 打开创建二级索引开关。

    2. 单击添加预定义列,输入预定义列名称和选择数据类型。

      预定义列名称命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节。

      预定义列的数据类型可选为字符串整型二进制浮点数布尔值

    3. 单击添加二级索引,输入索引名称,选择索引主键,根据需要选择索引预定义列及索引类型。

      重要

      索引名不能与数据表名称相同,索引名和数据表名称均必须在实例中唯一。

      索引名称必须由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节之间。

      • 索引主键可以是数据表主键和预定义列,支持多选;索引预定义列只能从数据表的预定义列中选择,支持多选。但是选择的索引预定义列不能与主键列重复。

      • 索引类型支持选择为全局或者本地

        重要

        全局二级索引的第一列主键可根据需要选择任意主键列或者预定义列,本地二级索引的第一列主键必须和数据表的第一列主键相同。

        全局二级索引以异步方式将数据表中被索引的列和主键列的数据自动同步到索引表中,正常情况下同步延迟达到毫秒级别;本地二级索引以同步方式将数据表中被索引的列和主键列的数据自动同步到索引表中,当数据写入数据表后,即可从索引表中查询到数据。

  5. 单击确定

    数据表创建完成后,在数据表列表区域,您可以查看已创建的数据表。如果新建的表未显示在列表中,可单击fig_tablestore_002图标,刷新数据表列表。

步骤四:读写数据

在数据表中写入、更新、读取或者删除数据。

  1. 实例详情页签的数据表列表区域,单击数据表名称后选择数据管理页签或在操作列单击查询/搜索

  2. 根据需求进行数据读写。

    插入一行数据

    1. 数据管理页签,单击插入数据

    2. 插入数据对话框,输入主键的值,单击image图标,设置属性列名称属性列类型属性值数据版本号

      系统默认已选中使用系统时间复选框,采用当前系统时间作为数据版本号。您也可以清除使用系统时间复选框输入数据版本号。

    3. 单击确定

    更新一行数据

    1. 数据管理页签,选中需要更新的数据行,单击更新数据

    2. 更新数据对话框,增加或删除属性列,更新或删除属性列的数据。

      • 单击image图标,增加属性列;单击fig_tablestore_005图标,删除属性列。

      • 选择更新操作为更新,修改属性列的数据;选择更新操作为删除,选择需要删除的数据版本号,删除对应数据版本号的数据;选择更新操作为删除全部,删除全部数据版本号的数据。

    3. 单击确定

    读取数据

    通过控制台您可以读取单行数据或者范围读取数据,请根据实际选择。

    读取单行数据

    1. 数据管理页签,单击查询数据

    2. 查询数据对话框,选择查询范围单行查询,并选择要查询的表或者二级索引。

    3. 系统默认返回所有列。如需返回指定属性列,关闭获取所有列开关并输入需要返回的属性列,多个属性列之间用半角逗号(,)隔开。

    4. 输入目标行的主键

      主键值的完整性和准确性均会影响查询。

    5. 输入最大版本数,指定需要返回的版本数。

    6. 单击确定

    范围读取数据

    1. 数据管理页签,单击查询数据

    2. 查询数据对话框,选择查询范围范围查询,并选择要查询的表或者二级索引。

    3. 系统默认返回所有列。如需返回指定属性列,关闭获取所有列开关并输入需要返回的属性列,多个属性列之间用半角逗号(,)隔开。

    4. 输入起始主键列和结束主键列。

    5. 重要
      • 范围查询优先使用第一个主键值进行查询,当设置的第一个主键值一致时,系统会使用第二个主键值进行查询,其他主键的查询规则同上。

      • 读取范围是前开后闭的区间。

    6. 输入最大版本数,指定需要返回的版本数。

    7. 设置查询结果的排序方向,可选正序查询逆序查询

    8. 单击确定

    删除数据

    重要

    删除表数据,将导致数据不可恢复,请谨慎操作。

    1. 数据管理页签,选中需要删除的数据行,单击批量删除

    2. 批量删除对话框,单击确定

步骤五:使用SQL查询数据

SQL查询兼容MySQL的查询语法,同时提供基础的SQL DDL建表能力。对于已有数据表,通过执行CREATE TABLE一键自动建立映射关系后,您可以使用SQL方式访问表中数据。更多信息,请参见SQL查询

  1. 概览页面,单击实例名称或在操作列单击实例管理

  2. SQL查询页签,创建映射关系。

    1. 单击fig_createtablevitural图标。

      说明

      当不存在映射表时,单击SQL查询页签,系统会自动弹出创建映射表对话框。

      image.png

    2. 创建映射表对话框中,根据下表说明配置参数。

      参数

      描述

      表类型

      表类型。取值范围如下:

      • 普通表(默认):在为数据表创建映射关系时,选择此项。

      • 时序表:在为时序表创建映射关系时,选择此项。

      表名

      表名称。

      映射模式

      创建映射关系的模式。只有当表类型选择为普通表时才能配置。取值范围如下:

      • 表映射(默认):为已存在的数据表创建映射关系。

      • 多元索引映射:为已存在的多元索引创建映射关系。

      高级选项

      用于配置映射表的一致性模式和是否使用不准确的聚合。打开高级选项开关,即可进行配置。只有当映射模式选择为表映射时才能进行配置。

      一致性模式

      执行引擎支持的一致性模式。只有打开了高级选项开关后才能配置。取值范围如下:

      • 最终一致(默认):执行的查询结果满足最终一致。此时新数据写入后会在几秒后影响到查询结果。

      • 强一致性:执行的查询结果满足强一致性。此时新数据写入后立刻影响到查询结果。

      不准确的聚合

      是否允许通过牺牲聚合操作的精准度提升查询性能。只有打开了高级选项开关后才能配置。取值范围如下:

      • (默认):允许通过牺牲聚合操作的精度来提升查询性能。

      • :不允许通过牺牲聚合操作的精度提升查询性能

      多元索引表

      映射表绑定的多元索引名称。只有当映射模式选择为多元索引映射时才能配置。

      映射表表名

      映射表名称。

      • 如果表类型选择为普通表,当映射模式选择为表映射时,映射表表名与数据表名称相同,不能更改;当映射模式选择为多元索引映射时,需要填写映射表名称。

      • 如果表类型选择为时序表,请根据实际填写映射表名称。时序表映射关系创建成功后,系统会自动在映射表名前添加时序表名称::前缀。

    3. 单击生成SQL

      系统会自动生成创建映射表的SQL语句。SQL示例如下:

      CREATE TABLE `exampletable` (
          `id` BIGINT(20),
          `colvalue` MEDIUMTEXT,
          `content` MEDIUMTEXT,
          PRIMARY KEY(`id`)
      );
      重要

      请确保映射关系中字段数据类型和数据表中字段数据类型相匹配。关于数据类型映射的更多信息,请参见SQL数据类型映射

    4. 根据实际需要修改映射表的Schema后,按住鼠标左键拖动选中一条SQL语句并单击执行SQL(F8)

      执行成功后,在执行结果区域会显示执行结果。

      重要
      • 创建映射表时设置的Schema中需要包括后续查询数据所需的列。

      • 执行SQL语句时,请选中一条所需SQL语句,否则系统默认执行第一条SQL语句。

      • 执行SQL语句时,一次只能选中一条SQL语句,否则系统会报错。

      image

  3. 执行SELECT语句查询所需数据。更多信息,请参见查询数据

常见问题

相关文档