001
核心概念学习地图
架构与概念
核心概念学习地图:按架构层→存储层→事务层→对象层→接入层的顺序串联 OceanBase 核心概念。
002
多租户架构学习地图
架构与概念
多租户架构学习地图:理解租户如何同时承担资源隔离单元和数据库对象容器的双重角色。
003
高可用与备份学习地图
架构与概念
高可用与备份学习地图:梳理副本、选举、租约、日志同步和备份恢复,理解 OceanBase 的容灾体系与 RPO/RTO 保障。
004
存储架构学习地图
存储引擎
存储架构学习地图:按数据写入、冻结、转储、合并到查询的顺序,串起 MemTable、SSTable 与 Compaction 的全链路。
005
事务管理学习地图
事务一致性
事务管理学习地图:梳理 MVCC、GTS、2PC、隔离级别、Redo 日志和锁的协作关系。
006
系统视图学习地图
视图与监控
系统视图学习地图:建立对象检索、运行诊断、拓扑定位、资源均衡和存储整理五类问题的视图入口。
007
配置项与系统变量学习地图
配置与变量
配置项与系统变量学习地图:理解集群/租户/会话三级参数边界、生效范围与版本迁移关系。
008
线程与后台任务学习地图
运维管理
线程与后台任务学习地图:理解租户工作线程与共享后台线程如何协作承载 SQL、事务、复制和存储整理任务。
009
租户
架构与概念
租户(Tenant)是 OceanBase 中资源隔离和数据库对象管理的基本单元,同时承担资源容器和对象容器两种角色。
010
资源池
架构与概念
资源池(Resource Pool)是租户资源的逻辑集合,由多个资源单元(Unit)组成,用于管理集群中的资源分配。
011
资源单元
架构与概念
资源单元(Unit)是 OceanBase 中最小的资源分配单位,定义了 CPU、内存、磁盘 IOPS 等资源配额。
012
Tablet
架构与概念
Tablet 是 OceanBase 存储层的数据分片单位,一张表的数据可按规则划分为多个 Tablet 分布到不同节点。
013
日志流
架构与概念
日志流(Log Stream)是 OceanBase 复制层的最小单元,一个日志流对应一组 Paxos 副本,承载多个 Tablet 的数据同步。
014
Paxos
架构与概念
Paxos 是 OceanBase 分布式共识协议的核心实现,用于保证多副本之间的数据一致性和高可用。
015
租约
架构与概念
租约(Lease)是 OceanBase 选举机制中的时间约束,用于防止脑裂并保证 Leader 的合法性。
016
全局时间戳服务
架构与概念
全局时间戳服务(GTS)为分布式事务提供全局单调递增的时间戳,是 MVCC 和一致性读的基础。
017
ODP
架构与概念
ODP(OceanBase Database Proxy)是 OceanBase 的接入层代理,负责 SQL 路由、负载均衡和读写分离。
018
Primary Zone
架构与概念
Primary Zone 决定日志流 Leader 副本的偏好放置位置,影响读写请求的本地性。
019
Locality
架构与概念
Locality 定义了日志流副本在 Zone 级别的分布策略,决定数据副本放哪里。
020
主备租户
架构与概念
主备租户是 OceanBase 提供的灾备方案,通过日志同步实现跨集群的数据保护。
021
服务名
架构与概念
服务名(Service Name)为租户提供逻辑访问入口,支持透明的故障切换和负载均衡。
022
仲裁服务
架构与概念
仲裁服务在 Paxos 三副本架构中作为轻量级 witness,参与选举但不含数据,降低成本。
023
配置项与系统变量的区别
架构与概念
配置项(Parameter)与系统变量(System Variable)的区别:前者作用于集群/租户级并持久化,后者作用于会话级。
024
MemTable
存储引擎
MemTable 是 OceanBase 的内存数据结构,采用 BTree 索引组织活跃数据,提供高并发写入能力。
025
SSTable
存储引擎
SSTable 是 OceanBase 的磁盘存储格式,采用行列混存和微块组织,支持高效压缩和范围查询。
026
Major Compaction
存储引擎
Major Compaction(全局合并)将增量数据与基线数据全量合并,重新整理编码并清理过期版本。
027
Minor Compaction
存储引擎
Minor Compaction(转储合并)将 MemTable 冻结后的数据与已有 SSTable 合并,解决读放大问题。
028
Redo 日志
存储引擎
Redo 日志记录事务的物理修改,是崩溃恢复和副本同步的基础,采用 WAL 机制保证持久性。
029
转储管理概述
存储引擎
转储管理概述:介绍 Minor Compaction 的触发方式、执行流程和配置策略。
030
合并管理概述
存储引擎
合并管理概述:介绍 Major Compaction 的触发条件、执行阶段和对性能的影响。
031
数据压缩概述
存储引擎
数据压缩概述:介绍 OceanBase 的行存/列存压缩算法、编码方式和压缩率调优。
032
自动触发转储
存储引擎
自动触发转储:由 MemStore 使用率和增量文件积累共同驱动的冻结与转储自我保护机制。
033
自适应合并
存储引擎
自适应合并:基于查询、写入和增量数据形态主动调度额外整理,修复读放大而非仅靠固定阈值。
034
多版本并发控制
事务一致性
多版本并发控制(MVCC)通过维护数据的多个版本来实现读写不阻塞,是 OceanBase 高并发的基础。
035
两阶段提交
事务一致性
两阶段提交(2PC)是 OceanBase 分布式事务的提交协议,协调多个参与者的原子性提交。
036
事务隔离级别
事务一致性
事务隔离级别定义了事务之间的可见性规则,OceanBase 支持读已提交和可串行化两种级别。
037
lock for read
事务一致性
lock for read 是特定事务状态下的读锁等待机制,与普通行锁等待在语义和实现上有区别。
038
Plan Cache
SQL优化
Plan Cache 缓存 SQL 的执行计划,避免重复解析和优化,提升短查询的吞吐。
039
优化器
SQL优化
优化器基于代价模型选择最优执行计划,支持 RBO 和 CBO 两种优化策略。
040
分区裁剪
SQL优化
分区裁剪是优化器根据查询条件自动排除无关分区的技术,可显著减少扫描数据量。
041
SQL 调优实践
SQL优化
SQL 调优实践:从执行计划分析、索引优化、改写建议到参数调优的完整方法论。
042
V$OB_SQL_AUDIT / GV$OB_SQL_AUDIT
SQL优化
V$OB_SQL_AUDIT 和 GV$OB_SQL_AUDIT 视图记录 SQL 执行历史,是慢查询分析和性能诊断的核心工具。
043
局部索引
对象管理
局部索引(Local Index)的数据与主表数据存储在同一分区,分区键必须是索引前缀。
044
全局索引
对象管理
全局索引(Global Index)的数据可跨分区存储,支持任意列作为索引键,但维护代价更高。
045
表组
对象管理
表组(Table Group)将多张表的数据按相同分区策略绑定到同一 Tablet,减少分布式 Join 的跨节点访问。
046
视图
对象管理
视图是基于 SQL 查询结果的虚拟表,可简化复杂查询并控制数据访问权限。
047
外表
对象管理
外表(External Table)映射外部存储系统(如 HDFS、OSS)的数据,无需导入即可查询。
048
JSON 数据类型
对象管理
JSON 数据类型支持半结构化数据的存储和查询,提供路径访问、索引和约束能力。
049
关于表
对象管理
关于表:OceanBase 中表的逻辑结构、存储方式以及与 Tablet、分区的关系。
050
创建表
对象管理
创建表:列定义、约束、分区规则、表属性等建表语法和最佳实践。
051
分区概述
对象管理
分区概述:Range、Hash、List 等分区策略的原理和适用场景。
052
创建分区表
对象管理
创建分区表:分区键选择、分区数规划、二级分区的创建方法。
053
索引概述
对象管理
索引概述:BTree 索引、全文索引、函数索引等类型和选择策略。
054
局部索引
对象管理
局部索引的创建、维护和使用场景,以及与分区表的配合。
055
全局索引
对象管理
全局索引的创建、维护和使用场景,以及全局索引与局部索引的选择。
056
管理视图
对象管理
管理视图:视图的创建、修改、删除以及可更新视图的使用限制。
057
定义自增列
对象管理
定义自增列:分布式环境下自增列的 ORDER/NOORDER 模式取舍,以及缓存与热点规避。
058
系统视图
视图与监控
系统视图以虚拟表形式暴露数据库内部状态,分为字典视图和动态性能视图两类。
059
动态性能视图
视图与监控
动态性能视图实时反映系统运行状态,数据来自内存,重启后清零。
060
QPS
视图与监控
性能监控:介绍 OCP 性能监控面板、关键指标解读和趋势分析方法。
061
系统视图使用与访问总览
视图与监控
系统视图使用与访问总览:系统视图的分类、访问权限和常用查询模式。
062
备份、归档与恢复相关视图
视图与监控
备份、归档与恢复相关视图:用于查看备份任务、归档进度和恢复状态。
063
合并、存储与日志流运行视图
视图与监控
合并、存储与日志流运行视图:监控 Compaction 进度、存储空间和日志流状态。
064
对象与定义相关视图
视图与监控
对象与定义相关视图:查询表、列、索引、约束等元数据信息。
065
分区、Tablet 与拓扑相关视图
视图与监控
分区、Tablet 与拓扑相关视图:查看分区分布、副本位置和 Leader 信息。
066
资源、租户与负载均衡相关视图
视图与监控
资源、租户与负载均衡相关视图:监控 Unit 分布、资源使用和负载均衡状态。
067
权限、安全与审计相关视图
视图与监控
权限、安全与审计相关视图:查询用户权限、角色分配和审计日志。
068
会话、SQL 与性能监控视图
视图与监控
会话、SQL 与性能监控视图:诊断活跃会话、慢查询和锁等待。
069
集群级配置项
配置与变量
集群级配置项作用于整个 OceanBase 集群,如副本数、Zone 配置等全局参数。
070
租户级配置项
配置与变量
租户级配置项作用于单个租户,如并行度、内存限制等租户隔离参数。
071
Global 系统变量
配置与变量
Global 系统变量在租户范围内生效,修改后影响所有新建会话。
072
Session 系统变量
配置与变量
Session 系统变量仅对当前会话生效,优先级高于 Global 变量。
073
配置项与系统变量总览
配置与变量
配置项与系统变量总览:分类体系、生效范围、修改方式和查看方法。
074
配置项:备份、归档与恢复
配置与变量
配置项:备份、归档与恢复相关参数的配置说明和调优建议。
075
配置项:转储、合并与冻结
配置与变量
配置项:转储、合并与冻结相关参数,控制 Compaction 触发条件和资源消耗。
076
系统变量:兼容性与模式行为
配置与变量
系统变量:兼容性与模式行为,包括 MySQL/Oracle 模式切换和语法兼容设置。
077
配置项:资源、线程与调度
配置与变量
配置项:资源、线程与调度相关参数,控制 CPU、I/O 和任务调度策略。
078
配置项:安全、审计与网络
配置与变量
配置项:安全、审计与网络相关参数,包括 SSL、防火墙和审计策略。
079
系统变量:安全、会话与诊断
配置与变量
系统变量:安全、会话与诊断相关变量,控制密码策略、会话超时和诊断输出。
080
配置项:SQL 执行与优化器
配置与变量
配置项:SQL 执行与优化器相关参数,影响执行计划选择和并行执行。
081
系统变量:SQL 执行行为
配置与变量
系统变量:SQL 执行行为相关变量,控制结果集缓存、超时和批处理策略。
082
配置项:存储、日志与磁盘
配置与变量
配置项:存储、日志与磁盘相关参数,控制 SSTable 大小、日志刷盘策略和磁盘限额。
083
系统变量:超时与限流控制
配置与变量
系统变量:超时与限流控制变量,包括语句超时、事务超时和连接数限制。
084
V4.x 版本中系统变量相关的变更
配置与变量
V4.x 版本中系统变量相关的变更汇总,帮助从旧版本平滑迁移。
085
OceanBase 云平台运维最佳实践
运维管理
运维最佳实践:部署规范、变更管理、日常巡检和常见问题处理指南。
086
OceanBase 运维容灾与高可用实践
运维管理
运维容灾与高可用实践:备份策略、故障切换、数据恢复和 RPO/RTO 保障。
087
内存管理概述
运维管理
内存管理概述:OceanBase 的内存架构、内存分类和内存上限控制机制。
088
OceanBase 线程简介
运维管理
OceanBase 线程简介:工作线程、后台线程和线程池的组织结构与职责。
089
OceanBase 数据库后台线程
运维管理
后台线程:各类后台任务线程的功能、触发条件和资源消耗控制。
090
配置磁盘数据文件的动态扩容
运维管理
配置磁盘数据文件的动态扩容:在线扩展数据文件大小而无需停服的操作方法。
091
OceanBase 数据库多租户线程
运维管理
多租户线程:每个租户拥有独立工作线程与请求队列,是资源隔离和请求调度的核心实现。
092
多租户线程常见问题
运维管理
多租户线程常见问题:线程名解读、线程数决定因素、CPU 隔离成立条件和线程上限行为。
093
执行计划缓存内存管理
运维管理
执行计划缓存内存管理:Plan Cache 通过高低水位与淘汰周期控制自身膨胀,避免挤占租户内存。
094
常见内存问题
运维管理
常见内存问题:典型报错 OB-4030 的根因分类,包括租户超限、MemStore 堆积、流量失控和基线失衡。
095
查看线程状态
运维管理
查看线程状态:通过 GV$OB_THREAD 区分租户线程与后台线程,定位运行、等待和锁争用状态。
096
对象命名规范综述
设计规范
对象命名规范综述:数据库、表、列、索引等对象的统一命名规则和约束。
097
字段设计
设计规范
字段设计:数据类型选择、精度控制、默认值设置和空值处理规范。
098
表结构设计
设计规范
表结构设计:范式与反范式的平衡、宽表与窄表的选择、冗余字段策略。
099
分区表设计
设计规范
分区表设计:分区键选择原则、分区数量规划和热点规避策略。
100
索引设计
设计规范
索引设计:索引列选择、覆盖索引策略、索引维护开销和全局/局部索引选择。