分布式数据库OceanBase概述

0    215    2

Tags:

👉 本文共约3218个字,系统预计阅读时间或需13分钟。

参考:https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/chapter-1-overview-of-the-oceanbase-database

概述

OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发的项目。OceanBase 数据库构建在通用服务器集群上,基于 Paxos 协议和分布式架构,提供金融级高可用和线性伸缩能力,不依赖特定硬件架构,具备高可用、线性扩展、高性能、低成本等核心技术优势。

OceanBase 数据库具有如下特点:

  • 高可用

    单服务器故障能够自愈,支持跨城多机房容灾,数据零丢失,可满足金融行业 6 级容灾标准(RPO=0,RTO<=30 秒)。

  • 线性扩展

    透明扩展,自动负载均衡,应用透明的水平扩展,集群规模可超过 1500 节点,数据量可达 PB 级,单表记录万亿行。

  • MySQL/ORACLE 高度兼容

    社区版兼容 MySQL 协议、语法和使用习惯,MySQL 客户端工具可以直接访问 OceanBase 数据库。

    企业版兼容 MySQL、ORACLE 协议。需要使用 OceanBase 自己的驱动才可以访问 OceanBase 数据库的 ORACLE 租户。

    说明 MySQL 从 5.6 开始兼容,ORACLE 从 ORACLE 11g 开始兼容。

  • 高性能

    准内存级数据变更操作、独创的编码压缩技术,结合线性水平扩展,TPC-C 测试达到 7.07 亿 tpmC。

  • 低成本

    使用 PC 服务器和低端 SSD,高存储压缩率降低存储成本,高性能降低计算成本,多租户混部充分利用系统资源。

  • 多租户

    原生支持多租户构架,同一套数据库集群可以为多个独立业务提供服务,租户间数据隔离,降低部署和运维成本。

OceanBase 数据库支持支付宝的全部核心业务,以及银行、保险、证券、运营商等多个行业的数百个客户的核心业务系统。

OceanBase 业务案例

与其他开源数据库略显不同, OceanBase 先有企业版后有社区版、先有大企业商业版案例再有社区版案例。但社区版和企业版的核心能力是一样的。

典型客户如下:

  • 自用:蚂蚁集团(包括支付宝、网商银行)。
  • 银行:中国工商银行、南京银行、东莞银行、天津银行、苏州银行、常熟农商银行。
  • 保险:中国人民保险、中华保险。
  • 证券:招商证券、上投摩根。
  • 非金融行业:浙江移动、山东移动、数字江西、中国石化。

更多行业和客户案例,您可点击网页链接查看详细情况:https://www.oceanbase.com/customer/home

OceanBase 本质上是个单进程软件,独立部署,跟硬件、云平台没有绑定关系。可以部署在各个云厂商的云服务器上。OceanBase 在阿里云也有公有云数据库服务(https://www.aliyun.com/product/oceanbase)。

OceanBase 在公有云上(包括在 ECS 上)独立部署的客户案例有:

  • 中华联合财险
  • 菲律宾版支付 GCash
  • 印度尼西亚电子钱包 DANA

OceanBase 社区版简介

OceanBase 数据库社区版使用 MulanPubL - 2.0 许可证 。您可以免费复制及使用源代码。当您修改或分发源代码时,请遵守木兰协议。 OceanBase 社区版官方网站地址是: https://open.oceanbase.com

下载方法

支持的操作系统

OceanBase 社区版支持的操作系统包括:

  • CentOS :推荐 7.2 以后版本。

  • Debian :推荐 9.8、10.9 版本。

  • openSUSE :推荐 15.2 版本。

  • OpenAnolis:推荐 8.2 版本。

  • SUSE : 推荐 15.2 版本。

  • Ubuntu:推荐 16.04 、18.04、20.04 等版本。

与 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 能力。

适合社区版的业务场景

  • MySQL 5.6/5.7 实例规模很大的场景。

    MySQL 实例规模大,需要自动化运维平台。自动化运维平台在处理 MySQL 异常宕机切换和主备不一致问题时很可能需要 DBA 介入。高可用和强一致问题是 MySQL 最大的风险。 OceanBase 的多租户、高可用和强一致能力可以彻底解决这个痛点。

  • MySQL 5.6/5.7 数据量非常大、存储成本高的场景。

    MySQL 业务数据量增长到几 T 以上时,查询和读写性能可能会下降,大表 DDL 时间变长,风险增加。单机磁盘容量可能到达扩容瓶颈。

    OceanBase MySQL 租户的在线 DDL,数据存储高压缩比可以解决这些痛点。

  • 业务访问压力大或者变化大的场景。

    业务访问压力大,基于 MySQL 改造的分布式数据库中间件产品能分担一定程度的业务压力和存储空间压力,但是缺乏跨节点的强一致性查询,以及需要分布式事务中间件协调事务,扩容的时候可能需要数据逻辑拆分(俗称拆库拆表),运维成本高,风险高。

    OceanBase MySQL 租户提供分区表的水平拆分方案,提供原生的 SQL 和事务能力,对业务透明。并且支持在线扩容和缩容,内部数据迁移异步进行,具备高可用能力,不怕扩容和缩容过程中出现故障,可以解决上面这些痛点。

  • 交易数据库上的复杂查询场景。

    交易数据库上有少量复杂的查询场景,涉及到的数据量很大,传统解决方案是通过数据同步到数据仓库进行查询。

    OceanBase 数据库的 SQL 引擎同时满足 OLTP 和 OLAP 场景,采用经过 ORACLE 复杂业务场景检验的先进的 SQL 优化器技术,能支持复杂的 SQL 优化和高效执行。因此可以在交易数据库上直接做复杂查询,减少不必要的数据同步。此外,OceanBase 还提供不同程度的读写分离技术来控制复杂查询对交易场景的影响。

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部