OceanBase
  • 产品
  • 解决方案
  • 客户
  • 合作伙伴
  • 资源与服务
  • 文档
  • 社区
云控制台登录 / 注册
  • 免费试用
本地部署
OceanBase 分布式数据库

首批通过分布式安全可靠测评,为关键业务系统打造

OceanBase 集中式数据库

集中式架构,兼具性能与成本优势的集中式数据库

OceanBase 社区版

兼容 MySQL 的单机分布式一体化开源数据库

OceanBase seekdb

为现代 AI 应用打造的开源混合搜索数据库

云上部署
OB Cloud

一体化云数据库,打造面向多云的一致性体验

一体机
OceanBase 数据库一体机

软硬一体,提供极致性能与高可靠性保障

OceanBase AI 一体机

基于 OceanBase AI Stack 的智能一体机

工具
迁移评估工具(OMA)
数据迁移工具(OMS)
开发者工具(ODC)
运维管理工具(OCP)
自治服务工具(OAS)
一体化关键能力
TP 事务处理

面向关键业务负载的事务处理能力,保障大规模业务稳定运行与数据零丢失

AP 实时分析

原生支持事务与分析融合,低延迟洞察业务数据,驱动智能决策与敏捷运营

AI 现代负载

湖库一体管理多模态数据离在线处理,AI 原生支撑 Agent 规模化应用

oceanbase白皮书

OceanBase 一体化分布式数据库

通用场景
全场景业务系统 OLTP
实时分析混合负载
异地多活
多基础设施部署
一站式传统数据库升级
混合云部署
一库多芯软硬件混合部署
分布式数据库单机部署
大存储类数据库降本
冷数据归档降本
多实例资源整合
分库分表一体化升级
高并发场景
数据中台
行业解决方案
国有大行和股份制银行核心系统解决方案
区域性银行核心系统解决方案
寿险核心系统解决方案
产险核心系统解决方案
资管交易类系统解决方案
资管 TA 清算类系统解决方案
运营商核心系统解决方案
人社核心系统解决方案
电力核心系统解决方案
行业专区
银行专区

助力银行完成各类核心业务系统升级

保险专区

寿险、产险核心系统升级的更佳选择

零售专区

助力200+零售行业客户规模化落地

DB 大咖说
oceanbase爱奇艺

百亿级卡券业务的“单库双擎”架构升级

oceanbase四川银行

800个测试用例选定分布式数据库

oceanbase太平洋保险

先难后易,核心系统数据库升级复盘

行业案例
oceanbase交通银行

核心数据库的“分布式革命”

oceanbase中国移动

B域核心CRM&BOSS近乎零改造分布式升级

oceanbase理想

打造领先的智能制造系统和自动驾驶体验

演讲实录
oceanbase中国联通

集团应用分布式数据库覆盖B/O/M域

oceanbase国泰海通

智能推送系统稳定支撑单日亿级消息处理量

oceanbase中国联合航空

中国首款机票盲盒背后的数据库力量

用户实践
oceanbase北京银行

最快速度完成40余套系统国产数据库升级

oceanbase维沃移动通信有限公司

替换 MySQL 分库分表,探索成本效益最优

oceanbase滴滴

数据库大规模运维体系建设及落地实践

合作伙伴
合作伙伴类型
联合解决方案
产业生态伙伴
经销商伙伴
技术服务伙伴
培训认证伙伴
生态联合解决方案
神州信息 x OceanBase 银行核心系统
长亮科技 x OceanBase 新核心系统
中电金信 x OceanBase 金融分布式核心系统
天阳科技 x OceanBase 贷记卡方案
易诚互动 x OceanBase 手机银行方案
恒生 x OceanBase UF3.0/O45/TA/估值方案
商业发行版
云树®数据库软件 ActionDB
服务
支持与服务
提交工单
软件下载
OceanBase 企业版
OceanBase 社区版
OB Cloud
学习
培训与认证
在线课堂
在线体验
开发者
开发者中心
资料
行业报告与白皮书
官方博客
年度发布会资料
开发者大会资料
oceanbase白皮书

金融核心系统数据库升级路径与场景实践

oceanbase白皮书

人社关键业务数据库一体化升级实践

产品文档
oceanbaseOceanBase 数据库
驱动和中间件
oceanbaseOB Cloud 云数据库
工具与组件
oceanbaseOceanBase 数据库一体机
生态商业产品
快速上手
OceanBase 数据库
OB Cloud 云数据库
知识库
汇聚常见产品使用问题案例
在线体验

Demo与实验,感受 OceanBase 的核心能力与应用场景

OceanBase 最佳实践
了解 OceanBase 分布式数据库的架构与系统原理
技术博客

技术解析 | 用户实践 | 社区月报

在线课堂

电子书 |视频课程|在线培训

Developer Hub
应用开发Demo | 数据开发与集成工具
问答论坛

快速答疑 | 常见问题 | 技术交流

社区活动

Meetup | 技术公开课

GitHub

查看源码 | 贡献代码 | 建议反馈

加入社区

社区组织 | 社区用户贡献 |开发者贡献

