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

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

Zdal是支付宝自主研发的数据中间件产品,采用标准的JDBC规范,可以在分布式环境下看上去像传统数据库一样提供海量数据服务,是一种通用的分库分表数据库访问框架,解决单库单表数据库访问压力,Zdal主要提供分库分表,结果集合并,sql解析,数据库failover动态切换等功能,提供互联网金融行业的数据访问层统一解决方案,目前已经在支付宝的交易,支付,会员,金融等大部分关键应用上使用,并且在2019双11大促中运行稳定。

系统目标

1.数据访问路由,将针对数据的读写请求发送到最合适的地方。

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

3.使用zdal组件进行数据库的拆分,搭建分布式环境下的海量数据访问平台。

4.实现mysql,oracle,DB2数据库访问能力。

系统架构和领域模型

系统整体架构

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

 

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:根据zda

基于springboot医院医疗仪器管理系统 基于Spring Boot的医院医疗仪器管理系统是一款专门为医院设计的高效管理工具。 阅读详情

相关推荐

【DL经典回顾】距离度量大汇总(7-余弦距离(Cosine Distance))

余弦距离(Cosine Distance)衡量的是两个向量在方向上的差异性,而不是在大小上的差异。

悦学共鸣,温柔以待,汇聚光芒,共同成长 2535

支付宝分库分表组件zdal

支付宝分库分表组件zdal

分库分表-zdal

分库分表组件,支持自动主备切换,动态切分,读写分离,支付宝分库分表架构

分库分表策略

使用Zdal进行分库分表分库分表策略: 以支付业务为例,从前到后有 交易系统、支付前置系统、支付核心系统 表结构(为了突出只标示部分字段): 交易系统 :Id ,tradeNo; 支付前置系统:id,payOrderNo,tradeNo; 支付核心系统:id,kernalNo,payOrderNo,tradeNo; 也就是每个系统都保留前一个系统的唯一索引编号No,同时都存储trad...

yingfeng612的专栏 516

数据库分库分表数据库分库分表技术方案选型(Atlas、Cobar、TDDL、zdal、MyCat、Sharding-jdbc等)

数据库分库分表技术方案选型(Atlas、Cobar、TDDL、zdal、MyCat、Sharding-jdbc等)

weixin_43043173的博客 3430

resultset遍历取数据_Zdal分库分表支付宝是如何在分布式环境完爆数据库压力的?...

Zdal支付宝自主发的数据中间件产品,采用标准的JDBC规范,可以在分布式环境下看上去像传统数据库一样提供海量数据服务,是一种通用的分库分表数据库访问框架,解决单库单表数据库访问压力Zdal主要提供分库分表,结果集合并,sql解析,数据库failover动态切换等功能,提供互联网金融行业的数据访问层统一解决方案,目前已经在支付宝的交易,支付,会员,金融等大部分关键应用上使用,并且在2019双...

weixin_39649965的博客 267

Zdal分库分表介绍、超详细一步一步搭建简单的zdal框架

1、什么是zdal? 它能解决什么问题? 2、zdal的组成 3、搭建的项目展示 4、zdal搭建所需环境 5、zdal配置文件的配置 6、编写测试类,测试项目搭建 7、异常处理建议

q6834850的博客 1万+

支付宝架构是真的牛逼 !

单元化后,异地多活只是多地部署而已。比如上海的两个单元为 ID 范围为 [00~19],[40~59] 的用户服务。而杭州的两个单元为 ID 为 [20~39]和[60,79]的用户服务,这样上海和杭州就是异地双活的。支付宝对单元化的基本要求是每个单元都具备服务所有用户的能力,即——具体的那个单元服务哪些用户是可以动态配置的。所以异地双活的这些单元还充当了彼此的备份。发现工作中冷备热备已经被用的很乱了。

程序员高级码农的博客 1784

zdal配置文件_Zdal分库分表支付宝是如何在分布式环境完爆数据库压力的?...

Zdal支付宝自主发的数据中间件产品,采用标准的JDBC规范,可以在分布式环境下看上去像传统数据库一样提供海量数据服务,是一种通用的分库分表数据库访问框架,解决单库单表数据库访问压力Zdal主要提供分库分表,结果集合并,sql解析,数据库failover动态切换等功能,提供互联网金融行业的数据访问层统一解决方案,目前已经在支付宝的交易,支付,会员,金融等大部分关键应用上使用,并且在2013年...

weixin_35740875的博客 284

db2关闭下一句sql的日志_Zdal分库分表支付宝是如何在分布式环境完爆数据库压力的?...

Zdal支付宝自主发的数据中间件产品,采用标准的JDBC规范,可以在分布式环境下看上去像传统数据库一样提供海量数据服务,是一种通用的分库分表数据库访问框架,解决单库单表数据库访问压力Zdal主要提供分库分表,结果集合并,sql解析,数据库failover动态切换等功能,提供互联网金融行业的数据访问层统一解决方案,目前已经在支付宝的交易,支付,会员,金融等大部分关键应用上使用,并且在2019双...

weixin_30989967的博客 127

zdal

支付宝分库分表插件。提供遵循JDBC规范的操作方式。主要有以下4部分构成 Zdal-client:开发编程接口,实现jdbc的Datasource,Connection,Statement,PreparedStatement,ResultSet等接口,实现通用的jdbc-sql访问,内部还实现读库重试,group数据源的选择器,表名替换,sql执行器等功能。 Zdal-parser:支持orac...

define_us的专栏 718

浅谈支付业务的分表方案

在互联网相关的业务场景中,为了解决数据存储层面的扩展问题,满足线上的并发性能需求,经常会对数据库(如mysql)进行分库分表操作。常见的分表方案都是基于水平拆分,如基于range分段拆分,或者基于hash取模的方式等等。实际上,分表的规则的设计往往是基于实际业务场景来决定的,此外还要事先对系统的规模进行数据推演等等,如短期内是否会出现爆发式的业务增长,这些都是决定系统架构设计是否成熟的关键因素。下面分享一个实际案例。 在电商平台的支付系统中,核心的一个数据模型就是支付快照(也叫支付流水),一个中小型的..

明教三十四代觉主的博客 6万+

海量数据下的分库分表方案

移动互联网时代,海量的用户每天产生海量的数据,比如: 用户表 订单表 交易流水表 我们以支付宝为例,支付宝用户是8亿;微信用户更是10亿。而订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。 事实上,MySQL单表可以存储10亿级数据,只是这时候性能比较差。业界公认MySQL单表容量在1千万以下是最佳状态,因...

wqsbenren的博客 1790

笔者带你剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)

注:本文部分内容引用本人博客http://gao-xianglong.iteye.com/blog/1973591   前言 在开始讲解淘宝的TDDL(Taobao Distribute Data Layer)技术之前,请允许笔者先吐槽一番。首先要开喷的是淘宝的社区支持做的无比的烂,TaoCode开源社区上面,几乎从来都是有人提问,无人响应。再者版本迭代速度也同样差强人意,就目前而言...

weixin_33755649的博客 608

基于SpringBoot+Vue开发的前后端分离人事管理系统源码

基于SpringBoot+Vue开发的前后端分离人事管理系统源码

上一篇: python爬虫实战:之爬取京东商城实例教程!(含源代码)
下一篇: Flink 最锋利的武器:Flink SQL 入门和实战带你了解NBA球星数据
爱玛士
博客等级 码龄6年 719粉丝 253原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值