乐趣区

关于mysql:高性能MySql系列分库分表和数据异构技术

分库分表

中间件:sharding-jdbc/cobar/mycat 等中间件。
分表维度:如用户 ID/ 订单 ID 等。
分表算法:取模 / 哈希 / 路由表等。
分库分表具体技术不做具体介绍,本文次要想聊下数据异构问题。

数据异构

分库分表尽管解决了超大数据量导致的性能瓶颈问题,但也带来了新的难题。比方,如何跨库 join 聚合查问?如何全局排序 / 分组?
常见的解决办法是通过数据异构的伎俩。比方 ES 搜寻异构,缓存异构等。

正式介绍前,咱们来回顾下 MySql 主从复制的架构。

Canal 中间件就相似于这里的 slave 角色,它能够订阅数据库的 binlog 日志,而后进行数据生产,比方数据镜像、数据异构、数据索引、缓存同步等。
Canal 架构:

Canal 利用场景:


Canal 代码示例(省略了配置)


退出移动版