起运港:
目的港:
国际空运
国际海运
国际快递

OceanBase简要概述及存储引擎

 NEWS     |      2023-03-22 09:03


OceanBase是阿里巴巴和蚂蚁金服自主研发的通用分布式关系数据库,定位为商业企业数据库。OceanBase可以提供财务级的可靠性。目前主要应用于金融行业,也适用于非金融行业场景。它结合了传统关系数据库和分布式系统的优点,使用普通PC服务器组成数据库集群,具有优良的线性伸缩性。 
OceanBase在底层分布式引擎中实现了Paxos多数协议和多副本特性,具有值得称道的高可用性和容灾能力,无愧于“永远在线”数据库系统的美誉,可以完美支持多站点、多站点、容灾等高可用性部署。 

OceanBase是一个准内存数据库系统,其独有的读写分离架构和SSD高效存储引擎,为用户带来超高性能体验。  
OceanBase定位为云数据库。通过在数据库内实现多租户隔离,一个集群可以服务多个租户,租户之间完全隔离,互不影响。 

OceanBase目前完全兼容MySQL,用户可以零成本从MySQL迁移到OceanBase同时,OceanBase实现了数据库中的分区表和二次分区功能,完全可以替代MySQL中数据库和表划分的常用方案。 
OceanBase的存储引擎 

OceanBase本质上是一个基线加增量的存储引擎,与关系数据库有很大的不同。存储机制是LSM(日志结构合并树),这也是大多数NoSQL使用的存储机制。OceanBase采用读写分离架构,将数据分为基线数据和增量数据,其中增量数据存储在内存(MemTable)中,基线数据存储在SSD磁盘(SSTable)中。虽然不是刻意设计,OceanBase确实比传统数据库更适合双十一、秒杀、优惠券销售等短期突发流量场景: 
短时间内大量用户涌入,短时间内业务流量很大,数据库系统压力很大。 

一段时间后(几秒、几分钟或半小时等)。),业务流量快速或明显下降。 
OceanBase是“基线数据(硬盘)”+“修改增量(内存)”的架构,如下图所示。 

整个数据库以硬盘(一般是SSD)为载体,所有的数据修改都是增量数据,只写在内存中,新增、删除、更改的数据(修改增量)都在内存中,所以DML是一个完整的内存操作,性能非常高。基线数据存储在硬盘上,所以OceanBase可以看作是一个准内存数据库。这样做的好处是: 
事务写在内存中(除了事务日志必须下载),所以性能大大提高。 

没有硬盘随机写入,硬盘随机读取不受干扰,高峰期系统性能明显提升;对于传统数据库来说,业务高峰期通常是大量随机写盘(脏页被刷)的高峰期,大量随机写盘会消耗大量IO,尤其是考虑到SSD的写放大,对读写性能影响很大。 
基线数据只读,缓存简单,效果提升。 

读取数据时,数据可能在内存中有更新版本,在永久存储中有基线版本。有必要合并两个版本以获得最新版本。同时在内存中实现块缓存和行缓存,避免随机读取基线数据。当内存中的增量数据达到一定规模时,会触发增量数据和基线数据的合并,将增量数据转储(称为dump,也称为minor freeze)。同时,系统会在每晚空闲时间自动合并(简称大冻结)。 
OceanBase简而言之,为什么采用这种特殊的架构,是基于这样一个理论基础——虽然数据库本身的数据量越来越大,记录的数量也越来越多,但是每天增加、删除、修改的数据量并不大,只占整个数据库的很小比例。这种情况不仅适用于支付宝的支付数据,也适用于其他大部分数据库的实际应用,是OceanBase建立上述存储引擎的重要理论依据。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

千航国际
国际空运
国际海运
国际快递
跨境铁路
多式联运
起始地 目的地 45+ 100 300 详情
深圳 迪拜 30 25 20 详情
广州 南非 26 22 16 详情
上海 巴西 37 28 23 详情
宁波 欧洲 37 27 23 详情
香港 南亚 30 27 25 详情

在线咨询-给我们留言