TDDL分布式数据库

版权声明:支持原创,转载注明出处! https://blog.csdn.net/qq_39416311/article/details/81414196

TDDL 是基于 Java 语言的分布式数据库系统。

大型互联网架构中,数据存储会面临读写容量瓶颈问题,比如在“双十一网购狂欢节”活动中,核心数据存储集群读写日访问量可以达到100亿以上。这种场景下,单机数据库方式必定面临极大挑战。类似的场景也在一些传统使用 IOE 的企业中成为一种制约业务发展的致命要素,而 TDDL 就是解决此类场景的利器。

TDDL 体系核心作用在于两个方面:

  1. 直接提供分库分表、读写分离等解决数据库 Scale Out 问题的功能。

  2. 基于配置模型,构建数据库在线扩容、准实时数据同步、运维平台等支撑系统。

TDDL 主要解决了以下问题:

  1. 单机数据库容量瓶颈: 随着数据量和访问量的增长,单机数据库会遇到很大的挑战,依赖硬件升级并不能完全解决问题。

  2. 单机数据库扩展困难:传统数据库容量扩展往往意味着服务中断,很难做到业务无感知或者少感知。

  3. 传统数据库使用成本高。

  4. 跨语言支持:基于 TDDL 的 Corona 产品提供跨语言支持。Corona 是一个 MySQL 的 proxy,提供标准的 MySQL 协议。因此,用户可以像使用 MySQL 一样使用 Corona,从而提供跨语言支持。

产品架构

TDDL主要部署在 iBATIS 或者其他 ORM 框架之下,JDBC Driver 之上。整个中间件实现了 JDBC 规范, 所以可以将 TDDL 当作普通数据源实例并且注入到各种 ORM 框架中使用。具体模块组成如下图:

扫描二维码关注公众号,回复: 3399292 查看本文章

TDDL 架构

  • Corona 模块提供多语言支持,直接调用 Matrix,并提供 MySQL 协议。用户可以使用通过 JDBC 或 MySQL 客户端直接连接使用。

  • Matrix 模块提供 DataSource 的封装,可以看作一个逻辑的数据库。

  • Group 模块提供针对物理库的读写分离封装,并提供读写权重配置的修改。

  • Atom 模块真正和物理数据库交互,提供数据库配置动态修改能力。

产品功能

分库分表

在创建分库分表后,只需选择拆分键,TDDL 就可以按照拆分键进行分库分表的访问。

透明读写分离

通过使用 MySQL 只读实例或者 MySQL 备机实现读写分离,帮助应用解决事务、只读实例或者备机挂掉、指定主备访问等细节问题,对应用无侵入。

数据存储平滑扩容

当出现数据存储容量和访问量瓶颈时,TDDL 支持存储容量在线扩展,扩容无需改造应用,扩容进度支持可视化跟踪。

成熟的管控系统

通过数据库运维支撑系统保障数据库的正常有序运转。可以想象,大规模数据库的机器故障,或者大规模应用的容量不足,这些都会成为困扰运维人员的问题,而成熟的管控系统可以帮助运维人员轻松应对。

跨语言支持

很多非 Java 语言无法直接嵌入 TDDL 使用,基于 TDDL 的 Corona 产品提供跨语言支持。Corona 是一个 MySQL 的 proxy,提供标准的 MySQL 协议。底层调用 TDDL 来执行 SQL,因此继承了所有 TDDL 的配置、特性。

产品优势

分布式

提供数据分布式存储,TDDL 实例动态调整。

弹性

数据存储可视化扩缩容:scale-up 和 scale-out,读写分离在线调整读节点:线性提升读能力。

高性能

分库分表让操作聚焦少量数据,多种拆分方式适应数据特点,并具备特定 SQL 并行执行能力,进一步提升执行效率。

简单易用

兼容 MySQL 协议和大部分 MySQL SQL 语法,无业务侵入式的使用读写分离,全面的运维和监控能力。

应用场景

高并发实时交易场景

面向客户端的电商、金融、O2O、零售等行业普遍存在用户基数大、营销活动频繁、核心交易系统数据库响应日益变慢的问题,制约业务发展。 TDDL 提供线性水平扩展能力,能够实时提升数据库处理能力,提高访问效率,峰值 TPS 达150万+,轻松应对高并发的实时交易场景。

海量数据存储访问场景

企业客户随着业务的快速发展,业务数据增长迅猛,会产生超过单机数据库存储能力极限的数据,造成数据库容量瓶颈,限制业务发展。 TDDL 可以线性扩展存储空间,提供 PB 级存储能力,可广泛应用于工业制造、智能家居、车联网等超大规模数据存储访问场景。

数据存储平滑扩容

当应用单机存储(MySQL)出现容量或性能瓶颈时,TDDL 提供在线数据扩容功能(此功能参见精卫介绍)。传统数据库容量扩展往往意味着服务中断,很难做到业务无感知或者少感知。

猜你喜欢

转载自blog.csdn.net/qq_39416311/article/details/81414196
今日推荐