首页 > 数据库 > > 实战教程第一章:OceanBase 数据库概述
OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发的项目。OceanBase 数据库构建在通用服务器集群上,基于 Paxos 协议和分布式架构,提供金融级高可用和线性伸缩能力,不依赖特定硬件架构,具备高可用、线性扩展、高性能、低成本等核心技术优势。
OceanBase 数据库具有如下特点:
OceanBase 数据库支持支付宝的全部核心业务,以及银行、保险、证券、运营商等多个行业的数百个客户的核心业务系统。
在使用 OceanBase 之前,我们先对 OceanBase 的历史做一个简单的了解。

OceanBase 在 2021年6月份正式推出社区版并开放源码,版本从 3.1.0 开始,源码托管地址:github.com/oceanbase。同时代码也同步发布到开源中国网站:gitee.com/oceanbase 。 开源的内容包括:
obproxyobclientOBDobconnector-coblogproxy 和 canal 插件obagentobspark(待开源)跟其他开源数据库不一样的地方是, OceanBase 先有企业版后有社区版。先有大企业商业版案例,再有社区版案例。社区版和企业版的核心能力是一样的。
典型客户如下:
详细案例请查看:https://customer/home 。更多行业和客户还没有在这里列出。
OceanBase 本质上是个单进程软件,独立部署,跟硬件、云平台没有绑定关系。可以部署在各个云厂商的云服务器上。OceanBase 在阿里云也有公有云数据库服务(https://www.aliyun.com/product/oceanbase)。
OceanBase 在公有云上(包括在 ECS 上独立部署的)客户案例有:
OceanBase 数据库社区版使用 MulanPubL - 2.0 许可证 。您可以免费复制及使用源代码。当您修改或分发源代码时,请遵守木兰协议。 OceanBase 社区版官方网站地址是:open.oceanbase.com 。
下载方法
支持的操作系统
OceanBase 社区版支持的操作系统包括:
跟MySQL 数据库的不同
OceanBase 社区版兼容 MySQL 语法功能(主要是 5.6 的绝大部分语法,部分 8.0 的新特性等),底层原理跟 MySQL 完全没有关系,不依赖开源 MySQL 组件,没有 InnoDB 引擎等。 OceanBase 自身的存储引擎相比 MySQL 的存储,空间压缩效果更明显,社区版的压缩效果可以做到 MySQL 空间的四分之一。
OceanBase 是分布式数据库集群产品,生产环境默认数据三副本,并且三副本之前同步协议不是异步同步、半同步同步技术,而是使用 Paxos 协议同步事务日志。OceanBase 集群可以跨机房跨城市部署,机器或者机房故障时,集群内部多副本自动切换,不丢数据。OceanBase 天然适合两地三中心异地容灾和多活建设。
OceanBase 集群支持多租户(也叫多实例),所有的租户按需分配,弹性伸缩,具备高可用能力,类似云数据库服务。运维人员只需要维护少数几套集群,就可以提供很多实例给业务使用,易用性非常好。
OceanBase 支持水平拆分技术,具体就是分区表,不需要分库分表,SQL 和事务对业务完全透明,功能上没有限制。分区表线性扩展性也很好,目前已知案例最大单租户节点规模是 1500 台。
OceanBase 的 SQL 引擎能力远比 MySQL 功能强大,支持 SQL 解析和执行计划缓存,支持复杂的 SQL 运算,支持大纲技术干预 SQL 执行计划等。同时一套 SQL 引擎 一个数据源 同时支持 OLTP 和 ROLAP 类型的混合场景需求。即通常说的 HTAP 能力。
社区版核心功能 OceanBase 社区版包含 OceanBase 企业版的所有核心功能,如下:
OceanBase 社区版跟企业版的差异在于企业版会包含更多高级功能。如商业特性兼容、图形化管理工具、操作审计、安全加密、高可用扩展等。有关企业版信息请查看企业版官方网站(oceanbase.com)。
MySQL 实例规模大,需要自动化运维平台。自动化运维平台在处理 MySQL 异常宕机切换和主备不一致问题时很可能需要 DBA 介入。高可用和强一致问题是MySQL 最大的风险。 OceanBase 的多租户、高可用和强一致能力可以彻底解决这个痛点。
MySQL 业务数据量增长到 几T 以上时,查询和读写性能可能会下降,大表 DDL 时间变长风险增加。单机磁盘容量可能到达扩容瓶颈。 OceanBase MySQL租户的在线 DDL,数据存储高压缩比可以解决这些痛点。
业务访问压力大,基于MySQL 改造的分布式数据库中间件产品能一定程度分担业务压力和存储空间压力,但是缺乏跨节点的强一致性查询,以及需要分布式事务中间件协调事务,扩容的时候可能要数据逻辑拆分(俗称拆库拆表),运维成本高,风险高。 OceanBase MySQL 租户提供分区表的水平拆分方案,提供原生的 SQL 和事务能力,对业务透明。并且支持在线扩容和缩容,内部数据迁移异步进行,具备高可用能力,不怕扩容和缩容过程中出现故障,可以解决上面这些痛点。
交易数据库上有少量复杂的查询场景,涉及到的数据量很大,传统解决方案是通过数据同步到数据仓库进行查询。OceanBase 数据库的 SQL 引擎同时满足 OLTP 和 OLAP 场景,采用经过 ORACLE 复杂业务场景检验的先进的SQL优化器技术,能支持复杂的SQL优化和高效执行。因此可以在交易数据库上直接做复杂查询,减少不必要的数据同步。此外,OceanBase 还提供不同程度的读写分离技术来控制复杂查询对交易场景的影响。
其他更多场景待实践总结,敬请关注。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3160160/ ,如需转载,请注明出处,否则将追究法律责任。