之前,我们推出了 《OceanBase DBA 从入门到实践》系列课程,包含安装部署、迁移同步、测试、运维、诊断调优等几个章节。感兴趣的同学可以长按下方二维码复习:

为了进一步提高用户使用 OceanBase 社区版的效率,我们为大家整理了入门教程的完整版学习笔记,希望能在大家使用 OceanBase 的过程中带来一些帮助!
🧡 说明:
学习笔记里所贴官网文档链接版本均为编写教程时的最新版本,若和您正在使用的版本不匹配,请在文档所在网页左上角选择适当的版本。
一、OceanBase 数据库概述
OceanBase 数据库是一款完全自研的原生分布式数据库,已连续 11 年稳定支撑双 11,创新推出“三地五中心”城市级容灾新标准,是目前全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的原生分布式数据库。
产品采用自研的一体化架构,兼顾分布式架构的扩展性与集中式架构的性能优势,用一套引擎同时支持 TP 和 AP 的混合负载,具有数据强一致、高可用、高性能、在线扩展、高度兼容 Oracle/MySQL、对应用透明、高性价比等特点。OceanBase 14 年持续深耕海量核心场景,已助力金融、政务、运营商、零售、互联网等多个行业的 1000+ 客户实现关键业务系统升级。
OceanBase 的核心特性包括以下几个方面:
1、高可用:首创“三地五中心”容灾架构方案,建立金融行业无损容灾新标准。支持同城/异地容灾,可实现多地多活,满足金融行业 6 级容灾标准(RPO=0,RTO<8s),数据零丢失。
2、高兼容:社区版高度兼容 MySQL,覆盖绝大多数常见功能,支持过程语言、触发器等高级特性,提供自动迁移工具,支持迁移评估和反向同步以保障数据迁移安全,可支撑金融、政府、运营商、互联网等行业关键业务场景。
3、水平扩展:实现透明水平扩展,支持业务快速的扩容缩容,同时通过准内存处理架构实现高性能。支持集群节点数千个,单集群最大数据量超过 3PB,最大单表行数达万亿级。
4、低成本:基于 LSM-Tree 的高压缩引擎,实现存储成本降低 70%-90%。同时,由于原生支持多租户架构,同集群可为多个独立业务提供服务,且租户间数据隔离,降低部署和运维成本。
5、实时 HTAP:基于“同一份数据,同一个引擎”,同时支持在线实时交易及实时分析两种场景,“一份数据”的多个副本可以存储成多种形态,用于不同工作负载,从根本上保持数据一致性。
6、安全可靠:自 2010 年开始完全自主研发,代码级可控,自研单机分布式一体化架构,连续多年通过大规模金融核心场景的可靠性验证。
二、OceanBase 数据库社区版概述
OceanBase 数据库社区版使用 MulanPubL-2.0 许可证 ,您可以免费复制及使用源代码。当您修改或分发源代码时,请遵守木兰协议。
OceanBase 数据库社区版官方网站地址:
https://open.oceanbase.com
(一)社区版核心功能
OceanBase 数据库社区版包含 OceanBase 数据库企业版的所有核心功能,具体如下:
✅ 多副本高可用、强同步能力
✅ 多租户能力
✅ 在线弹性伸缩能力
✅ 异地容灾/多活能力(包括两地三中心、三地五中心等)
✅ 分区表、复制表等分布式能力
✅ HTAP 能力
✅ MySQL 兼容性
✅ 备份恢复能力
✅ CDC 能力
(二)下载方法
官网下载:
https://open.oceanbase.com/softwareCenter/community
GitHub 下载:
https://github.com/oceanbase/oceanbase/releases/
阿里云 Yum 源:
https://mirrors.aliyun.com/oceanbase/OceanBase.repo
(三)支持的操作系统
OceanBase 数据库社区版支持的操作系统,请点击通过下方链接或二维码,查看《OceanBase 数据库》相关文档。
部署 OceanBase 软硬件要求:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218709

