OceanBase基础架构

OceanBase基础架构

简介

OceanBase是由蚂蚁集团、阿里巴巴完全自主研发的分布式关系型数据库。它始创于2010年,是完全自主研发的原生分布式数据库。

OceanBase采用了一种被称为"单机分布式一体化架构"的设计。这种架构兼顾了分布式架构的扩展性与集中式架构的性能优势。它使用一套引擎同时支持OLTP(联机事务处理)和OLAP(联机分析处理)的混合负载。此外,OceanBase还创新推出了"三地五中心"城市级容灾新标准。

OceanBase已经当前在金融、政务、运营商、零售、互联网等多个行业的400+客户中得到应用,实现了关键业务系统的升级。

基础架构

具体来说,OceanBase的架构包括以下几个主要部分:

①存储引擎:OceanBase使用基于LSM-Tree的高压缩引擎,平衡了"性能"和"压缩"的瓶颈,有效降低存储成本70% - 90%。

②计算引擎:OceanBase的计算引擎支持SQL和NoSQL查询,以及复杂的事务处理。

③分布式事务:OceanBase支持全局事务,保证数据的一致性和完整性。

④高可用和故障恢复:OceanBase通过数据复制和故障转移机制,提高了系统的可用性。它还支持快速故障恢复,确保服务的连续性。

OceanBase特点

OceanBase具有以下特点:

①数据强一致:确保所有数据副本始终保持一致。

②高可用:通过复制和故障转移机制,提高系统的可用性。

③高性能:通过分布式架构,实现高性能的数据处理和查询。

④在线扩展:可以在不中断服务的情况下,动态地添加或删除存储和计算资源。

⑤高度兼容SQL标准和主流关系型数据库:支持大部分SQL语法,以及Oracle和MySQL的语法。

⑥低成本:通过高效的资源利用,降低了存储和计算的成本。

OceanBase与Oracle的差异

OceanBase数据库与Oracle数据库在函数支持上存在一些差异。如下:

①内建函数:Oracle中支持117个内建函数,而OceanBase目前支持103个。

②SQL语法:OceanBase支持Oracle中的基本SQL语法。然而,OceanBase不支持Oracle的部分较复杂的OLAP语法,如模式匹配、PIVOT/UNPIVOT函数、多态表函数和频繁项目集计算。

③DDL语法:OceanBase不支持add constraint这种写法,需要写在括号内部。此外,OceanBase不支持novalidate和enable这两种DDL语法。

④其他功能:OceanBase不支持Oracle的存储过程、触发器、视图、多表关联、大表关联等常用数据库核心功能。

OceanBase数据库在某些方面提供了Oracle数据库不支持的功能:

①单机分布式一体化架构:OceanBase采用了一种被称为"单机分布式一体化架构"的设计。这种架构兼顾了分布式架构的扩展性与集中式架构的性能优势。它使用一套引擎同时支持OLTP(联机事务处理)和OLAP(联机分析处理)的混合负载。

②"三地五中心"城市级容灾新标准:OceanBase创新推出了"三地五中心"城市级容灾新标准。

③基于LSM-Tree的高压缩引擎:OceanBase使用基于LSM-Tree的高压缩引擎,平衡了"性能"和"压缩"的瓶颈,有效降低存储成本70% - 90%。

④原生多租户:OceanBase支持原生多租户,资源隔离按需使用。

以上为OceanBase相对于Oracle具有的一些独特功能。具体的差异可能会根据OceanBase和Oracle的版本有所不同。

其他:Oracle数据迁移至OceanBase

Oracle数据库的数据可以通过以下步骤迁移到OceanBase:

创建迁移项目:在OceanBase迁移服务(OceanBase Migration Service,OMS)控制台创建从Oracle数据库迁移数据至OceanBase数据库Oracle租户的数据迁移任务。

设置迁移类型:根据业务需求,选择当前迁移任务的迁移类型。迁移类型包括结构迁移、全量迁移、增量迁移、全量校检和反向增量。

选择迁移对象:选择一个或多个库的表、视图作为迁移对象。

配置迁移选项:配置全量迁移是否允许目标表非空、增量记录保存时间、全量迁移并发参数、全量校验并发参数和字符编码与长度定义选项等参数。

预检查并启动数据迁移项目:在预检查环节,OMS会检查数据库用户的读写权限、数据库的网络连接等是否符合要求。全部检查项目均通过后才能启动数据迁移任务。

