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数据库了。

相关推荐
远歌已逝1 小时前
维护在线重做日志(二)
数据库·oracle
qq_433099403 小时前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz3 小时前
redis-击穿、穿透、雪崩
数据库·redis·缓存
zhixingheyi_tian4 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao4 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
工业甲酰苯胺4 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了5 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i6 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl6 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
武子康6 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud