## 1. 概述MySQL 支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。## 2. 基本原则### 2.1 越小越好一般情况下,应该尽... 比如应该使用 MySQL 内建的类型而不是字符串来存储日期和时间。### 2.3 避免 NULL很多表都包含可为 NULL(空值)的列,即使应用程序并不需要保存 NULL 也是如此,这是因为可为 NULL 是列的默认属性。通常情况下最好...
同步任务失败后很难短时间定位问题和恢复同步。ByteHouse 的 MaterializedMySQL 功能针对使用过程中的问题和困难,做了多处增强,提高了易用性,降低了运维成本。## 数据去重通过 MaterializedMySQL 同步到 ByteHouse 的表默认采用 HaUniqueMergeTree 表引擎,该表引擎支持配置 UNIQUE KEY 唯一键,提供 upsert 更新写语义,源端数据的更新操作在目标端可以实时去重更新。不需要依赖_version、_sign 虚拟列来标记删除更新,简化了...
索引并不一定就是给主键或是唯一的字段。如果在你的表中,有某个字段你总要会经常用来做搜索,那么,请为其建立索引吧。 例如搜索字串 “last_name LIKE ‘a%’”,一个是建了索引,一个是没有索引,性能差了 4 倍左右。另外,你应该也需要知道什么样的搜索是不能使用正常的索引的。例如,当你需要在一篇大的文章中搜索一个词时,如: “WHERE post_content LIKE ‘%apple%’”,索引可能是没有意义的。你可能需要使用 MySQL 全文索引 ...
社区版MaterializedMySQL不支持同步异常重新同步命令,没有同步状态和日志信息,同步任务失败后很难短时间定位问题和恢复同步。 **ByteHouse的MaterializedMySQL功能针对使用过程中的问题和困难,做了多处增强,提高了易用性,降低了运维成本。****/ 数据去重 /**------------- 通过MaterializedMySQL同步到ByteHouse的表默认采用HaUniqueMergeTree 表引擎,该表引擎支持配置UNIQUE KEY 唯一键,提供 upse...
使用限制应用限制类型 说明 源库限制 数据库版本:当前支持 8.0 的 MySQL 实例。 在源库的实例版本大于等于 5.6 时,需设置参数 gtid_mode 为 ON。 带宽要求:源库所属的服务器需具备足够出口带宽,否则将影响数据同步的速率。 支持 InnoDB 和 MyISAM 数据库引擎,暂不支持 MariaDB 数据库引擎。 待同步的表需具备主键或唯一非空约束,且字段具有唯一性,否则可能会导致数据不一致。 Binlog 日志的要求如下: 需开启 Binlog 日志...
(MySQL)。 注意事项当源库为自建 MySQL 时,您需要关注以下信息: 同步时,如果源库进行主备切换,会导致同步任务失败。 在同步时如果源库执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请... 目标数据库在检查到已存在同主键值或唯一键的处理方法也存在差异,具体如下所示: 全量初始化阶段:数据库传输服务 DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。 增量同步阶段:数据库传输服...
(MySQL)。 注意事项当源库为自建 MySQL 时,您需要关注以下信息: 同步时,如果源库进行主备切换,会导致同步任务失败。 在同步时如果源库执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请... 目标数据库在检查到已存在同主键值或唯一键的处理方法也存在差异,具体如下所示: 全量初始化阶段:数据库传输服务 DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。 增量同步阶段:数据库传输服...
来检查源库和目标库中各迁移对象做相应准备。更多详情,请参见预检查项(MySQL)。 注意事项由于数据库传输服务 DTS 的延迟时间是根据迁移到目标库最后一条数据的时间戳和当前时间戳对比得出,源库长时间未执行 DML 操... 若遇到目标库中已存在同主键值或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致等问题,具体如下所示。建议...
限制说明应用限制类型 说明 源库限制 数据库版本:当前支持 5.7 和 8.0 的 MySQL 实例。 在源库的实例版本大于等于 5.6 时,需设置参数 gtid_mode 为 ON。 带宽要求:源库所属的服务器需具备足够出口带宽,否则将影响数据同步的速率。 支持 InnoDB 和 MyISAM 数据库引擎,暂不支持 MariaDB 数据库引擎。 待同步的表需具备主键或唯一非空约束,且字段具有唯一性,否则可能会导致数据不一致。 Binlog 日志的要求如下: 需开启 Binl...
索引并不一定就是给主键或是唯一的字段。如果在你的表中,有某个字段你总要会经常用来做搜索,那么,请为其建立索引吧。 例如搜索字串 “last_name LIKE ‘a%’”,一个是建了索引,一个是没有索引,性能差了 4 倍左右。另外,你应该也需要知道什么样的搜索是不能使用正常的索引的。例如,当你需要在一篇大的文章中搜索一个词时,如: “WHERE post_content LIKE ‘%apple%’”,索引可能是没有意义的。你可能需要使用 MySQL 全文索引 ...
(MySQL)。 注意事项当源端为自建 MySQL 时,您需要关注以下信息: 同步时,如果源端进行主备切换,会导致同步任务失败。 在同步时如果源端执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请... 目标数据库在检查到已存在同主键值或唯一键的处理方法也存在差异,具体如下所示: 全量初始化阶段:数据库传输服务 DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。 增量同步阶段:数据库传输服...
社区版MaterializedMySQL不支持同步异常重新同步命令,没有同步状态和日志信息,同步任务失败后很难短时间定位问题和恢复同步。 **ByteHouse的MaterializedMySQL功能针对使用过程中的问题和困难,做了多处增强,提高了易用性,降低了运维成本。****/ 数据去重 /**------------- 通过MaterializedMySQL同步到ByteHouse的表默认采用HaUniqueMergeTree 表引擎,该表引擎支持配置UNIQUE KEY 唯一键,提供 upse...
(MySQL)。 注意事项当源库为自建 MySQL 时,您需要关注以下信息: 同步时,如果源库进行主备切换,会导致同步任务失败。 在同步时如果源库执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请... 目标数据库在检查到已存在同主键值或唯一键的处理方法也存在差异,具体如下所示: 全量初始化阶段:数据库传输服务 DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。 增量同步阶段:数据库传输服...