OceanBase分布式数据库技术概述_第1页
OceanBase分布式数据库技术概述_第2页
OceanBase分布式数据库技术概述_第3页
OceanBase分布式数据库技术概述_第4页
OceanBase分布式数据库技术概述_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OceanBase分布式数据库技术概述OceanBase分布式数据库的新征程OceanBase分布式数据库的新征程OceanBase是原生分布式数据库,具有良好的扩展性 和容灾能力,TPC-C世界第一OceanBase给用户透明的体验,像使用单机数据库一 样使用分布式数据库没有分库分表的烦恼支持全局索引不限制事务大小数据库系统发展历史12事务处理的挑战3分布式场景的挑战4OceanBase解决之道5总结目录CONTENTS数据库管理系统发展历史数据库管理系统究竟是什么时间出现的?数据库管理系统发展历史1965年 Sabre系统上线数据库管理系统作为更多“关键业务”的底座应用在方方面面数据库管理

2、系统作为一个独立的 系统在60年代末被广泛接受批处理磁带在线处理磁盘1960年代之后业务 场景存储介质时间1960年代之前数据库管理系统发展历史数据库管理系统的最大价值是通过 抽象简化业务构建用数据模型抽象表达硬盘上存储的裸数据层次、网络、关系、对象用模型上的操作抽象表达存储设备的IO操作Create Read Update Delete用事务模型抽象表达业务逻辑物理存储数据模型DDL底层接口模型操作DML底层细节上层 抽象功能事务事务复杂操作事务处理系统与数据库管理系统事务型中间件数据库管理系统操作系统事务处理系统Transaction Processing System事务处理系统面向业务

3、,解决实际业务的问题保证最终的业务操作具有事务特性事务处理系统与数据库管理系统数据模型访问层事务引擎存储引擎数据库管理系统DataBase Management System数据库管理系统的面向抽象后的数 据模型,抽象程度更高事务特性面向数据模型上的操作目录CONTENTS数据库系统发展历史12事务处理的挑战3分布式场景的挑战4OceanBase解决之道5总结事务抽象的是什么?故障恢复Failure Recovery并发控制 Concurrency Control持久性(Durability)为什么难?为计算机编制好面对一切情况的手 册AtomicityDurabilityIsolationC

4、onsistency从批处理到在线服务的最大变化计算机资源利用率最大化是复杂性的来源故障恢复所有处理持久化状态的程序都必须面对的难题日常生活中故障也经常发生考试时写字的笔没水了超市付款时手机没电了人可以轻松应对这些问题计算机需要编制好程序告诉它该怎么做。需要为它编制好面对一切情况的手 册把要做的工作做完整故障恢复 数据库管理系统的实现实际系统中有两个得以广泛运用的方法:Shadow PagingLogginRedo/Undo日志对每一次修改,产生日志同时记录旧值和新值在修改落盘之前,对应的日志记录必须先落盘事务commit时,所有的日志保证落盘重做:按照redo日志重做所有没有落盘的已提交事务

5、修改回滚:按照undo日志回滚所有未提交事务的修改并发控制所有程序都会面对的挑战并发控制的目的是保证正确性 的同时让计算机资源利用率最 大化资源利用效率由低到高:互斥锁读写锁细粒度锁写时拷贝互斥锁读写锁细粒度锁写时拷贝struct int a; int b; int c;lockstruct rwlock int a;int b; int c;struct rwlock inta;rwlock intb;rwlock intc;int a; int b; int c;struct struct int a; int b; int c;for writefor read并发控制 数据库管理系统的

6、实现并发控制机制:从基于锁的机 制到多版本并发控制机制多版本并发控制机制最好的并发能力读取操作不影响写入更适合并发越来越大的分布式数据库大量的数据库系统都采用多版 本并发控制机制RepeatableReadFine-Grained LockingDB2SnapshotIsolationMVCCOceanBase OracleSQL ServerSpanner典型 隔离 级别并发 控制 机制并发能力低并发能力高效果并发控制 数据库管理系统的实现Read View: 记录快照点所有活跃事务列表取快照点非常耗时,不具备扩展性Read Version: 快照版本号快照点是一个值,支持高并发获取Snap

7、shot : Read ViewSnapshot : Read VersionNo Commit VersionHave Commit Version目录CONTENTS数据库系统发展历史12事务处理的挑战3分布式场景的挑战4OceanBase解决之道5总结分布式数据库的挑战分布式环境下的故障恢复同时修改多台机器的数据,原子性的保证更挑战分布式环境下的并发控制要协调多台机器的不同操作跨越多台机器的读取要有一致性的快照分布式数据库的挑战OceanBase的目标是让分布式数据库系统的使用体验和单机数据库系统一样自动的分布式提交保证跨机事务的原子性低延迟全局事务一致性高效全局一致性快照事务大小不限制

8、目录CONTENTS数据库系统发展历史12事务处理的挑战3分布式场景的挑战4OceanBase解决之道5总结故障恢复的解决方案ClientServer1Server2Server3Server4SessionSQL1SQL2SQL3COMMIT系统内部自动记录数据修改发 生的位置事务提交时自动选择走一阶段提交还是两阶段提交故障恢复的解决方案OceanBase分布式事务协调者 无持久化状态OceanBase两阶段提交低延迟1次日志延迟 + 1次RPC延迟P0P1协调者commitprepare reqprepare okcommit okcommit reqcommit ok并发控制的解决方案多

9、版本并发控制机制事务执行过程中产生的修改都以未提交数据存储在系统中读取根据快照版本选择系统中 的历史数据不会见到正在修改的数据只会见到版本一致的数据A=A-50读取到A=500 B=200机器1 账户A机器2账户BB=B+50读取到A=500 B=200读取到A=450 B=250并发控制的解决方案OceanBase使用Merge-Dump引擎数据先写入内存中,待内存存储一定量数据后持久化到硬盘中事务执行中的修改也是先写到内存中 再持久化到硬盘里TransIDDataVersionDataMemTableTransIDDataTransIDDataVersionDataTransIDDataT

10、ransIDDataSSTableMemTableTransIDDataVersionDataTransIDDataSSTableTransIDDataVersionDataTransIDDataTransIDDataSSTableDump并发控制的解决方案INSERT INTO RES SELECT C1, C2, C3, C4 FROM A, BWHERE A.NO = B.NOAND B.TYPE != XXUPDATE ASET STATUS = 1 WHERE A.EV_DATEBETWEENTO_DATE(2008-JUN-01,YYYY-MON-DD)ANDTO_DATE(2008-JUL-0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论