长文:国产数据库兼容性一览

2024年 7月 12日 44.5k 0

1).OceanBase 

OceanBase 是在租户级别提供对数据库的兼容能力,即在一个系统中可同时支持 MySQL 模式和 Oracle 模式两种模式的租户。用户在创建租户时,可选择创建 MySQL 兼容模式的租户或 Oracle 兼容模式的租户,租户的兼容模式一经确定就无法更改,所有数据类型、SQL 功能、视图等相应地与 MySQL 数据库或 Oracle 数据库保持一致。

❖ Oracle 兼容性

OceanBase 数据库从 V2.x.x 版本开始支持 Oracle 兼容模式。Oracle 模式目前能够支持绝大部分的 Oracle 语法和过程性语言功能,可以做到大部分的 Oracle 业务进行少量修改后的自动迁移。OceanBase 数据库在数据类型、SQL 功能和数据库对象等基本功能上与 Oracle 数据库兼容。在过程化程序语言(Procedural Language,PL)方面,已经基本能够兼容全部的研发功能。在数据库安全、备份恢复、高可用和优化器等高级特性上 OceanBase 数据库的兼容性也非常好,而且有些特性还要优于 Oracle 数据库。这意味着在从 Oracle 数据库迁移到 OceanBase 数据库的过程中,用户不需要消耗大量的时间去学习新知识,即可流畅地实现从 Oracle 数据库到 OceanBase 数据库的迁移。

❖ MySQL 兼容性

MySQL 模式是为降低 MySQL 数据库迁移至 OceanBase 数据库所引发的业务系统改造成本,同时使业务数据库设计人员、开发人员、数据库管理员等可复用积累的 MySQL 数据库技术知识经验,并能快速上手 OceanBase 数据库而支持的一种租户类型功能。OceanBase 数据库的 MySQL 模式兼容 MySQL 5.7 的绝大部分功能和语法,兼容 MySQL 5.7 版本的全量以及 8.0 版本的部分 JSON 函数,基于 MySQL 的应用能够平滑迁移。

❖ 评估+迁移工具

OceanBase 迁移评估工具(OceanBase Migration Assessment,OMA)是 OceanBase 提供的数据库迁移评估的产品,为数据迁移提供精准的兼容性评估、高效的性能评估以及应用逻辑改造建议。OMA 支持评估 Oracle、DB2 LUW、PostgreSQL 等多种数据库与 OceanBase 的兼容情况,提供画像分析和自动转换方案;支持应用负载回放功能,帮助客户预知迁移后可能的性能风险并提供优化方案;OMA 还支持评估 C、Java 业务代码以及驱动的兼容性以助力用户高效率、低成本迁移至OceanBase。

OceanBase 数据迁移工具(OceanBase Migration Service,OMS)是 OceanBase 数据库一站式数据传输和同步的产品。它支持多种关系型数据库、消息队列与 OceanBase 数据库之间的数据复制,是集数据迁移、实时数据同步和增量数据订阅于一体的数据传输服务,OMS 帮助您低风险、低成本、高效率的实现 OceanBase 的数据流通,助力构建安全、稳定、高效的数据复制架构。

2).GoldenDB

GoldenDB 数据库提供了对 Oracle、MySQL 的兼容能力。

❖ Oracle 兼容性

GoldenDB 分布式数据库兼容 SQL92、99、2003SQL标准,同时兼容常用 Oracle 语法,其支持的语法类别全面覆盖数据库语法类别,包括DDL、DML、DQL等等。同时,GoldenDB对跨节点的复杂 SQL 操作支持全面,使得业务人员的开发工作量大幅降低,无需考虑大量的SQL改造。

❖ MySQL 兼容性

GoldenDB 分布式数据库完全兼容 MySQL 语法,兼容SQL92、99、2003SQL标准,其支持的语法类别全面覆盖数据库语法类别,包括DDL、DML、DQL等等。

❖ 迁移工具

