OceanBase是阿里巴巴和蚂蚁金服完全自主研发的通用的分布式关系型数据库,定位为商用企业级数据库。
能提供金融级别的可靠性,目前主要应用用于金融行业,同时也适用于非金融行业场景。
它融合传统关系数据库和分布式系统的优势,利用普通的PC服务器组成数据库集群,拥有出色的线性扩展性。
通过在底层分布式引擎实现的Paxos多数派协议和多副本特性,OceanBase拥有了令人称道的高可用和容灾能力,不负“永不停机”的数据库系统的盛名,可以完美支持多地多活、异地容灾等高可用部署。
OceanBase是一个准内存数据库系统,独有的读写分离架构和面向SSD固态盘的高效存储引擎,为用户带来了超高性能的体验。
OceanBase定位为云数据库,通过在数据库内部实现多租户隔离,实现一个集群可以服 务多个租户,且租户之间完全隔离,不会相互影响。
OceanBase目前完全兼容MySQL,用户可以零成本从 MySQL 迁移到OceanBase。同时OceanBase在数据库内部实现了分区表和二级分区功能,可以完全取代MySQL常用的分库分表方案。
OceanBase数据库使用的存储引擎是基于LSM-Tree(Log-Structured Merge Tree)的存储架构,并且采用了多副本强同步的分布式架构。这种设计使得OceanBase能够提供高性能的同时保持高可用性和数据一致性。
在OceanBase中,数据被分为基线数据和增量数据两部分:
- 基线数据(Baseline Data):这部分数据被持久化存储在磁盘上的SSTable(静态表)中,一旦生成就不会被修改。
- 增量数据(Incremental Data):这部分数据首先被写入内存中的MemTable(内存表),所有的数据修改操作都直接在内存中进行。
当MemTable达到一定的大小阈值时,其内容会被冻结并最终持久化到磁盘上的SSTable中。这个过程称为“刷新”(Flush)。随着时间推移,多个SSTable可能会产生数据重叠,因此OceanBase还会定期执行合并操作(Compaction),以减少数据冗余并优化查询性能。
此外,OceanBase 4.3版本引入了列式存储引擎,这进一步增强了其处理大规模数据分析的能力,实现了事务处理(TP)和分析处理(AP)的一体化。
OceanBase的设计旨在解决传统数据库在性能和压缩比之间难以平衡的问题,并且能够支持存储层的横向扩展,降低了存储成本。




