OceanBase学习(一)
1.OceanBase 为一款原生分布式数据库。
随着互联网、物联网、大数据技术的飞速发展,数据量呈现爆炸式增长,传统的单机数据库无法满足大规模数据处理的需求,同时降本增效是企业关注重点,市场正在寻找兼顾成本与性能的新技术方案,分布式关系型数据库逐步成为支撑企业核心交易系统的新选择。OceanBase 服务于金融、互联网、政企等企业客户,同时提供本地化和公有云服务,满足不同场景的部署要求,以其原生分布式、原生多租户、HTAP、高级数据压缩等技术特性成为分布式交易型数据库的代表厂商。
2.承载关键业务的核心能力
OceanBase 产品从 1.x 发展到今天的 4.x,能力得到了飞跃式的发展,但聚焦到“关键业务负载”,最关键的还是在高性能、高可靠、高兼容和高性价比这四个维度上的持续突破和深度打磨。这些基本功,也是 OceanBase 最大的核心竞争力和我们投入最大的方向。
OceanBase 最早提出 RTO<30s,目前已经是行业标配,这个切换还是数据库层面的自动切换时间,为了给连续性要求更高场景的业务系统留出更多时间,经过努力,将其降到了8s 内。通过把 Paxos 引入到关键数据库,实现 RPO=0,RTO<8 秒。
在 4.x 版本中将带宽降了近一半,极大降低了享受分布式带来的高可用红利的成本。
OceanBase 在数据块、事务、副本级都会做实时和定期的校验,使得数据不丢不错。
强劲的性能是承载“关键业务负载”最核心的能力。
3.兼容性
OceanBase 用同一个引擎支持两种语法,Oracle 兼容度经过多年打磨已经比较完善,今年又增加并完善了 DBLink、JSON/XML/GIS/LOB 等大颗粒的功能。MySQL 5.x 也接近全兼容状态,还增加了对 MySQL 8.0 主流功能的兼容;在 OLAP 方向常用到的复杂数据类型,如 Nchar、Nvarchar 等,也有了更好的支持。
4.深度优化多租户和高压缩,充分利用每一份资源
凭借高压缩比的分布式存储引擎(把 LSM-Tree 存储引擎引入到关键数据库里面,大幅度地降低了存储成本),在同一业务的数据存储量下,OceanBase 仅为 MySQL/Oracle 数据库的 1/4-1/3,能有效降低 70%-90% 的存储成本;为满足客户多样化的需求,OceanBase 在内存、CPU、IOPS 中用 Linux cgroup 技术做到硬隔离的水平,多租户能力具备资源隔离、数据隔离、弹性调整的特点,每个应用的租户都拥有专属的资源池,真正把虚拟化实例演进到与物理隔离实例一样的能力。
5.一体化设计思想
OceanBase,用一体化的思路解决单机与分布式的难题,不仅能处理小查询,也能处理大查询,从 KV 到 TP/AP一体化,从简单查询到复杂查询,OceanBase 一直在通过应用场景不断驱动自身创新,这也是 OceanBase 设计一体化思路的初心。
在实际的应用中,数据库是解决数据存储、处理问题的手段,应用系统真正关心的、要解决的是业务需求,而不应该花太多精力在关心分布式带来的成本复杂度问题、处理各种数据结构带来的存储的差异性、不同数据库操作语法带来的好处、不同的负载或者基础设施带来的差异性等。我们在用“一体化”设计来打造产品,让用户回归到关注业务,让数据库使用尽可能简单。
在一体化架构基础之上,进一步搭建一体化引擎,包括一体化的存储引擎、一体化的事务,一体化的 SQL 引擎,以及云上云下存储计算分离的引擎。这个层次主要解决了数据的存储与计算问题。
6.单机分布式一体化
发布了 4.0 版本,推出业内首个单机分布式一体化架构,完成分布式到单机的融合,这又是 OceanBase 历史上的一次重大重构升级。单机分布式一体化架构,主要解决数据规模的问题,数据可大可小,有了这个架构之后,不管多大多小的数据量,都可以用一套系统全部统一地解决掉。
4.0 版本推出,用户无需关心集中式或分布式技术路线选型,可以在业务量小的情况下从小规格单机部署起步使用完备功能的单机部署形态,随着业务压力的变化将数据库从单机平滑扩容到多机甚至超大规模的分布式集群,同时具备多机平滑缩容到单机的能力,通过一套数据库满足业务从小到大的集中式和分布式架构诉求。
7.OceanBase 社区版
OceanBase 社区版:为现代数据架构打造的 “增强版 MySQL”。OceanBase 的企业版和社区版最大的区别在于把一部分 Oracle 兼容能力,和一部分企业级安全的特性,留在了企业版里,其他大部分都是开源的,包括在社区最为关心的能力,几乎可以称之为“双 11”同款。
OceanBase 社区版的目标就是为现代数据架构打造“增强版 MySQL”,正是因为有这样的开放性,已经有越来越多的企业用来去解决 MySQL 无法解决的问题。
8.OceanBase 4.2.1 LTS
OceanBase正式推出一体化数据库的首个长期支持版本 4.2.1 LTS,这是面向 OLTP 核心场景的全功能里程碑版本,相比上一个 3.2.4 LTS 版本,新版本能力全面提升,适应场景更加丰富,有更全面的容灾解决方案。
(1)支持完整的 OLTP 功能,是面向 OLTP 核心场景的全功能里程碑版本,可以说,OceanBase 4.2.1 LTS版本的发布意味着 OceanBase 在分布式 OLTP 核心功能已经就绪,这个非常重要;
(2)更强的性能,相比 3.2 LTS 版本,4.2.1 LTS 版本的 OLTP 性能是 3.2 版本的 1.9 倍,OLAP TPC-DS 100G 场景性能是 3.2 版本的 2.7 倍,导入性是 3.2 版本的 6 倍
(3)更低的容灾成本,通过引入基于仲裁的无损容灾方案,通过两个副本实现 RPO=0;
(4)兼容性,进一步增强了 MySQL 8.0 的兼容,并且提升了 Oracle 的兼容性,支持 DBLink、表锁等 Oracle 常见的特性。通过兼容 MySQL Binlog 的方式直接接入到下游数据生态。
9.其它补充
CAP的概念
CAP定理指的是在一个分布式系统中,一致性Consistency、可用性Availability、分区容错性Partition tolerance,三者不可兼得。
- 一致性(C):分布式系统中多个主机之间是否能够保持数据一致的特性。即,当系统数据发生更新操作后,各个主机中的数据仍然处于一致的状态。
- 可用性(A):系统提供的服务必须一直处于可用的状态,即对于用户的每一个请求,系统总是可以在有限的时间内对用户做出响应。
- 分区容错性(P):分布式系统在遇到任何网络分区故障时,仍能够保证对外提供满足一致性和可用性的服务。
CAP定理的内容是:对于分布式系统,网络环境相对是不可控的,出现网络分区是不可避免的,因此系统必须具备分区容错性。但系统不可能同时保证一致性与可用性。即要么CP,要么AP。
Base 理论
BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent(最终一致性)三个短语的简写。Base是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的结论,是基于CAP定理逐步演化而来的。
BASE理论的核心思想是:即使无法做到强一致性,但每个系统都可以根据自身的业务特定,采用适当的方式来使系统达到最终一致性。
(1)基本可用
基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性。
(2)软状态
软状态,是指允许系统数据存在的中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统主机间进行数据同步的过程存在一定延时。软状态,其实就是一种灰度状态,过渡状态。
(3)最终一致性
最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最总能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要保证系统数据的实时一致性。
来源
(1)转载学习【
】公众号(2)oceanbase官方文档