上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年云时代企业级分布式数据库的技术挑战.pdf

编号:95884 PDF 29页 2.43MB 下载积分:VIP专享
下载报告请您先登录!

2019年云时代企业级分布式数据库的技术挑战.pdf

1、OceanBase:透明可扩展的企业级数据库蚂蚁金服 研究员目录什么是透明可扩展透明可扩展的理论基础 透明可扩展的关键设计 OceanBase实践企业级数据库:Oracle、SQLServer、DB2 云数据库:Amazon Aurora、Amazon Redshift 魔力四象限 行业现状ABILITY TO EXECUTECHALLENGERSLEADERSNICHE PLAYERSVISIONARIESMongoDBMarkLogicIntersystemsAmazon Web ServicesMicrosoftOracleSAPIBMEnterpriseDBDataStaxMapRAc

2、tianGoogleAlibaba CloudCOMPLETENESS OF VISIONAs of June 2018Gartner.Inc企业级数据库面临的问题$单机不可扩展成本高云数据库:开源数据库+存储计算分离 解决了存储可扩展问题,但事务和SQL不可扩展 开源数据库核心能力距离企业级数据库仍有较大差距云数据库!=透明可扩展DB(写入)DB(只读)存储集群Hybrid clouds require excellent distributed OLTP DBMS,and the memory/storage architecture still requires a lot of wor

3、k.In addition,data security and data management are both issues that need to be considered.C MohanICDE 2019,IBM Fellow分库分表!=透明可扩展middleware!中间件分库分表分布式数据库全局索引 全局快照 跨服务器复杂查询 跨服务器DML语句 带容错能力的分布式事务 无需业务修改,按需扩容 核心能力可扩展(存储、事务、SQL)线性可扩展 持续可用,稳定 企业级数据库功能 通过核心业务和benchmark证明 透明可扩展的企业级数据库目录什么是透明可扩展 透明可扩展的理论基础透

4、明可扩展的关键设计 OceanBase实践 原子性(A)事务操作要么全部成功,要么全部失败 一致性(C)一个事务只能使数据库从一个一致的状态跳转到另一个一致的状态,不能破坏主键唯一或者所有列之和为固定值之类的约束 隔离性(I)多个并发事务互相不影响,就如同多个事务串行执行一般 持久性(D)一旦事务成功提交,它对数据库的影响是永久的 事务ACID1978年,Jim Gray 阻塞协议:参与者宕机/协调者宕机 一台机器故障导致整个集群不可服务 分布式事务:2PC协议的陷阱参 与 者协 调 者参 与 者PreparePreparedCommitCommittedPreparePreparedComm

5、itCommittedX分布式事务的应对方案 中间件XA:依赖数据库 NOSQL系统:CAP理论,回避一致性与分布式事务 云时代的架构选择:直面问题,采用Paxos+2PC 分布式事务:Paxos+2PCConsensus on Transaction Commit Jim Gray and Leslie Lamport Microsoft Research 1 January 2004 Revised 19 April 2004,8 September 2005二阶段参与者二阶段参与者二阶段参与者事务管理器事务管理器事务管理器ReplicaReplicaReplicaPaxosPaxosPa

6、xosLeader主备同步模式:最高保护模式、最高性能模式、最高可用模式CAP:P无法规避,C与A不可兼得Paxos的高可用与CAP的可用性Paxos高可用:单点故障时多数派能否快速恢复 CAP可用性:单点故障时故障节点能否恢复 CAP与PaxosConsistencyAvailabilityPartition ToleranceCACPAPRaft的得与失得:顺序提交日志,大大简化Paxos 失:并发能力更差,牺牲可用性,异地部署有风险 常见系统做法Paxos阵营:Google Spanner,Ant Financial OceanBase 1.0,Amazon DynamoDB Raft阵

7、营:Ant Financial OceanBase 0.5,Tencent TDSQL,以及一系列开源系统Raft or Paxos6等待X主机备机PaxosRaft目录什么是透明可扩展 透明可扩展的理论基础 透明可扩展的关键设计OceanBase实践 全局一致性/强一致的全局索引 多种数据分区,二级分区 分区分裂:数据量太大或者load太高时自动分裂分区合并:数据删除较多,相邻分区自动合并分布式分区表PartitionsTableAPP服务器自动上下线 负载重新均衡 逻辑复制与物理复制 自动负载均衡调度总控工作机P1P2P3工作机P2P3P4工作机P1P3P4工作机P1