进入社区首页
oceanbase数据库大赛

第五届OceanBase数据库大赛

oceanbase免费课程
从故障处理到性能调优:OceanBase资深DBA进阶培训
切换语言
  • 中文站 - 简体中文
  • International - English
  • 日本站 - 日本語

OceanBase

OceanBase 海扬数据库始创于 2010 年,是完全自主研发的数据库公司。2020年开始独立商业化运作,历经15年大规模核心场景验证,目前是中国数据库的领军企业之一。从分布式数据库到 AI 数据库,为企业提供安全、稳定、可扩展的数据底座,推动数据基础设施全面拥抱 AI 时代。

关于我们

关于 OceanBase最新动态资质荣誉客户专家委员会招贤纳士合作伙伴年度发布会开发者大会

资源与服务

支持与服务文档知识库软件与工具下载培训与认证在线体验数据库专题视频

社区

快速上手开发者中心博客活动学习问答GitHub

数据库百科

分布式数据库国产数据库OLTP 数据库OLAP 数据库HTAP 数据库数据库向量数据库向量检索

联系我们

服务热线:
400-109-0633
商务咨询
培训认证技术支持媒体合作
京公网安备11010802047223号京公网安备11010802047223号
京ICP备20024574号-1
合字B1.B2-20250395
网站服务协议隐私协议安全响应协议
OceanBase 版权所有 © 2026 基础资源和备案服务由阿里云提供
文档反馈
  1. 文档中心
  2. OceanBase 数据库
  3. 分布式版
  4. V4.6.0
  5. 参考指南
  6. 系统原理
  7. 存储架构
  8. 数据存储
  9. 列存
分布式版-V4.6.0
  • What's New
  • 简介
  • 快速上手
  • 应用开发
  • 部署
  • 升级
  • 数据迁移
  • 管理数据库
  • AP
  • AI
  • 共享存储
  • 生态集成
  • 实践教程
  • 参考指南
    • 系统原理
      • 数据库整体架构
      • 数据库的发展历程
      • 多租户架构
      • 数据库对象
      • 分布式数据库对象
      • 数据链路
      • 用户接口和查询语言
      • 事务管理
      • 存储架构
        • 存储架构概述
        • 数据存储
          • 数据存储概述
          • MemTable
          • SSTable
          • 列存
          • 压缩与编码
        • 转储和合并
        • 无共享多级缓存
        • 共享存储多级缓存
        • 查询处理
        • 数据完整性
      • 数据可靠性和高可用
      • 数据库安全
      • OBServer 节点架构
    • 系统管理
    • 数据库对象管理
    • 数据库设计规范和约束
    • SQL 参考
    • PL 参考
    • 系统视图
    • 配置项和系统变量
    • 错误码
    • 性能调优
    • 数据库代理
    • 驱动
    • 平台产品
    • 组件 & 工具
    • 数据库插件
  • 常见问题
  • 版本发布记录
  • 术语
  1. 文档中心
  2. OceanBase 数据库
  3. 分布式版
  4. V4.6.0
  5. 参考指南
  6. 系统原理
  7. 存储架构
  8. 数据存储
  9. 列存

列存

更新时间:2026-06-24 17:08:46

github-fill编辑
编组分享

OceanBase 数据库从诞生起就一直坚持 LSM-Tree 架构,不断打磨功能支持了各类典型的 TP 类型业务,持续优化性能满足各种极限负载压力,积累了大量的工程实践经验,打造出一套纯自主研发且具备充分特色的业界领先 LSM-tree 存储引擎。在 V4.3.0 版本,基于原有技术的积累,OceanBase 数据库的存储引擎继续扩展,实现了对列存的支持,实现存储一体化,一套代码一个架构一个 OBServer,列存数据和行存数据完美共存,真正实现了对 TP 类和 AP 类查询的性能的兼顾。

整体架构

OceanBase 数据库作为原生分布式数据库,用户数据默认为多副本存储。为了利用多副本的优势,进一步增强用户在数据强校验以及迁移数据重用等方面的体验,自研的 LSM-Tree 存储引擎也做了较多的针对性设计。首先,每个用户数据整体可以分成以下两大部分:

  • 基线数据

    不同于其它主流 LSM-Tree 存储引擎的数据库,OceanBase 数据库利用分布式多副本的基础,提出了 “每日合并” 的概念,租户会定期或者根据用户操作选择一个全局版本号,租户数据的所有副本均以该版本完成一轮 Major Compaction,最后生成该版本的基线数据。所有副本同一个版本的基线数据物理上完全一致。

  • 增量数据

    相对基线数据而言,用户数据在最新版本的基线数据之后所有写入的数据均属于增量数据。具体来说,增量数据可以是用户刚写入 MemTable 的内存数据,也可以是已经转储为 SSTable 的磁盘数据。 对于用户数据的所有副本来说,增量数据中的各个副本独立维护,不保证一致,并且不同于基线数据是基于指定版本生成,增量数据会包含所有多版本数据。