除此之外,还可以使用DataX或DBCAT工具进行数据和表结构的迁移24。这些工具可以实现包括MySQL、Oracle、SQLserver、Postgre、HDFS、Hive、ADS、HBase、TableStore (OTS)、MaxCompute (ODPS)、Hologres、DRDS 、OceanBase等各种异构数据源之间高效的数据同步功能。

常用迁移工具

OceanBase云平台(OB Cloud):这是一个基于多云统一管理的云数据库OceanBase的服务,支持阿里云、腾讯云和AWS,开箱即用,可混合云部署。

OceanBase开发者中心(ODC):这是一个为OceanBase数据库量身打造的企业级数据库开发平台。

OceanBase迁移服务(OMS):这是一个OceanBase数据库一站式数据传输和同步的产品。

OceanBase迁移评估(OMA):这是一个OceanBase提供的数据库迁移评估的产品。

OceanBase导数工具:这是一个基于OceanBase分布式系统的特性的客户端导入导出工具。

OMS迁移应用举例

通过OceanBase迁移服务(OMS)将Oracle数据库迁移到OceanBase步骤:

创建迁移项目:首先,你需要登录到OMS控制台,然后在控制台上选择"创建迁移项目"。在这个步骤中,你需要输入项目的名称,以及源数据库(Oracle)和目标数据库(OceanBase)的详细信息,包括数据库的IP地址、端口、用户名和密码。

设置迁移类型:在创建迁移项目后,你需要选择迁移类型。例如,如果你想要将Oracle数据库的所有数据迁移到OceanBase,那么你应该选择"全量迁移"。如果你只想要迁移最近更改的数据,那么你应该选择"增量迁移"。

选择迁移对象:在设置了迁移类型后,你需要选择要迁移的对象。这些对象可以是数据库中的表、视图等。你可以通过在OMS控制台上选择"添加迁移对象"来完成这个步骤。

配置迁移选项:在选择了迁移对象后,你需要配置一些迁移选项。这些选项包括全量迁移是否允许目标表非空、增量记录保存时间、全量迁移并发参数、全量校验并发参数和字符编码与长度定义选项等。

预检查并启动数据迁移项目:最后,你需要进行预检查并启动数据迁移项目。在预检查环节,OMS会检查数据库用户的读写权限、数据库的网络连接等是否符合要求。全部检查项目均通过后才能启动数据迁移任务。

OB Cloud 连接OceanBase举例

OceanBase云平台(OB Cloud)连接OceanBase数据库的示例步骤:

登录OB Cloud:首先,你需要登录到OB Cloud控制台。如果你还没有OB Cloud账户,你需要先注册一个。

创建OceanBase实例:在OB Cloud控制台上,选择"创建实例"选项。在这个步骤中,你需要输入实例的名称、规格、存储空间等信息。

配置网络和安全组:在创建实例后,你需要配置实例的网络和安全组。这些设置将决定哪些IP地址可以访问你的OceanBase实例。

获取连接信息:在实例创建成功后,你可以在OB Cloud控制台上获取实例的连接信息,包括IP地址和端口号。

使用客户端工具连接OceanBase:最后,你可以使用任何兼容MySQL协议的客户端工具(如MySQL Workbench、DBeaver等)来连接OceanBase数据库。在客户端工具中,输入前面获取的连接信息,以及OceanBase的用户名和密码,就可以开始操作OceanBase数据库了。

相关推荐
安当加密13 分钟前
MySQL数据库透明加密(TDE)解决方案:基于国密SM4的合规与性能优化实践
数据库·mysql·性能优化
异次元的星星23 分钟前
智慧新零售时代:施易德系统平衡技术与人力,赋能门店运营
大数据·零售
JH30731 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
板凳坐着晒太阳1 小时前
ClickHouse 配置优化与问题解决
数据库·clickhouse
数据库生产实战1 小时前
解析Oracle 19C中并行INSERT SELECT的工作原理
数据库·oracle
深思慎考2 小时前
ElasticSearch与Kibana 入门指南(7.x版本)
大数据·elasticsearch·jenkins
AAA修煤气灶刘哥2 小时前
服务器指标多到“洪水泛滥”?试试InfluxDB?
数据库·后端·面试
银行数字化转型导师坚鹏2 小时前
如何设计优秀的企业微信私域运营实战培训方案
大数据·python·企业微信
阿沁QWQ2 小时前
MySQL服务器配置与管理
服务器·数据库·mysql
悠闲蜗牛�3 小时前
人工智能时代下的全栈开发:整合AI、大数据与云原生的实践策略
大数据·人工智能·云原生