GoldenDB数据迁移工具SLOTH,完成 GoldenDB 数据库与GoldenDB(包括不同的分片数量场景)、异构数据库(Oracle、MySQL等)之间的全量数据、增量数据的迁移和同步,同时提供迁移过程中的数据比对功能。

3).GaussDB

❖ MultiDB 兼容

GaussDB 是华为自主创新研发的分布式关系型数据库。GaussDB 可以在创建数据库时,通过参数 DBCOMPATIBILITY 指定兼容数据库的类型,支持 A、B、C和PG四种兼容模式,分别表示兼容 Oracle、MySQL、Teradata(TD)和PostgreSQL。但是C目前已经放弃支持,因此常用的取值是A、B、PG。不同兼容模式下的语法行为存在一定差异,默认为A兼容模式。此外,为了适配 MySQL 语句及pymysql、JDBC等多种连接方式,GaussDB新增了 M-Compatibility 协议,简称为M-Compatibility兼容模式。

❖ 评估+迁移工具

UGO,全称为数据库和应用迁移 UGO,是专注于异构数据库结构迁移的专业服务。可将源数据库中的DDL、DML和DCL一键自动转换为华为云GaussDB/RDS的SQL语法,通过数据库评估、对象迁移两大核心功能和自动化语法转换,提前识别可能存在的改造工作、提高转化率、最大化降低用户数据库迁移成本。在异构数据库迁移场景中,UGO实现结构迁移和语法转化,数据复制服务 DRS实现异构数据库数据在线搬迁,可以形成完整的平滑异构数据库端到端搬迁方案。

4).TDSQL

TDSQL,是腾讯云提供的一个数据库品牌,包含多个产品。按照其生态兼容,主要是两款 TDSQL-MySQL、TDSQL-PG。

❖ MySQL 兼容性

TDSQL MySQL版(TDSQL for MySQL)是部署在腾讯云上的一种支持自动水平拆分、Shared Nothing 架构的分布式数据库。TDSQL-MySQL 高度兼容 MySQL 的协议和语法,但由于架构的差异,对于 SQL 有一定的限制。

❖ PostgreSQL 兼容性

TDSQL PostgreSQL版(TDSQL for PostgreSQL)是腾讯自主研发的分布式数据库系统。TDSQL PostgreSQL版 集高扩展性、SQL 高兼容度、完整的分布式事务支持、多级容灾及多维度资源隔离等功能于一身,采用无共享的集群架构,提供容灾、备份、恢复、监控、安全、审计等全套解决方案,适用于GB级 - PB级的海量 HTAP 场景。TDSQL PostgreSQL版 完全兼容 PostgreSQL。

❖ Oracle 兼容性

TDSQL PostgreSQL版 正式孵化出 Oracle 兼容版,即 TDSQL PostgreSQL版(Oracle 兼容版),该版本高度兼容 Oracle 语法,包含数据类型与运算符、分区表、系统内置包、系统视图、函数、存储过程、PL/SQL 等语法的兼容。

5).PolarDB

PolarDB,是阿里云提供的一个数据库品牌,包含多个产品。按照其生态兼容,主要是两款 PolarDB-MySQL、PolarDB-PG。这里吐槽一下,PolarDB 产品在文档方面还需加强,关于兼容性很多内容都查不到。

❖ MySQL 兼容性

PolarDB MySQL 版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。

❖ PostgreSQL 兼容性

PolarDB-PG 是阿里巴巴自研的新一代云原生数据库,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。PolarDB 100%兼容PostgreSQL 11,PostgreSQL 14,高度兼容Oracle。

❖ Oracle 兼容性

PolarDB是阿里巴巴自研的新一代云原生数据库,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。高度兼容Oracle。

❖ 评估+迁移工具

异构数据库迁移ADAM(Advanced Database & Application Migration)提供数据库平滑迁云解决方案,全面评估上云可行性、成本和云存储选型,内置实施协助、数据迁移、应用迁移等工具,覆盖数据库迁移的全生命周期,帮助企业降低数据库和应用迁移的风险、技术难度和实施周期,助力企业源数据库迁移上云。数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。