基于列存应用场景随机更新量可控的背景,OceanBase 数据库结合自身基线数据和增量数据的特点,提出了一套对上层透明的列存实现方式:

  • 基线数据存储为列存模式,增量数据保持行存,用户的所有 DML 操作不受影响,上下游同步无缝接入,列存表数据仍然可以像行存表一样进行所有事务操作。

  • 列存模式下,每列数据存储为一个独立的 SSTable,所有列的 SSTable 组合成为一个虚拟 SSTable 作为用户的列存基线数据,如下图所示。

  • 根据用户建表时指定的表的存储模式,基线数据可以有行存、列存、行存列存冗余三种模式。

列存模式

除了在存储引擎中实现了列存模式,为了让用户能够更便捷地从其它 AP 数据库中迁移过来,以及帮助之前有 AP 需求的老用户升级到列存,OceanBase 数据库从优化器到执行器以及存储等其它相关模块,都针对列存进行了适配和优化,让用户迁移到列存后对业务基本无感,能够像使用行存一样享受到列存带来的性能优势。也让 OceanBase 数据库真正实现了 TP/AP 一体化,实现一套引擎一套代码支持不同类型业务的目标,打造完善的 HTAP 引擎。

2

  • SQL 一体化

    • 为列存设计实现了新的代价模型,并增加列存相关统计信息,优化器根据数据表的存储模式和代价自动选择计划。

    • 实现新的向量化引擎,完成关键算子的新引擎重构,不同类型计划根据代价自适应选择向量化以及批大小。

  • 存储一体化

    • 对于用户数据,可以根据业务负载类型将表的存储模式灵活设置为列存、行存或者行列冗余模式,用户在执行查询或备份恢复等操作时完全透明。

    • 列存表完全支持所有在线及离线 DDL 操作,完全支持所有数据类型及二级索引的创建,以保证用户在使用上与行存一样。

  • 事务一体化

    增量数据全部为行存,事务内修改日志内容以及进行多版本控制等与行存逻辑完全一致。

核心特性

  • 自适应 Compaction

    引入新的列存存储模式之后,数据合并行为与原有行存数据有较大变化。具体表现在,由于增量数据全部是行存,它需要与基线数据合并后再拆分到每个列的独立 SSTable 中,合并时间和资源占用相对行存会有较大增长。

    为了加速列存表的合并速度,OceanBase 数据库 对 Compaction 流程进行了大幅优化。对于列存表,除了能够像行存表一样进行水平拆分并行合并加速之外,还增加了垂直拆分加速,列存表会将多个列的合并动作放在一个合并任务内进行,并且一个任务内的列数能够根据系统资源自主选择升降,保证整体在合并速度以及内存开销达到更好的平衡。

  • 列式编码算法

    一直以来,OceanBase 数据库的存储数据都会经过两级压缩,第一级是 OceanBase 数据库自研的行列混合编码压缩;第二级是通用压缩。其中,行列混合编码由于是数据库内置算法,可以支持不解压直接查询,同时还可以利用编码信息进行查询过滤加速,尤其对 AP 类查询会有极大的加速。

    由于原有行列混合编码算法仍然偏向行组织,OceanBase 数据库针对列存表又实现了全新的列式编码算法。相比原有的编码算法,新算法支持查询的全面向量化执行,支持兼容不同指令集的 SIMD 优化,同时针对数值类型大幅提高压缩比,实现了对原有算法在性能和压缩比上的全面提升。

  • Skip Index

    常见的列存数据库一般均会对每列数据按照一定的粒度进行预聚合计算,聚合的结果随数据一起持久化,以便当用户查询请求访问列数据时,数据库能够通过预聚合数据过滤数据,大幅减少数据访问开销,减少不必要的 IO 消耗。

    在列存引擎中,OceanBase 数据库同样增加了 Skip Index 的支持,针对每列数据会按照微块粒度进行最大值、最小值以及 Null 总量等多个维度的聚合计算,并逐层向上聚合累加获得宏块、SSTable 等更大粒度的聚合值,用户在查询时,系统能够根据扫描范围不断下钻选取合适粒度的聚合值进行过滤以及聚合输出。

  • 查询下压

    OceanBase 数据库从 V3.2.x 版本开始初步支持简单的查询下压,从 V4.x 版本开始,存储全面支持了向量化以及更多的下压支持,在列存引擎中,下压功能进一步得到增强和扩展,具体表现在以下几个方面:

    • 所有查询 Filter 下压,同时根据 Filter 类型,能够进一步利用 Skip Index 以及编码信息加速。

    • 常用聚合函数的下压,非 Group By 场景下,目前 COUNT()、MAX()、MIN()、SUM()、AVG() 等聚合函数已能下压到存储引擎。

    • Group By 下压,在 NDV(Number of Distinct Values) 较少的列上,支持 Group By 下压存储计算,利用微块内字典信息进行大幅加速。

相关文档

  • 有关创建列存表的信息,参见 创建表(MySQL 模式) 和 创建表(Oracle 模式)。
  • 有关 Skip Index 的信息,参见 列 Skip Index 属性(MySQL 模式) 和 列 Skip Index 属性(Oracle 模式)。

本文目录

整体架构核心特性相关文档
有帮助
无帮助
反馈
AI