搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机
打印 上一主题 下一主题

OceanBase简要概述及存储引擎

[复制链接]
查看: 29|回复: 0

1万

主题

1万

帖子

4万

积分

论坛元老

Rank: 8Rank: 8

积分
48091
跳转到指定楼层
楼主
发表于 2025-7-14 15:54:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
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建立上述存储引擎的重要理论依据。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 超星学习通-超星网络学生登录入口-超星官网网页版登录入口-超星尔雅 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表