8、P2P4多因子负载均衡 计算均衡(CPU&内存),存储均衡(磁盘占用)计算存储资源配比和实际业务不匹配 存储迁移耗时长,计算负载变化快 存储计算分离 分布式数据库负责计算均衡,存储集群负责存储均衡 负载均衡的两难选择分布式 数据库存储集群主备切换不杀事务:新事务在新的主分区开启,进行中事务在线迁移 分区分裂不杀事务:新事务在分裂后的新分区开启,进行中事务在线迁移 分区容错POP1P2P1分区分裂P1P1P1主备切换P1已完成事务进行中事务新开启事务P1读写请求重试,防止重试风暴任务级重试Proxy在线升级,数据库在线session迁移异常处理:磁盘/服务器hung住,“半死不活”全链路请求容错

9、分布式 数据库ProxyAPPProxyProxy分布式数据库跨机场景获取全局事务版本号(SCN)主备强同步两阶段提交分布式执行计划异步执行不占用工作线程协程降低线程切换开销分布式线程模型工作线程工作线程工作线程日志缓冲区日志线程异步回调 应答客户端强类型系统 行迭代批处理推模型提升代码局部性编译执行并行执行HTAP执行引擎int compare(Key k1,Key k2)int ret=0;if(INT=k1.get_type()&INT=k2.get_type()ret=int_compare(k1.get_value(),k2.get_value();else if NUMBER=k1

10、.get_type()&NUMBER=k2.get_type()ret=number_compare(k1.get_value(),k2.get_value();AggregateProjectFilterScanselect count(*)from store_sales where ss_item_sk=1000;volcano模型基于代价的查询优化器 Adaptive Cursor Sharing解决大小账号问题 SQL Plan Management执行计划演进企业级查询优化器老计划新计划流量老计划基线新计划基线演进新计划无 性能回退根据基线 复现计划单机数据库:串行优化=算子局部并

11、行化并行优化create table t1(a int primary key,b int,c int)partition by hash(a)partitions 4;create table t2(a int primary key,b int,c int)partition by hash(a)partitions 4;create table t3(a int primary key,b int,c int)partition by hash(a)partitions 5;select*from t1,t2,t3 where t1.a=t2.a and t2.b=t3.b;HJMJt2

12、t3t1并行化t2t3EX(HASH)EX(HASH)PWMJEX(HASH)t1EX(HASH)PWHJ第一阶段第二阶段PWMJEX(HASH)t3EX(HASH)PWHJt1t2最优计划(大概率)目录什么透明可扩展 透明可扩展的理论基础 透明可扩展的关键设计 OceanBase实践阿里巴巴、蚂蚁金服自主研发的企业级分布式关系数据库 第一次将Paxos协议引入到关系数据库领域,实现持续可用工业级shared nothing分布式数据库架构,无需业务修改代码透明可扩展 全局一致的数据库视图 跨服务器复杂查询 MySQL全兼容,Oracle部分兼容,原生多租户支持 关于OceanBase蚂蚁金服

13、:支付宝核心链路100%支付量,网商银行全部流量,并已进军国际业务OceanBase使用情况在浙商银行、南京银行、苏州银行、广东农信、人保健康险等外部客户的互联网核心系统中,承担交易数据库的重要角色蚂蚁金服交易支付按照user_id拆分N份,需要扩容到M*N份 痛点:中间件+业务拆分,需要上百人年开发量,技术风险很高 解决方案:OceanBase分区表实现透明拆分交易支付透明拆分透明拆分分区表分区表分区表蚂蚁金服会员系统,根据user_id,user_name,email查找用户信息 痛点:单机数据库,只能垂直扩展,无法水平扩展 解决方案:OceanBase分区表+强一致全局索引 会员系统全局索引Partitions主表 user_id分区索引表 user_name分区某金融机构有大量批处理场景,有多张大表关联的复杂计算,并且涉及到大量的数据更新 痛点:传统集中式数据库单点瓶颈,成本高 解决方案:透明可扩展的OceanBase,HTAP场景并行处理能力,处理时间缩短到现有系统的一半,TCO大幅降低结算系统小机下移APPOMS平滑迁移可灰度,可回滚

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年云时代企业级分布式数据库的技术挑战.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部