OceanBase 系统架构

news/2025/3/13 17:08:11/文章来源:https://www.cnblogs.com/chengxi23/p/18770341

1. 核心架构特点

  • Shared Nothing架构:分布式部署,无中心节点
  • 硬件要求:通用服务器+本地存储,无特殊硬件依赖
  • 进程模型:单进程observer运行实例
  • 数据存储
    • 本地文件存储数据及Redo日志
    • 多副本存储(跨可用区)
    • 副本间通过共识协议保持一致性

2. 集群部署架构

graph TDCluster[集群] --> Zone1[可用区1]Cluster --> Zone2[可用区2]Cluster --> ZoneN[可用区N]Zone1 --> Server1[服务器]Zone1 --> Server2[服务器]Zone2 --> Server3[服务器]ZoneN --> ServerN[服务器]Server1 --> Observer[observer进程]Server2 --> ObserverServer3 --> ObserverServerN --> Observer

3. 核心组件分层

层级 功能 关键技术
存储层 数据存储与访问 Tablet/SSTable分层存储
复制层 多副本一致性 自研Paxos协议
事务层 ACID保证 两阶段提交/GTS时钟
SQL层 SQL处理 分布式执行计划
接入层 请求路由 obproxy智能路由

4. 存储层结构

graph LRTablet --> MemTable[内存表]MemTable --转储--> L0[L0 SSTable]L0 --合并--> L1[L1 SSTable]L1 --每日合并--> Major[Major SSTable]Major --编码压缩--> Column[列式编码]Column --> Dict[字典编码]Column --> RLE[游程编码]Column --> Delta[差值编码]Column --> General[通用压缩算法]

5. 复制层机制

sequenceDiagramparticipant Clientparticipant Leaderparticipant Follower1participant Follower2Client->>Leader: DML操作Leader->>Leader: 持久化Redo日志Leader->>Follower1: 同步日志Leader->>Follower2: 同步日志Follower1-->>Leader: ACKFollower2-->>Leader: ACKLeader->>Client: 确认提交

6. 事务处理流程

graph TDStart[事务开始] --> DML[DML操作]DML -->|单分区| WAL[Write-Ahead Log]DML -->|多分区| 2PC[两阶段提交]2PC --> Coordinator[协调者选举]Coordinator --> Prepare[Prepare阶段]Prepare --> Commit[Commit阶段]Commit --> GTS[获取GTS时间戳]GTS --> MVCC[多版本控制]

7. SQL处理流程

graph LRSQL[SQL请求] --> Parser[词法/语法解析]Parser --> Resolver[语义解析]Resolver --> Transformer[逻辑改写]Transformer --> Optimizer[优化器]Optimizer --> CodeGen[代码生成]CodeGen --> Executor[执行器]Executor -->|缓存| PlanCache[执行计划缓存]Executor -->|并行| Parallel[并行执行]

8. 关键特性

  • 多租户

    • 独立数据库实例
    • 资源隔离(CPU/Memory/IO)
    • 独立部署策略配置
  • 高可用

    • 自动故障转移(租约机制)
    • 多数派持久化保证
    • 无缝扩容/缩容
  • 扩展性

    • 自动负载均衡
    • 在线水平扩展
    • 智能分区管理

这个图表系统展示了:

  1. 分布式架构设计
  2. 分层组件协作
  3. 核心处理流程
  4. 关键技术创新点
  5. 高可用保障机制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/898249.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu git 上传项目代码

Ubuntu git 上传项目代码 记录使用实验室电脑第一次上传实验代码的过程。 配置SSH密钥 1、本机生成 RSA 密钥对 本机使用ssh-keygen -t rsa命令生成 RSA 密钥,前面步骤都忘记截图啦。根据生成的密钥所在目录,打开id_rsa.pub并复制。这里复制的是公钥。 2、github 配置 SSH KE…

打印机服务共享器

采购与财务,还是使用针式打印,为了方便用,以前购买了IP打印共享器。 某些原因,局域网改变,域更变了,IP肯也得改变。前辈们以前设置或是配置的打印机共享器,没有留下管理可用的信息。如上,固网HP-1007打印机共享器,只有重置啦,电源插口旁有一个“Init.”手上如果还有光…

数字先锋 | AI+政务,轻松跨语种!霍尔果斯政务服务升级蜕变