(四)与 MySQL 数据库的不同
OceanBase 数据库底层原理与 MySQL 无关,不依赖开源 MySQL 组件,不涉及 InnoDB 引擎等。但 OceanBase 数据库社区版兼容 MySQL 语法功能(兼容 MySQL 5.6、MySQL 5.7 的绝大部分语法,部分 MySQL 8.0 的新特性)。
OceanBase 数据库自身的存储引擎与 MySQL 的存储引擎相比,空间压缩效果更明显,存储成本降低 70%-90%。
OceanBase 数据库是分布式数据库集群产品,生产环境默认三副本,并且三副本之间的同步协议不是异步同步或半同步,而是使用 Paxos 协议同步事务日志。OceanBase 集群可以跨机房跨城市部署,机器或者机房故障时,集群内部多副本自动切换,不丢数据。因此 OceanBase 数据库天然适合两地三中心异地容灾和多活建设。
OceanBase 集群支持多租户(也叫多实例),所有的租户按需分配,弹性伸缩,具备高可用能力,类似于云数据库服务。运维人员只需要维护少数几套集群,就可以提供很多实例给业务使用,易用性非常好。
OceanBase 数据库支持水平拆分技术,具体体现为分区表,不需要分库分表,SQL 和事务对业务完全透明,功能上没有限制。分区表线性扩展性较好,目前已知案例最大单租户节点规模是 1500 台。
OceanBase 数据库的 SQL 引擎比 MySQL 更加强大:支持对执行计划进行缓存,减少对相同 SQL 反复生成同样的执行计划带来的开销;支持通过使用 hint 和 outline 对 SQL 执行计划的形态进行干预;支持分布式场景和复杂场景下的计划生成和 SQL 计算等等。同时 OceanBase 数据库也支持 OLTP 和 OLAP 类型的混合场景需求,即通常说的 HTAP 能力。
(五)适合社区版的业务场景
📕 场景一:MySQL 5.6/5.7 实例规模较大
MySQL 实例规模较大,需要自动化运维平台的场景下。自动化运维平台在处理 MySQL 异常宕机切换和主备不一致问题时很可能需要 DBA 介入。高可用和强一致问题是 MySQL 的风险隐患所在,OceanBase 数据库的多租户、高可用和强一致能力可以彻底解决这个痛点。
📕 场景二:MySQL 5.6/5.7 数据量大、存储成本高
MySQL 业务数据量增长到数 TB 时,查询和读写性能可能会下降,大表 DDL 时间变长,风险增加,单机磁盘容量可能到达扩容瓶颈。OceanBase 数据库 MySQL 租户的在线 DDL、数据存储高压缩比可以解决这些痛点。
📕 场景三:业务访问压力大或者变化多
基于 MySQL 改造的分布式数据库中间件产品能分担一定程度的业务压力和存储空间压力,但是缺乏跨节点的强一致性查询,并且需要分布式事务中间件协调事务,扩容的时候可能需要数据逻辑拆分(俗称拆库拆表),不仅运维成本高,风险也高。OceanBase 数据库 MySQL 租户提供分区表的水平拆分方案,提供原生的 SQL 和事务能力,对业务透明。并且 OceanBase 数据库支持在线扩容和缩容,内部数据迁移异步进行,具备高可用能力,不怕扩容和缩容过程中出现故障,可以解决上面这些痛点。
📕 场景四:交易数据库上的复杂查询
交易数据库上有少量复杂的查询场景,涉及到的数据量很大,传统解决方案是通过数据同步到数据仓库进行查询。OceanBase 数据库的 SQL 引擎同时满足 OLTP 和 OLAP 场景,采用经过 Oracle 复杂业务场景检验的先进的 SQL 优化器技术,能支持复杂的 SQL 优化和高效执行。因此可以在交易数据库上直接做复杂查询,减少不必要的数据同步。此外,OceanBase 数据库还提供不同程度的读写分离技术来控制复杂查询对交易场景的影响。
更多的场景实践,请通过下方地址和二维码,访问官网企业案例。
企业案例:
https://open.oceanbase.com/blog/topics/4315782144?_gl=1*127dddf*_ga*MTA2NDMyOTU4OS4xNzIxMjEwNjE0*_ga_T35KTM57DZ*MTczMjY3Njg5NC4zMDkuMS4xNzMyNjc5NTU4LjYwLjAuMA..

三、OceanBase 数据库社区版和企业版的功能差异
OceanBase 数据库社区版跟企业版的差异在于企业版会包含更多高级功能,如商业特性兼容、操作审计、安全加密等。以 V4.2.2 为例,企业版和社区版支持的功能如下所示:
1、核心组件

2、高可用

3、兼容性

4、高性能

5、跨数据源

6、多模

7、安全

8、运维管理

9、支持与服务

社区版和企业版不同版本的具体功能差异,可通过下方链接或二维码,查看官网《OceanBase 数据库》文档对应版本【OceanBase 简介/企业版和社区版的功能差异】一文。
企业版和社区版的功能差异:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000217919

四、OceanBase 数据库社区版产品动态
OceanBase 数据库社区版产品动态可通过下方链接或二维码,查看官网的版本发布记录。
OceanBase 数据库 V4.3.4 版本发布记录:
https://www.oceanbase.com/product/oceanbase-database-community-rn/releaseNote

五、OceanBase 数据库 4.x 版本和3.x 版本的系统表和系统视图变更
相较于 OceanBase 数据库 3.x 版本,OceanBase 数据库 4.x 版本在稳定性、性能等方面有极大提升,并新增许多功能,其中,我们对内部表和虚拟表做了很多改造,同时提供了系统视图用于信息展示。简言之,4.x 版本最大的变化是内部信息的查询全面转向视图,统一定义的视图会保持版本间兼容,信息也更清晰。
V4.x 和 V3.x 的具体系统视图变更可通过下方链接或二维码,查看官网《OceanBase 数据库》文档 【3.x 与 4.x 视图变更】 一文。
3.x 与 4.x 视图变更:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218192

点击下方链接,查看英文版学习笔记




