检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDM如何进行分片 在分布式数据库中,可以通过分片存储方式,轻松解决大数据量单表容量达到单机数据库存储上限的瓶颈,因此创建逻辑库和逻辑表时,需要根据实际情况确定逻辑表是否进行分片以及逻辑表的分片规则。 分片存储后,需要尽量避免跨库JOIN操作带来的性能与资源消耗问题。 逻辑表是否分片
instance_id 是 String DDM实例ID。 database_name 是 String 逻辑库名称。 表2 Query参数 参数 是否必选 参数类型 描述 delete_dn_data 是 Boolean 是否同时删除关联后端数据库实例上存储的数据。 取值为true:删除。 取值false:不删除。
SELECT UNION Syntax 常用语法 SELECT ...UNION [ALL | DISTINCT] SELECT ...[UNION [ALL | DISTINCT] SELECT ...] 示例 select userid from user union select
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
DDL DDL概述 创建表 拆分算法概述 拆分算法使用说明 父主题: SQL语法
用日期函数,拆分键的数据类型必须是date、datetime、timestamp其一。 路由方式 根据拆分键,按照算法元数据的规则将数据行存储到相应的分片上。 建表时要设定元数据,假如逻辑库分8个分片,则元数据可以设定的范围为:1-2=0,3-4=1,5-6=2,7-8=3,9-
SELECT Subquery Syntax The Subquery as Scalar Operand 示例 SELECT (SELECT id FROM test1 where id=1); SELECT (SELECT id FROM test2 where
设置参数模板 您可以通过实例管理页面“设置参数模板”的功能为DDM实例关联参数模板。 操作步骤 登录分布式数据库中间件控制台。 在“实例管理”页面,选择目标实例。 在操作栏,选择“更多 > 设置参数模板”。 选择目标参数模板,单击“确定”。 父主题: 实例管理
M实例上。 在数据节点相关信息变化时,需要用户主动通过同步DN信息将数据节点变化的信息同步到DDM,才能正常使用。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标实例。 单击实例名称,进入基本信息页面。 在左侧导航栏,选择“DN管理”页签,单击“同步DN信息”。
图解分布式数据库中间件DDM
全局序列 全局序列概述 nextval、currval在全局序列的使用 全局序列在INSERT或REPLACE语句中的使用 父主题: SQL语法
HASH算法 适用场景 适用于需要将数据均匀分布的场景对数据进行拆分的场景,在SQL查询条件中,使用“=”、“IN”之类运算符相对较多。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT
全局序列概述 全局序列主要指基于DB的全局序列。 支持修改自增序列初始值。 全局序列主要保证ID全局唯一,并不能保证一定是连续递增的。 对使用DDM自增序列,不允许用户传null值以外的值,当用户不传或传null值时,DDM会默认分配,如果用户手工赋值会有和DDM分配自增键值冲突的风险。
DDM是否支持分布式JOIN DDM支持分布式JOIN。 表设计时,增加字段冗余 支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类
不支持的DML语法列举 不支持的DML语法 表1 DML的语法限制 DML语法 使用限制 DELETE语句 不支持PARTITION子句。 UPDATE语句 不支持跨分片子查询。 SELECT语句 支持ORDER BY语句,不支持类似ORDER BY FIELD(id,1,2,3)这种自定义排序。
例,并提供SDK代码示例调试功能。 URI POST /v1/{project_id}/instances/{instance_id}/rds/sync 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project
MOD_HASH算法 适用场景 适用于需要按用户ID或订单ID进行分库的场景。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT, DECIMAL(支持精度为0的情况))或字符串类型(CHAR
DD按日期哈希 适用场景 DD适用于按日期的天数进行分表,分表的表数就是日期的天数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的日期的天数进行取余运算并得到分表下标。
需要查询的逻辑库名称,不区分大小写。 表2 Query参数 参数 是否必选 参数类型 描述 delete_rds_data 否 String 是否同时删除关联后端数据库实例上存储的数据。 取值为“true”:删除。 取值为空或“false”:不删除。 默认值为空。 枚举值: true
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如: