首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)

跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)

作者头像
AustinDatabases
发布2024-11-25 11:08:20
发布2024-11-25 11:08:20
3900
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

快速学习OceanBase,是我给自己定下的目标,怎么快速提高对OB的理解。

1 安装OB,尝试OB 2 读OB的白皮书

这个过程我在PolarDB上已经使用过了,还算有效。这次轮到OceanBase了,搞来了OceanBase的白皮书。这个部分将分为4期来进行学习,如果像我一起想快速学习OB的同学可以关注。如果想要原版的白皮书也可以群里,Call me , it's free.

这里卖一个关子,到底OB 是不是分布式数据库,到底他是不是只能用在大场合下,之前是的,的确我是这样的观念,OB 也意识到自己市场上对于,中小企业的忽视,现在发力中小企业,通过OB来替换MySQL的来切入,免费市场,中小企业市场。

这篇OB的白皮书名字叫 《OceanBase Paetica:支持单机和分布式集群的混合无共享 / 一切共享数据库》

在翻译前,我对OceanBase的认知一直是,一个闭源的数据库,且和ORACLE非常的接近,至少是语法上。可随着我最近不断地快速学习,发现我的理解和想法,太白了。这也是我为什么要翻译OB的白皮书的原因之一,刷新观念。

这里简单的将整体文章讲述的进行梳理,成为一个思维导图

摘要

在OceanBase数据库系统的持续的发展中,OceanBase 增强了对小规模企业的支持工作,并且OceanBase认为这样做事非常重要的。OceanBase数据库系统已经在蚂蚁集团和其他的商业组织中,证明了其稳定性和有效性,并通过了TPC-C 和TPC-H测试。在本文中,我们针对OceanBase系统设计了一个名字叫"Petica"的单机和分布式的架构,这解决分布式在单机下的部署带来的开销。在这个系统中OceanBase允许在独立和分布式的场景下支持串行和并行的执行,提供效率和性能的均衡性。这个设计在OB 4.0上已经实现,Paetica表现了其可扩展性,优于独立的或分布式数据库产品,真正的目标是OceanBase从服务于大型企业转变为服务于中小企业的数据库产品。在通过为企业或业务发展的连续性使用单个的OceanBase数据库。Paetica在独立模式下随着CPU的核心数量增加的线性可扩展性,在Sysbench 和 TPC-H评估中也优于MySQL和Greenplum.

1 介绍

最初,我们设计并开发了0.5的OB,该系统利用了划分的存储和计算层,从而实现了显著的可扩展性,为了进一步提高性能,我们随后实施了该系统的3.0版本,增加了更高的吞吐量和更低的写入的延迟,从而能够支持蚂蚁金服和其他的商业组织中的各种商业的运营活动。同时这个系统我们也作为开源提供,并在开源社区内分享了该系统的设计和技术,从2017年以来,我们将OceanBase商业化,将其技术和功能用于大中小型企业,值得注意的是2020年OB是唯一通过TPC-C基准测试的分布式数据库。但需要说明OceanBase3.0并不适合中小型企业,这主要由于小型机器的日志,分区边界产生的开销,以及部署期间的分布式组件之间交互产生的额外开销。

分布式数据库的出现解决了水平可扩展性的问题,与集中式数据库相比,独立的性能和SQL功能需要提升,如ORACLE,MySQL,PostgreSQL。在这个过程中,出现了许多分布式数据库,其中一些只是支持简单的非关系型数据库功能或有限的SQL功能的集中式存储系统。此外某些分布式数据库支持完整的SQL功能,通常成为NewSQL。在独立系统和分布式系统之间选择变得困难,因此典型的决策是基于数据量;即,如果数据量相对较小,则选择功能齐全的集中式数据库,此为如果数据量很大,则选择分布式数据库或集中式存储系统,从而牺牲功能和独立性,或者通过修改业务的代码、添加机器来解决问题。

我们进一步将OceanBase增强到4.0版本,期望他更好的支持小型企业。该系统将多个存储分片与共享日志流集成在一起,并提供高可用性服务。由于技术的进步,当代机器已经开始具有多核心,大量DRAM和高速存储设备,这突出了再分布式数据库系统的设计中,考虑水平和垂直可扩展性的重要性。因此我们开发了Paetica 作为一个混合共享云数据库系统,能购支持独立和分布式集成架构。我们将通过一下贡献详细描述Paetica的概念。

我们提出Paetica,一个独立的分布式集成架构,在OceanBase系统4.0版中实现。Paetica 在独立和分布式系统中都具有独立的SQL、事务和存储引擎,使用户能够动态配置切换。集成架构设计语序OceanBase在独立模式下高效运行,而不会产生分布式交互开销。此外在分布式模式下运行提供了容灾能力外,还可以提高性能。

为此我们开发了一个独立的分布式集成SQL引擎,能够在不同的情况下处理SQL,该引擎旨在一串行和并行的方式执行SQL,以充分利用可用的中央处理器内核。此外在分布式执行场景中,该引擎能够跨多台机器并行,从而高效处理SQL命令。

我们构建了一个独立的分布式集成LSM-Tree存储引擎,其中包括针对独立和分布式模式的各种压缩优化。这些优化包括增量压缩、分时轮询压缩等方法,主要的目的在于提高写入性能和存储空间利用率之间的平衡。我们在此版本中,优化了2阶段提交协议,优化了消息处理和产生的日志量,从而降低事务延迟。在独立模式下,Paetica不需要使用2PC,而是利用单一日志流来处理事务,而无需访问全局事件服务GTS,所以在同样的硬件条件下,性能并不低于集中式的数据库产品。


学习总结

1 OceanBase 在市场开发中发现了自己在集中式数据库市场中并未可以对比的产品。

2 OceanBase 发现问题后,在4.0版本中增加了自己在中小企业环境中的竞争力。

3 OceanBase 通过优化分布式引擎处理的方式,以及数据合并的方式提高了数据的处理能力。

4 OceanBase 关于时钟的问题,在单机模式下也有改变。

结论:OB 在4.0开启了在中小型企业数据环境下的可部署,可使用的场景。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档