6).TiDB

❖ MySQL  兼容性

TiDB 高度兼容 MySQL 协议,以及 MySQL 5.7 和 MySQL 8.0 常用的功能及语法。MySQL 生态中的系统工具(PHPMyAdmin、Navicat、MySQL Workbench、DBeaver 和其他工具)、客户端等均适用于 TiDB。

❖ 迁移工具

TiDB Data Migration (DM) 是将 MySQL/MariaDB 数据迁移到 TiDB 的工具,支持全量数据的迁移和增量数据的复制。

7).GreatDB

❖ MySQL + Oracle 兼容性

GreatDB 是北京万里开源软件有限公司自主研发的一款分布式关系型数据库软件。GreatDB完全兼容 MySQL 语法,兼容 SQL92、99、2003 SQL 标准,同时兼容部分 Oracle 语法,其支持的语法类别全面覆盖数据库语法类别,包括DDL、DML、DDL、TCL、常用函数、程序控制语言、批处理语法、序列等。

❖ 评估+迁移工具

GreatDTS 是万里数据库自主研发的数据库迁移工具,方便用户迁移其他数据库到GreatDB 数据库,实现应用评估、兼容性评估和数据迁移的一站式数据迁移产品,服务全量数据迁移,支持并行执行、断点续传和数据校验等功能。

8).KingBase

❖ Oracle 兼容性

KingbaseES在其内部实现了大量的Oracle兼容特性 。这些特性 从语法或功能上对Oracle提供了原生支持。因此,在移植过程中,Oracle程序只需很少甚至不做任何改动就能在KingbaseES环境中运行。

❖ MySQL 兼容性

异构数据库移植的工作量繁重。这些工作量主要来源于:在数据类型、SQL 语言、PL/SQL 语言、甚至客户端应用编程接口等诸多方面对两个数据库所进行的、大量的语法或功能的对齐处理。同样的,从 MySQL 向 KingbasES 移植的情况也如此。为降低移植工作量,KingbaseES 在其内部实现了部分的 MySQL 兼容特性。这些特性从语法或功能上对 MySQL 提供了原生支持。因此,在移植过程中,MySQL 程序只需很少甚至不做任何改动就能在 KES 环境中运行。

❖ 迁移工具

KingbaseES 提供了 KDTS 和 KFS 2个工具完成迁移数据任务。KDTS 是 KingbaseES 提供的工具,可以用于离线迁移,并完成数据库中所有对象定义的迁移和数据的迁移。KFS 是一个单独的同步工具,可以应用于数据的同步,主要用于表结构和表数据的初始搬迁,以及初始搬迁之后数据的实时同步。KDTS 和 KFS 一起部署,可以完成一个大型系统的在线迁移。

9).DM

之前一直听说 DM 对 Oracle 的兼容性是比较好的,但在查看文档中发现资料甚少,只是提到了提供兼容模式及从其他数据库迁移方面的一些经验。看来文档方面,还需要多多增强。

❖ MultiDB 兼容性

DM 提供了 COMPATIBLE_MODE 参数来设置数据库的兼容性模式,0:不兼容,1:兼容 SQL92 标准,2:部分兼容 ORACLE,3:部分兼容 MS SQL SERVER,4:部分兼容 MYSQL, 5:兼容 DM6,6:部分兼容 TERADATA。该参数默认为 0。该参数为静态参数,需要重启数据库后生效。

❖ 迁移工具

DM 数据迁移工具 DM DTS 提供了主流大型数据库迁移到 DM、DM 到 DM、文件迁移到 DM 以及 DM 迁移到文件等功能。此外,这个工具也可以完成对象的迁移,但各数据库语法兼容程度不同,部分是需要手工改写。

10).GBase

❖ Oracle 兼容性

南大通用有多款数据库产品,以 GBase 8s 为例,其广泛兼容 Oracle 语法,在 PL/SQL、包、系统函数、系统视图、DML 语句、DDL 语句、数据类型、操作符等方面都有良好的兼容性,最大限度的复用用户和开发人员的数据库经验,降低产品使用门槛。

