蚂蚁金服自研分布式关系数据库OceanBase在阿里云上线
系统118 次
2020年3月,阿里云oceanbase完成了商业化,并在公共云上正式对外开放。相关生态产品,包括集群控制、诊断、迁移服务以及开发者中心。
一、公共云OceanBase服务器部署部署
蚂蚁金服自主研发的分布式关系数据库OceanBase是一个纯粹的原始分布式关系数据库,在代码层面完全可控。公共云OceanBase产品是基于3AZ部署的三份副本,通过paxos协议保证了多节点之间的数据一致性,单点故障甚至单AZ故障,也能保证业务的连续性,RPO=0,RTO<30s,实现机房级高可用性,未来还将推出三地五中心的产品形式,具有城市级高可用性的切换能力。与此同时,OceanBase的资源管理也非常灵活。它支持多租户部署,在OceanBase集群中,我们可以根据需要分配实例,并可以扩大或缩小在线资源。从安全性和可用性来讲,OceanBase是非常适合金融业务场景的。因为监管需求,金融业务场景(像银行业务等)不能上公有云。但是这并不影响类金融业务,像保险、基金等。
二、OceanBase架构原理
与大多数分布式系统不同的是,OceanBase系统没有单独的总控制服务器或总控制过程。分布式系统一般包括一个单独的总控制过程,用于整体管理、负载平衡等。OceanBase没有单独的总控制过程,它的总控制是一种叫做RootService的服务,集成在ObServer中的服务。OceanBase将动态选择ObServer执行总控制服务的所有工作机器。此外,当总控制服务所在的ObServer时,它会提供一个非常复杂的部门。
OceanBase可以通过分区能力无限扩展。OceanBase不同于传统的数据库分区,因为传统数据库的所有分区都只能在一个服务器上,而OceanBase的每个分区都可以分布到不同的服务器上,每个分区都有三个副本。从数据模型的角度来看,OceanBase可以被认为是传统数据库分区表在多台机器上的实现。它可以将不同用户生成的所有数据整合到统一的手表中。无论这些分区是如何在多个服务器上分布的,
三、OceanBase存储架构
OceanBase是一种sharednoting架构,每个OBServer都有一个独立的存储引擎,将数据存储在当地,这样就可以满足灾难场景下的数据连续服务。OceanBase通常采用LSM-Tree架构来设计Cache和数据存储,数据首先被写入MemTable的内存中,这样最高频率和最活跃的数据都可以在内存中访问,从而大大提高了热数据的访问效率。
四、OceanBase SQL引擎
OceanBase的租户支持Oracle和MySQL两种SQL兼容性,首先与传统的MySQL相比,OB除了硬性分析外,还支持软性分析,同时分析器还支持SQL参数化和绑定变量,分析器将分析后的SQL模板和执行计划放在plancache中,已经存在于plancache中的SQL可以节省每一个硬性分析的费用,提高SQL的运行效率。
未来,OceanBase将根据用户的需求提供更实用、更高效的特点,周边生态产品的功能也将越来越完善,敬请关注。
评论 | 0 条评论