全部产品
Search
文档中心

表格存储:接入到DMS

更新时间:Nov 15, 2024

表格存储Tablestore支持接入到DMS中进行管理和使用,您可以通过在DMS中添加表格存储实例,然后再在DMS中使用SQL语句查询Tablestore数据。通过SQL查询到符合条件的数据后,您还可以按需导出Tablestore数据到本地。

背景信息

数据管理DMS(Data Management)是一款支撑数据全生命周期的一站式数据管理平台。DMS提供全域数据资产管理、数据治理、数据库设计开发、数据集成、数据开发和数据消费等功能,致力于帮助企业高效、安全地挖掘数据价值,助力企业数字化转型。更多信息,请参见什么是数据管理DMS

使用场景

将表格存储接入到DMS ,可以在DMS中实现高效的数据处理和分析,支持多样化的大数据应用场景。典型使用场景如下:

  • 大规模数据存储与分析

    借助表格存储的高吞吐量和大容量特性,您可以在DMS中通过SQL方式直接查询和处理表格存储中的数据,进行大数据分析。例如日志分析、用户行为分析等。

  • 数据导入导出

    DMS支持数据的导入导出功能,可以将外部数据加载到表格存储或从表格存储中导出数据到其他系统中。

  • 数据流转与集成

    通过DMS可以方便地将其他数据源的数据流转到表格存储中或者将表格存储数据流转到数据仓库、消息队列或其他在线/离线分析系统中,支持数据湖、数据中台等复杂数据架构的构建,实现数据的高效整合和利用。

  • 实时数据监控与告警

    结合DMS的监控和通知功能,可以设置针对表格存储中关键指标的监控和告警规则,及时发现并响应数据异常或系统性能问题,保障业务连续性和稳定性。

准备工作

  • 在访问控制RAM服务侧完成如下操作:

    • 已创建RAM用户并为RAM用户授予管理表格存储权限(AliyunOTSFullAccess)。具体操作,请参见创建RAM用户为RAM用户授权

      警告

      阿里云账号AccessKey泄露会威胁您所有资源的安全。建议您使用RAM用户AccessKey进行操作,可以有效降低AccessKey泄露的风险。

    • 已为RAM用户创建AccessKey。具体操作,请参见创建AccessKey

  • 在表格存储服务侧已完成如下操作:

  • 在DMS服务侧完成如下操作:

    • 首次使用DMS服务时,请根据界面提示创建DMS服务关联角色AliyunServiceRoleForDMS。

      该服务角色用于允许DMS访问您的ECS、VPC、RDS以及各类数据库/工具相关的资源。更多信息,请参见DMS服务关联角色

      image

    • 已为用户配置具有SQL操作权限的系统角色。关于系统角色的更多信息,请参见系统角色

      说明
      • 当前租户的阿里云主账号下的子账号默认为普通用户。

      • 普通用户角色可申请相关数据库的权限并进行数据(表结构)的查询与变更,可以是企业的研发人员、测试人员、产品人员、运营人员、数据分析师等。

    • 推荐使用极简模式控制台进行功能操作。

注意事项

  • 此功能适用于表格存储的宽表模型时序模型

  • 当前支持在DMS的SQL窗口中对表格存储进行的SQL查询功能与表格存储自身支持的SQL查询功能一致。更多信息,请参见SQL支持功能说明

  • 目前DMS只支持通过经典网络访问表格存储实例,请确保在表格存储实例的Network ACL中已允许通过经典网络访问实例。更多信息,请参见Network ACL

操作步骤

将Tablestore接入到DMS后,使用SQL查询功能查询和分析Tablestore中数据。

步骤一:在DMS中添加Tablestore实例

