dble

2025-06-29

数据库

好学近乎知,力行近乎仁,知耻近乎勇。一一《中庸》

https://github.com/actiontech/dble

https://opensource.actionsky.com/

dble:高性能 MySQL 分库分表中间件,助力数据库水平扩展

在互联网业务持续增长的今天,单台 MySQL 数据库的性能瓶颈和容量瓶颈愈发突出。面对数据量级和访问压力的持续提升,如何平滑实现 MySQL 的分库分表和在线扩展,成为众多企业技术团队亟需解决的问题。由上海爱可生信息技术股份有限公司开源和维护的 dble(发音为“double”,取意“更少 bug,没有 ou”),正是面向这一需求的专业级解决方案。


一、dble 简介

dble 是一款专为 MySQL 设计的高可扩展性数据库中间件,其核心功能是实现 MySQL 的分库分表(Sharding)、高可用集群和复杂 SQL 的分布式优化。dble 诞生于实践一线,已在银行等关键场景大规模应用,并作为爱可生公司“云树分布式数据库软件(CTREE Shard)”的开源版本持续迭代。


二、核心特性

1. 透明分库分表

  • 支持在业务无感知的情况下,将单库拆分为多个分片,有效突破单实例瓶颈。
  • 兼容 MySQL 协议,绝大多数应用无需修改代码即可直接切换至 dble。

2. 高可用集群

  • dble 可集群部署,自动容错与故障转移,消除单点故障风险,保障业务连续性。

3. 强大 SQL 支持与优化

  • 支持 SQL 92 标准及 MySQL 方言,涵盖 group by、order by、distinct、join、union 等复杂查询。
  • 针对全局表、ER 关系表、子查询等复杂业务场景,内置分布式查询优化能力。

4. 分布式事务

  • 内建两阶段提交协议,兼顾高性能与数据安全。
  • 提供普通模式和基于 MySQL 5.7 XA 的分布式事务支持,满足不同业务需求。

5. 易用性与社区活跃

  • 提供详尽的中文文档、视频教程和公开课,开箱即用。
  • 开源社区活跃,欢迎参与贡献和技术交流。

三、技术架构

dble 架构采用中间件转发层设计,前端对接应用流量,后端代理多台 MySQL 实例。其核心包括分片路由、SQL 解析与重写、分布式事务协调、查询优化、集群管理等模块。用户可通过配置灵活定义分片规则和高可用策略。

architecture


四、应用场景

  • 互联网业务数据库扩容:解决大表分表、热点数据分片和弹性扩容难题。
  • 金融、电商等高可用场景:平滑实现多活、高可用、在线维护。
  • 兼容历史系统:无需改动原有业务 SQL,平滑迁移至分布式架构。

五、快速入门

dble 支持本地、Docker、Docker Compose 等多种部署方式,只需参考官方快速开始文档即可轻松上手。


六、社区与支持


七、总结

dble 以高性能、高可用、强兼容、易用性著称,是企业级 MySQL 分库分表和分布式数据库架构的理想选择。无论你是数据库运维、开发还是架构师,都能从 dble 项目中获得专业的分布式数据管理能力和一流的社区支持。