支付宝是如何在分布式环境下完爆数据库压力的

2018-06-28 13:52:30 admin

Zdal是支付宝自主研发的数据中间件产品,采用规范的JDBC标准,能够在散布式环境下看上去像传统数据库一样提供海量数据效劳,是一种通用的分库分表数据库访问框架,处理单库单表数据库访问压力,Zdal主要提供分库分表,结果汇合并,sql解析,数据库failover动态切换等功用,提供互联网金融行业的数据访问层统一处理计划,目前曾经在支付宝的买卖,支付,会员,金融等大局部关键应用上运用,并且在2013年双11大促中运转稳定。

 

▲系统目的

1.数据访问路由,将针对数据的读写恳求发送到最适宜的中央。

2.数据存储的自在扩展,不再受限于单台机器的容量瓶颈和速度瓶颈,平滑迁移。

3.运用zdal组件停止数据库的拆分,搭建散布式环境下的海量数据访问平台。

4.完成mysql,oracle,DB2数据库访问才能。

 

【系统架构和范畴模型】

▲系统整体架构

 

 

zdal组件主要有5局部组成:

1. Zdal-client:开发编程接口,完成jdbc的Datasource,Connection,Statement,PreparedStatement,ResultSet等接口,完成通用的jdbc-sql访问,内部还完成读库重试,group数据源的选择器,表名交换,sql执行器等功用。

2. Zdal-parser:支持oracle/mysql/db2等数据库的sql语句解析,并且缓存。依据规则引擎提供的参数列表,在指定的sql中查找到需求的参数,然后返回拆分字段。

3. Zdal-rule:依据zdal-parser解析后的拆分字段值来肯定逻辑库和物理表名。

4. Zdal-datasource:数据库衔接的管理,支持mysql,oracle,db2数据库的衔接管理。

5. Zdal-common:zdal组件所运用的一些公共组件类。

为您推荐