表格存储实例添加到DMS中,具体步骤如下:

  1. 登录数据管理DMS 5.0

  2. 在控制台首页左侧的数据库实例区域,单击新增实例image图标。

    说明

    您也可以在控制台首页的搜索框中,输入实例管理,在搜索结果中单击实例管理进入对应页面,单击新增,进行新增实例操作。

  3. 新增实例对话框,新增Tablestore实例。

    1. 在数据来源模块的阿里云页签,单击NoSQL数据库区域中的Tablestore

    2. 基本信息模块,根据下表说明配置Tablestore实例基本信息。

      配置项

      说明

      数据库类型

      数据库实例的类型。此处选择为Tablestore

      实例地区

      数据库实例所在的地域。

      其他主账号

      如果要操作其他主账号中的实例,请单击跨阿里云账号实例,然后选择数据库实例所属的主账号。

      说明

      如果主账号不在选择列表中,您可以单击添加用户,添加数据库实例购买者的主账号。具体操作,请参见用户管理

      实例ID

      实例ID。

      安全托管

      是否给实例开启安全托管。取值范围如下:

      • 开启:开启安全托管后,可以避免用户直接接触数据库账号和密码;可实现实例、库、表和行等粒度的权限管控。更多信息,请参见安全托管

      • 不开启(不推荐):不开启托管需要频繁使用数据库账号和密码登录,可能会影响正常功能使用。

      AccessKey ID

      当为实例开启安全托管,且是首次录入实例时,需要输入RAM用户的AccessKey ID和AccessKey Secret。

      AccessKey Secret

      增值功能包

      按需选择安全协同稳定变更功能包。如果不选择安全协同和稳定变更功能包,则实例默认为自由操作。更多信息,请参见管控模式

      • 安全协同支持稳定变更的所有能力,其提供DevOps功能,可灵活自定义研发流程、审批流程。

      • 稳定变更支持为数据库提供更加稳定运行的解决方案,例如无锁变更、SQL审核。

      安全规则

      当设置增值功能包安全协同时,才会显示该配置项。

      您可以选择系统默认或自建的安全规则对数据库进行精细化的管控。更多信息,请参见创建安全规则

    3. (可选)在高级信息模块,按需配置环境类型、实例名称、查询超时时间等更多高级特性。

      配置项

      说明

      环境类型

      选择数据库环境的类型。关于实例环境类型的更多信息,请参见更改实例环境类型

      实例名称

      实例在DMS中显示的名称。DMS默认会自动同步表格存储侧的实例名称。

      如果要自定义实例在DMS中的显示名称,您可以取消选中自动同步实例名称,然后设置实例名称。

      实例DBA

      选择一个DBA角色进行后续权限申请等流程。

      查询超时时间(s)

      设定安全策略,当达到设定的时间后,SQL窗口执行的查询语句会中断,以保护数据库安全。

      导出超时时间(s)

      设定安全策略,当达到设定的时间后,SQL窗口执行的导出语句会中断,以保护数据库安全。

  4. 测试连通性。

    1. 单击测试连接

    2. 测试连接成功后,单击确认

  5. 单击提交

  6. 托管授权。

    当实例开启了安全托管模式时,系统会进行托管提醒,请按需进行托管授权配置。如果有他人要使用添加的实例,需向您或实例Owner申请权限。

    1. 托管提醒对话框,单击立即授权

    2. 权限授予对话框,选择被授权人、权限类型和有效期信息。

    3. 单击确认

步骤二:在DMS中使用SQL查询Tablestore数据

表格存储支持宽表模型、时序模型等数据存储模型,不同数据存储模型的使用SQL查询操作存在差异,请根据所用数据存储模型选择相应操作。

使用SQL查询宽表数据

  1. 进入SQLConsole页面。

    说明

    您也可以在控制台首页左侧的数据库实例区域中双击已添加的Tablestore实例进入SQLConsole页面。

    1. 登录数据管理DMS 5.0

    2. 在控制台首页左侧,将鼠标放到image图标上,选择SQL窗口

    3. 请先选择数据库对话框,选择已添加到DMS的Tablestore实例。

      DMS中会自动显示Tablestore中已创建的SQL映射表。

  2. 为表创建映射关系并运行SQL语句。

    如果已为表创建了SQL映射关系,请跳过此操作。

    重要

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

    1. SQLConsole页面中编写创建SQL映射关系的SQL语句。具体操作,请参见创建表的映射关系

      为数据表创建映射关系时,SQL映射表名称必须与数据表名称相同,且SQL的主键列必须与数据表的主键列相同。

      说明

      如果已为数据表创建多元索引,您还可以选择为多元索引创建映射关系来实现通过指定多元索引查询数据。具体操作,请参见创建多元索引的映射关系

      以下示例用于创建test_table表的SQL映射关系。

      CREATE TABLE `test_table` (
          `pk` VARCHAR(1024), 
          `long_value` BIGINT(20), 
          `double_value` DOUBLE, 
          `string_value` MEDIUMTEXT, 
          `bool_value` BOOL, 
          PRIMARY KEY(`pk`)
      );
    2. 选中完整SQL语句后单击执行(F8)或单击SQL语句首行位置前的image图标。

      运行结果会显示在相应结果页签中。

  3. 使用SQL查询表中数据。

    1. SQLConsole页面中编写SELECT语句查询数据。具体操作,请参见查询数据

      以下示例用于查询test_table表中数据,并且最多返回20行数据。

      SELECT `pk`, `long_value`, `double_value`, `string_value`, `bool_value` FROM test_table LIMIT 20;
    2. 选择SQL语句单击执行(F8)或单击SQL语句位置前的image图标。

      运行结果会显示在相应执行结果页签中。

      在SQL查询语句的执行结果页签中,将鼠标移动到导出文件上,选择要导出的结果集,DMS会下载相应结果集到本地或者生成结果集的INSERT SQL。

      说明

      执行历史页签,您可以查看SQL的执行历史信息,例如执行时间、SQL语句、状态等信息。对于执行失败的SQL语句,您还可以参考备注列的出错原因进行问题处理。