❖ 迁移工具

同步提供了数据库迁移工具。

11).AntDB

❖ Oracle 兼容性

AntDB 是一款可扩展、多租户、高可用、高性能、国产自主的分布式数据库产品,旨在为 OLTP (Online Transactional Processing)、 OLAP (Online Analytical Processing)场景提供一站式的解决方案,具备自动高可用、在线弹性扩容、内核级读写分离等特性,支持SQL2016 标准,提供高并发、高吞吐、低时延的PB级数据处理能力,方便应用平滑地从 Oracle 迁移到 AntDB。

❖ 评估+迁移工具

AntDB MTK(AntDB Migration ToolKits)是安慧科技精心打造的一款高可用、高性能的分布式数据同步复制产品, 可以在同构、异构数据库之间进行迁移评估、离线迁移、数据校验的能力。MTK使用断点续传技术,具有部署简单、 占用资源少、数据零丢失等技术特点。在兼容性评估功能方面,提供整体数据库层面的兼容度分析,通过自动化的数据采集,并在真实环境中进行模拟重演,得出准确的兼容度分析报告。可将源数据库中的DDL、DML、DCL一键自动转换为AntDB的SQL语法,通过对象评估、SQL评估和自动化语法转换,提前识别可能存在的改造工作、提高转换率、最大化降低用户数据库迁移成本。AntDB MTK负责数据库之间的复制同步,支持Oracle,MySQL,PostgreSQL, AntDB等各种数据库产品数据复制同步,实现可预期、 高效率地进行数据库迁移实施。

12).YanshanDB

❖ Oracle 兼容性

YashanDB在SQL语法、表达式运算、FILTER CONDITION、数据类型、内置函数、系统视图和PL等基本功能上均与Oracle数据库兼容,数据库管理和开发人员不需要花费大量的时间去学习新知识,在已交付特性上直接查阅Oracle相关文档,也可流畅地操作使用YashanDB,实现从Oracle数据库到YashanDB的平滑迁移。

❖ 评估+迁移工具

崖山迁移平台(YashanDB Migration Platform,YMP)是YashanDB提供的数据库迁移产品,提供异构RDBMS与YashanDB之间进行迁移评估、离线迁移、数据校验的能力。YMP提供可视化服务,用户只需通过简单的界面操作,即可完成从评估到迁移整个流程的执行与监控,实现低门槛、低成本、高效率的异构数据库迁移。

13).Klustron

❖ MySQL+PG 兼容性

Klustron 同时支持 MySQL 和 PostgreSQL 两种数据库的连接协议和 SQL 语法,可以无缝对接 MySQL 和PostgreSQL 这两大世界顶级开源数据库生态。Klustron 支持所有常见编程语言的 MySQL 和 PostgreSQL 客户端连接库,用这些编程语言编写的软件都可以连接到 Klustron 并正确执行所有符合SQL 标准的 SQL 语句,以及 MySQL和 PostgreSQL 私有的 DML SQL 语句。相应的数据迁移工作也可以借助 Klustron 和第三方的数据导入工具一键完成。

❖ 迁移工具

针对MySQL和PostgreSQL数据库,提供了全量+增量的迁移工具。

14).HaloDB

❖ MultiDB 兼容性

HaloDB可以通过一款数据库设置不同的兼容模式,如此优异的特性得益于 HaloDB 的多模式兼容引擎,HaloDB 数据库具有独有的多模解析引擎技术,可以兼容 PostgreSQL、Oracle、Sybase、MySQL、SQL Server、DB2 等主流数据库语法从而大幅减少迁移项目中的代码修改量。HaloDB 通过参数 database_compat_mode,表示数据库运行模式。默认值为 postgresql,其它可取值包括 oracle 、mysql、sybase、sqlserver、db2 等。其中部分数据库,如MySQL,还提供了协议方面的支持。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论