今年,义乌国际商贸城的一家袜子店火爆全网,商家通过搭载DeepSeek模型的AI视创工具,只需录制中文口型视频,即可通过系统自动生成阿拉伯语、西班牙语等多语种带货视频,将袜子生意做到了世界各地。 在全球化与数字化深度交织的今天,DeepSeek凭借自然语言处理尖端技术,不仅让…

25年湛江一模第19题(马尔可夫链 )

25年湛江一模第19题(马尔可夫链 )专题:概率+数列 题型:马尔可夫链 难度系数:★★★★题目 (25 年湛江一模第 19 题)甲参加了一场智力问答游戏,每轮游戏均有两类问题(难度系数较低的\(A\)类问题以及难度系数较高的\(B\)类问题)供选择,且每…

25 年湛江一模第8题(函数奇偶性+恒成立)

25 年湛江一模第8题(函数奇偶性+恒成立)专题:概率+数列 题型:马尔可夫链 难度系数:★★★★ 题目 (2025 年湛江一模第8题) 已知定义在\(\mathbf{R}\)上的函数\(f(x)\)为奇函数,且当\(x>0\)时,\(f(x)=e^{x}-a\),若\(\forall x \in \mathbf…

每美搭(1)

一、团队介绍 1.1 团队概况 1.1.1 博客展示链接 团队名:每美搭子们,组长博客链接 https://www.cnblogs.com/0623-k 1.1.2 团队项目描述 每美搭:每美搭是一款专注于服装搭配推荐的APP。它能精准获取用户个人基本体型、上传服装类型等多维度数据,结合地区天气、用户心情、服装…

嵌入向量计算示例

嵌入向量计算示例 1. 问题设定场景:电影推荐系统中用户对电影类型的偏好嵌入 输入特征:4种电影类型(动作片、喜剧片、科幻片、爱情片) 嵌入维度:n_e = 2 词汇大小:n_v = 42. 数据表示 (1)独热编码电影类型 独热编码向量动作片 [1, 0, 0, 0]喜剧片 [0, 1, 0, 0]科幻片 […

塔石串口服务器的工作模式有哪些

串口服务器通过支持多种工作模式,实现了串行接口与网络接口之间的数据透明传输,提供了灵活的网络通信解决方案。以下是串口服务器的几种常见工作模式:| TCP Server模式 在TCP Server模式下,串口服务器作为TCP服务器,等待客户端的连接请求。这种模式下,串口服务器会监听一…

【正点原子】全志T113-i开发板震撼上市!异核开发、工控设计方案!新品上市,限时低价!

【正点原子】全志T113-i开发板震撼上市!异核开发、工控设计方案!新品上市,限时低价!ATK-DLT113IS开发板是正点原子基于全志T113-i处理器而研发的一款用于嵌入式Linux领域的开发板,其拥有高性能、高可靠性、低成本和丰富的接口资源,适用于嵌入式系统开发!T113-i芯片框架 …

Stochastic Orders 理解和相关运算(_随时补充)

Recall数学里,用\(o\)和\(O\)表示the order the terms. \(a_n = o(1)\). \(a_n = O(1)\).Stochastic order notation 是一种用来表示随机变量序列概率收敛的速记方法。 \(O_p(1)\)依概率有界; \(o_p(1)\)依概率收敛到0. \(X_n= O_p(a_n)\Leftrightarrow \frac{X_n}{a_n} =O_p…

DCC控制器模型铁路-蓝牙版本

蓝牙版本: 该单元加上App提供了一个完整的DCC控制器,具有击败更昂贵系统的功能。物有所值,可靠,使用简单,定制系统,以匹配您的火车头花名册。 包括F1到F32功能按钮兼容最新的声音解码器 添加您自己的loco名称和函数标题。 -在Android设备(手机或平板电脑)上安装App 对于初…

jMeter的下载和安装

jMeter简介: JMeter 是一款由 Apache 软件基金会开发的开源性能测试工具,主要用于模拟高负载场景下的应用程序行为,帮助开发者评估系统的性能、稳定性和可靠性。 核心功能1. 协议支持广泛:支持 HTTP/HTTPS、FTP、JDBC、SOAP、REST、WebSocket 等多种协议,可对 Web 应用、A…