使用SQL查询时序数据

  1. 进入SQLConsole页面。

    说明

    您也可以在控制台首页左侧的数据库实例区域中双击已添加的Tablestore实例进入SQLConsole页面。

    1. 登录数据管理DMS 5.0

    2. 在控制台首页左侧,将鼠标放到image图标上,选择SQL窗口

    3. 请先选择数据库对话框,选择已添加到DMS的Tablestore实例。

      DMS中会自动显示Tablestore中已创建的SQL映射表。

  2. 为表创建映射关系并运行SQL语句。

    创建时序表后,系统会自动为表创建单值模型映射关系和时间线元数据映射关系,无需手动创建。在SQL中单值模型映射关系的名称与时序表名相同,时间线元数据映射关系的表名为时序表名称后拼接::meta

    如果要以多值模型查询时序数据,您需要手动创建多值模型映射关系。否则请跳过此操作。

    重要

    创建表的SQL映射关系时,请确保SQL映射关系中的字段类型与表中的字段类型相匹配。更多信息,请参见SQL数据类型映射。其中时序表SQL映射类型中具体字段的类型说明请参见时序表的映射关系

    1. SQLConsole页面中编写SQL语句创建SQL映射关系。更多信息,请参见时序表的SQL映射关系

      假设测量的属性同时包含了cpu、memory、disktop三种度量,此处以创建多值类型映射表timeseries_table::muti_model为例介绍。SQL示例如下:

      CREATE TABLE `timeseries_table::muti_model` (
        `_m_name` VARCHAR(1024), 
        `_data_source` VARCHAR(1024), 
        `_tags` VARCHAR(1024),
        `_time` BIGINT(20),
        `cpu` DOUBLE(10),
        `memory` DOUBLE(10),
        `disktop` DOUBLE(10),
        PRIMARY KEY(`_m_name`,`_data_source`,`_tags`,`_time`)
      );
    2. 选中完整SQL语句后单击执行(F8)或单击SQL语句首行位置前的image图标。

      运行结果会显示在相应结果页签中。

  3. 使用SQL查询表中数据。

    1. SQLConsole页面中编写SELECT语句查询数据。更多信息,请参见SQL示例

      • 使用单值模型映射关系查询数据

        以下示例用于查询时序数据表中basic_metric度量类型的数据。

        SELECT * FROM timeseries_table WHERE _m_name = "basic_metric" LIMIT 10;
      • 使用时间线元数据映射关系查询数据

        以下用于查询时序元数据表中basic_metric度量类型下的时间线。

        SELECT * FROM  `timeseries_table::meta` WHERE _m_name = "basic_metric" LIMIT 100;
      • 使用多值模型映射关系查询数据

        以下示例用于查询多值模型映射表中cpu大于20.0的所有度量信息。

        SELECT cpu,memory,disktop FROM `timeseries_table::muti_model` WHERE cpu > 20.0 LIMIT 10;
    2. 选择SQL语句单击执行(F8)或单击SQL语句位置前的image图标。

      运行结果会显示在相应执行结果页签中。

      在SQL查询语句的执行结果页签中,将鼠标移动到导出文件上,选择要导出的结果集,DMS会下载相应结果集到本地或者生成结果集的INSERT SQL。

      说明

      执行历史页签,您可以查看SQL的执行历史信息,例如执行时间、SQL语句、状态等信息。对于执行失败的SQL语句,您还可以参考备注列的出错原因进行问题处理。

计费说明

表格存储费用说明

通过DMS使用SQL访问表格存储时,SQL本身不会有额外的费用,但是使用SQL查询数据过程中涉及到的表扫描、索引查询等操作会产生费用。更多信息,请参见SQL查询计量计费

表格存储会根据具体的读写请求按照读写吞吐量计量计费。同时根据实例类型不同,计费时需要区分按量读写CU以及预留读写CU。

说明

关于实例类型和CU的更多信息,请分别参见实例读写吞吐量

其他资源费用说明

使用DMS工具时,如果使用的是管控模式为稳定变更或安全协同的实例,则会产生费用;如果使用的是管控模式为自由操作的实例,则不收费。更多信息,请参见计费项

相关文档

  • 您还可以通过表格存储的控制台、命令行工具、SDK、JDBC、Go语言驱动等方式使用SQL查询数据。具体操作,请参见SQL使用方式

  • 您还可以将Tablestore实例接入到DataWorks,然后使用SQL查询与分析Tablestore数据。更多信息,请参见接入到DataWorks

  • 您还可以通过MaxCompute、Spark、Hive或者HadoopMR、函数计算、Flink、PrestoDB等计算引擎实现对表中数据的计算与分析。具体操作,请参见计算与分析

  • 如果要加速SQL数据查询和计算,您可以通过创建二级索引或者多元索引实现。更多信息,请参见索引选择策略计算下推