检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
可以通过FIELDS TERMINATED BY指定字符之间的分割符号,默认值为\t 。 通过OPTIONALLY ENCLOSED BY忽略数据源字段中的符号。 通过LINES TERMINATED BY可以指定行之间的换行符,默认为\n。 有些windows上的文本文件的换行符可能为\r\n,由于是不可见字符,所以请小心检查。
在SQL语句中对整数类型拆分键设置值时不要进行类型转换,类型转换可能造成路由计算失败后路由至默认分片,造成目标数据查询不到。 路由方式 根据拆分键的键值直接按分库数/分表数取余。如果键值是字符串,则字符串会被计算成哈希值再进行计算,完成路由计算(大小写敏感)。 例如:MOD_HASH(
行类型转换,类型转换可能造成路由计算失败后路由至默认分片,造成目标数据查询不到。 路由方式 实现原理同MOD_HASH算法一致,区别在于MOD_HASH_CI算法对大小写不敏感,而MOD_HASH算法对大小写敏感。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式
DDM是否支持数据类型强制转换 数据类型转换属于高级用法,DDM对SQL的兼容性会逐步完善,如有需要请提工单处理。 父主题: SQL语法类
conditional_expr | USING (column_list) 语法限制 不支持SELECT STRAIGHT_JOIN 和 NATURAL JOIN。 示例 select id,name from test1 where id=1; select distinct id
VARCHAR)。如果使用日期函数结合hash算法,拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 在SQL语句中对数字类型拆分键设置值时不要进行类型转换,类型转换可能造成路由计算失败后路由至默认分片,造成目标数据查询不到。 路由方式 首先102400对分库数/分表数进行分范围。
预检查 为了避免分片变更失败,请您最晚在变更前一天完成以下内容的检查。 预检查内容 表1 预检查内容 检查内容 检查目的 检查未通过解决方案 表名长度检查 分片变更需要数据重分布时(例如:增加分片),会创建临时表,临时表的表名长度会略长于原表名,需确保临时表的表名长度不超过MySQL限制。
变更评估 分片变更前,可根据以下几点对分片变更做一个初步的评估,根据评估结果选择适当的新分片数, DDM实例规格和DN实例规格, 以及DN节点个数。 数据量:可用show db status命令来获得目前现网的数据量。 DDM规格:当前DDM实例的CPU个数、内存大小、DDM节点数。
动生成ID。 使用限制 如果REPLACE语句中拆分键的值是非法的,数据默认会路由到0号分库或者0号分表。 不建议在REPLACE语句中使用VERSION、DATABASE、USER函数,此类函数结果受语句是否下推至DN节点执行影响,执行结果可能不符合预期。 父主题: DML
查看已关联的RDS for MySQL实例。 图8 成功关联实例 步骤四:购买ECS 进入购买弹性云服务器页面。 配置基础信息后,单击“下一步:网络配置”。ECS与待连接的DDM实例的区域及可用区需要一致。 镜像包含了操作系统和应用程序的模板。本示例中选择Linux操作系统的“公共镜像”,公共镜像是华为云默认提供的镜像。
按月日哈希 否 是 WEEK 按星期哈希 否 是 分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没
围路由到对应的分片上。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 拆分键是整型 分库路由结果 = 根据分库拆分键值在设定的元数据的范围进行路由 分库 :拆分值为3属于3-4=1,则路由到1分片 方式二:拆分键是日期类型 表2 支持的日期函数
适用于需要按年份与月份进行分库的场景,建议该函数与 tbpartition YYYYMM(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与月份计算哈希值,然后再按分库数取余。
当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过 DDL 指定),然后将得到的整数值按分库/分表数目取余。
适用于需要按年份与一年的天数进行分库的场景,建议该函数与tbpartition YYYYDD(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的天数计算哈希值,然后再按分库/表数取余。
适用于需要按年份与一年的周数进行分库的场景,建议该函数与tbpartition YYYYWEEK(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的周数计算哈希值,然后再按分库/表数取余。
Connector/J驱动。 优化读写分离中的事务拆分功能,事务中连接未发生事务更新时可根据读写分离权重决定路由到主实例或只读实例。 3.0.8 新增功能 新增支持ROW表达式的路由计算。 新增支持表级回收站能力。 新增支持METADATA备份恢复能力。 修复问题 优化DDM MetaDb链接池。
在“任务中心”单击操作栏的“更多 > 查看运行日志”可以查看任务的日志记录。 图7 查看运行日志 数据迁移完成,如果切换策略选择了手动切换,需要在“任务中心”操作栏单击“切换”将路由切换到新的分片上或者数据节点上。如果切换策略选择了自动切换,任务将在设置的切换时间内,自动进行切换。 图8 手动切换
支持审计的关键操作列表 通过云审计服务,您可以记录与华为云分布式数据库中间件实例相关的操作事件,便于日后的查询、审计和回溯。 表1 云审计服务支持的DDM操作列表 操作名称 资源类型 事件名称 参数模板应用 parameterGroup applyParameterGroup 租
详细说明 根据指定的表字段将数据平均拆分到各个分片上。 根据指定的表字段+日期函数将数据平均拆分到各个分片上。 表字段必须是日期类型(date、datetime、timestamp)。 将数据表内的记录按照算法元数据定义的规则将数据拆分到指定的分片上。 根据指定的表字段+日期函数将