原生分布式架构设计
OceanBase采用原生分布式架构,其核心设计理念是构建一个高可用、可扩展的数据库系统。该架构主要分为两个关键层次:OBProxy层负责数据路由转发,OBServer层负责数据存储与计算。这种分层设计使得OceanBase能够有效处理大规模数据访问和存储需求。
在集群部署方面,OceanBase通过可用区(Zone)来划分节点,支持多种高可用部署方案,如同城三机房三副本部署、三地五中心五副本部署等。集群中的节点采用Shared-Nothing架构,互相独立,具有很高的扩展性。每个OBServer都包含SQL引擎、事务引擎和存储引擎,构成了完整的数据库服务单元。
单机分布式一体化演进
OceanBase经历了三次重要的架构升级,从最初的准分布式架构发展到现在的单机分布式一体化架构。这一演进过程体现了OceanBase技术路线的成熟和完善。
OceanBase 4.0版本作为业内首个单机分布式一体化数据库,实现了”小就是大”的设计理念。用户可以在业务量小的情况下从小规格单机部署起步,随着业务增长平滑扩容到多机甚至超大规模的分布式集群,同时具备多机平滑缩容到单机的能力。这种设计使得用户无需关心集中式或分布式技术路线选型,一套系统即可满足业务从小到大的全生命周期需求。
存储引擎与数据管理
OceanBase的存储引擎采用LSM-Tree架构,这是一种专门为写密集型应用设计的数据结构。LSM-Tree的核心思想是将所有写操作先记录到内存中,然后定时周期性地将这些更改批量写入磁盘,从而减少磁盘I/O操作,提高写入性能。
在数据组织方面,OceanBase的表可设计为分区表,每个分区均衡分布到不同的OBServer节点上。每个物理分区有一个用于存储数据的存储层对象Tablet,Tablet有多个副本分布在不同的OBServer节点,使用日志流(Log Stream)来做数据持久化和副本之间的数据同步。
- 数据分区:数据分布的基本单元,支持基于范围、Hash、列表分区,也可以组合分区
- 副本机制:同一分区的多个副本共同组成Paxos复制组,其中有一个副本是主副本,负责所有的写操作
- 数据压缩:得益于LSM-Tree的存储引擎,OceanBase具备极致的数据压缩能力,据官方文档及企业案例介绍,可以使存储成本降低60%以上
多租户与资源隔离
OceanBase支持单集群多租户架构,基于租户来实现资源隔离。一个集群可创建多个互相之间隔离的数据库”实例”,叫做租户(Tenant),可为多个独立业务提供服务。
在主备架构方面,OceanBase v4.1.0之后,物理备库的产品形态变更为租户级主备,即主或备的角色信息属于租户,分为主租户和备租户,集群不再有主备角色的概念,而只是承载租户的容器。主集群下面所有用户租户都是主租户;备集群下面所有用户租户都是备租户,备集群会自动同步主集群的租户变更操作。
高可用与容灾机制
OceanBase通过Paxos协议实现高可用,保证数据的一致性和完整性。正常情况下主副本提供服务,当主副本故障时会自动切换从副本,从而保证数据的安全性与可用性。
该系统支持多种部署模式,包括单机房、双机房、两地三中心、三地五中心部署。这种灵活的部署能力使得OceanBase能够满足不同规模企业的容灾需求。
OceanBase的透明可扩展特性使其整体做了存算分离,在总控的帮助下可以按需伸缩,伸缩后自动做负载均衡
金融级应用实践
在金融机构的核心系统升级中,OceanBase作为分布式数据库的代表,成为助力金融机构核心系统升级的关键技术。随着移动互联网的快速发展,银行和支付机构传统的柜台交易模式逐渐被终端直接交易模式替代,这对数据库系统提出了更高的要求。
北京银行的实践案例显示,截至2023年10月底,该行已迁移上线86个系统,其中包含分布式核心客户信息、信用风险管理等多个重要业务系统。这一成功实践证明了OceanBase在金融核心系统中的可靠性和稳定性。
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/27735.html