作者简介:周跃跃,OceanBase 社区布道师。
从2010年至今,OceanBase 经历了12年的技术发展。那 OceanBase 究竟有哪些核心功能能助力企业选型?用户眼中的 OceanBase 又是怎样的呢?本文将从 OceanBase 的发展历史、核心特性、以及用户视角,带你全方面了解自研一体化分布式架构数据库:OceanBase。
一、发展历史
从2010年至今,OceanBase经历了12年的技术发展。在这个过程中,其发展可以分成三个阶段。第一代的分布式存储系统;第二代的分布式数据库;第三代的分布式HTAP 数据库。
2021年6月1日,OceanBase进行开源,服务了更多的用户。OceanBases由业务需求立项,到承担核心业务的全部流量,产品发展与业务高度契合。
其次,业务驱动了产品的迭代和发展。从内部到外部的场景和企业,OceanBases经过12年的产品打磨和验证。产品的稳定性和性能,不但满足了核心企业的场景需求,还完善了周边的工具生态。
二、核心特性助力企业系统选型
上图是 OceanBase 一体化架构。OceanBase 的每个节点均有自己的 SQL 引擎和存储引擎,自主管理各自承载的数据分区,TCP/IP 互通,协同服务。
多副本和 Paxos 分布式协议的高效高可靠工程实现,确保数据(日志)持久化在多数派节点成功。
接下来,介绍下 OceanBase 的产品特性,这也是企业用户在选型时特别关注的。OceanBase 的核心特性主要有六点,即高可用、低成本、高兼容、高扩展、混合负载、多租户。
OceanBase 的高可用性,是基于 Paxos 协议的典型三副本部署方案,通过Paxos协议保证数据的强一致性。当出现单机、机房或城市级故障,整个服务可以自动切换,持续可用。
所以基于 OceanBase 的高可用性,用户可以做到两地三中心、三地五中心以及单元化的部署方案,实现整个业务数据集群的高可用。
在低成本方面,OceanBase 基于 LSM Tree 进行存储管理。主要包括基线数据和增量数据。
其次,OceanBase 的存储成本大概是 MySQL 的三分之一到四分之一。 MySQL 的一主两从,对应 OB 三节点时的三副本,在默认参数下存储成本低,在历史归档业务方面,也有很好的表现。
目前,OceanBase 兼容 MySQL 5.6 的绝大部分语法以及部分8.0的新特性。在生态方面,可以使用 MySQL 周边生态工具操作 OceanBase,比如 Navicat、dbeaver、datax、canal 等。
在高扩展性方面,OceanBase 的集群节点全对等,每个节点都具备计算和存储能力,无单点瓶颈,可线性、在线扩展和收缩。在节省成本的同时,兼具分布式系统的扩展性和关系数据库的易用性和灵活性。
OceanBase 的 SQL 引擎,满足 OLTP 和 OLAP;OceanBase 数据库,支持读写分离,满足 ETL 取数,BI 查询和 MySQL 已有的读写分离环境。
上图是 OceanBase 集群的原生多租户架构图,资源隔离不但可以让一套集群运行的多个业务,互相之间资源不会出现争抢,还可以灵活弹性的控制单个租户的资源使用情况,减少运维压力,合理使用资源。
三、用户眼中的 OceanBase
从用户的角度来看,OceanBase 使用稳定,运营轻松。其次,OceanBase 降本增效的效果非常明显。第三,OceanBase 的周边工具、周边生态非常完善。
在同等条件下,OceanBase 通过行列混合存储,全功能型副本,日志型副本和只读型副本,其存储成本只有 MySQL 的三分之一到四分之一。
OceanBase 通过高度兼容、分布式扩展、资源隔离的多租户的一套集群,替代多套 MySQL 环境,同时用户在使用习惯上与 MySQL 差异很小。
OceanBase 基于 Paxos 的一体化架构设计,减少不必要的rpc交互,尽可能的实现本地读写,同时可以进行更为灵活的性能调优,有效降低 rpc 消耗。
在生态工具方面,用户可以自建一套部署环境,用 OCP 管理平台白屏操作或者通过api调用实现集群管理,租户管理和备份与恢复。
环境部署之后,用户需要进行迁移数据。通过 OMS 的白屏化操作,实现数据迁移与校验。目前,OceanBase 支持 MySQL 和 OB 的双向迁移,以及 OB 间的数据迁移。
数据作为企业最核心的资产,通过数据库进行管理。作为一款基础软件,数据库对使用者来说,产品验证和替换周期较长。目前 OceanBase 社区版已经运行在超过 50 家企业生产环境,包括:京东,银联,携程,58同城,360,红象云腾,六棱镜,Gitee 中国,CSDN 等企业。