長文:國產數據庫兼容性一覽
原創近期又接觸到部分兼容性工作,特收集整理了部分國產數據庫的兼容情況,整體感覺國內產品這部分做的差異還是蠻大的。本文將從一張對比表入手,談談國內產品的兼容性問題,并簡單介紹下各家的兼容性情況。
1. 常見國產數據庫兼容性一覽
讓我們先從一張《數據庫庫兼容性一覽表》開始,談談各家兼容性。
? 兼容對象
在兼容對象上,大部分產品都將Oracle、MySQL、PostgreSQL作為兼容對象,部分產品還將如DB2、SQL Server等作為兼容對象。在實現上有些產品是支持多種模式,可以在初始化時進行選擇,這里用[MultiDB]進行區分。
? 兼容層次
兼容層次,是指產品在那個層次提供的兼容能力,這里分為多種情況。
- 內核級:有些產品在內核層面就兼容某些數據庫,這類已“開源+二開”類產品居多。因為是基于開源產品構建的,因此天然就具備對此產品的兼容性。
- 產品級:有些產品是以“品牌”形式存在的,即不是單一產品構成;其為了兼容其他數據庫,提供獨立產品來滿足。這主要是一些云廠商的產品采用這樣的策略。
- 數據庫級:有些產品的兼容性是在數據庫初始化的階段進行指定,且一旦指定后就不能改變。
- 租戶級:有些產品是在租戶層面提供指定的兼容性能力,租戶一旦指定兼容性后就不能改變。
- 功能級:有些產品是在產品自身能力上增強,支持其他數據庫功能。
? 兼容評估
數據庫兼容性包含的維度很多,為了方便用戶了解數據庫的兼容能力,很多產品提供了兼容評估。在實現上有些提供了工具,有些則通過文檔進行說明。
? 數據遷移
除了對象、語法等兼容外,是否能從源端將數據很方便地遷移、同步到目標端也很重要。這里列出產品是否提供的異構數據庫的遷移能力。
? 兼容項:<通訊協議>
協議的兼容,可以提供一種很友好的管理、使用體驗,不用改變原有連接方式的情況下就可以使用新的一種數據庫。特別是針對上下游生態工具而言,協議兼容有助于快速上手使用新數據庫;例如常見的如 Navicat、DBeaver 等工具可以快速連接訪問數據庫或者如 MySQL、PostgreSQL 的命令行工具也如此。
? 兼容項:<數據類型>
數據庫系統存儲和處理數據時,不同數據庫管理系統可能對數據類型的支持存在差異,這就需要考慮數據類型兼容性。數據類型兼容性主要涉及以下幾個方面:
- 數據完整性:數據類型的兼容性影響了數據的完整性。如果在數據遷移或跨數據庫系統操作時,不同數據庫系統對數據類型的支持不同,會導致數據類型轉換或截斷,從而影響數據的完整性。
- 查詢效率:數據類型的不兼容性會影響查詢效率。如果不同數據庫系統對數據類型的存儲和索引方式不同,可能會導致查詢性能下降。
- 應用開發難度:數據類型的不兼容性會增加應用開發的難度。在跨數據庫系統開發時,如果數據類型不兼容,就需要針對不同數據庫系統進行特殊處理,增加了開發和維護的成本。
所以數據類型兼容性在數據庫兼容性評估中具有重要的意義,需要綜合考慮數據完整性、查詢效率和應用開發難度等因素,以確保數據在不同數據庫管理系統之間的兼容性和一致性。
? 兼容項:<字符集>
字符集是一種用來表示不同語言和字符的編碼規范。在數據庫中,字符集決定了數據如何存儲和顯示。不同的數據庫管理系統支持不同的字符集,例如MySQL支持utf8、utf8mb4等字符集,而Oracle支持AL32UTF8、AL16UTF16等字符集。在數據庫替換過程中進行數據庫遷移或數據交換的時候,字符集兼容性就顯得非常重要。當要將數據從一個數據庫遷移到另一個數據庫時,需要確保數據的字符集不會丟失或損壞,務必注意字符集的兼容性,以確保數據能夠正確地存儲和顯示。數據庫廠商應明確自己兼容的數據庫類型,以及如何設置字符集,以方便用戶選擇和使用。
? 兼容項:<SQL語法>
盡管 SQL 是一種標準化的查詢語言,但實際上不同的數據庫實現了自己的 SQL 語法擴展和特性,導致其之間的 SQL 語法存在一定的差異。在進行數據庫替換過程中,跨數據庫的開發、遷移和數據交互等環節,由于不同數據庫之間 SQL 語法的差異,會直接影響客戶的決策和項目周期。各數據庫廠商應在兼容性部分盡可能的細化 SQL 語法的兼容性程度,以便研發和運維管理人員做綜合的評估
? 兼容項:<數據對象>
數據庫對象的兼容性在數據庫替換或遷移中起著至關重要的作用。當需要將一個數據庫系統替換成另一個數據庫系統時,數據庫對象的兼容性可以影響到替換過程的順利進行以及數據的完整性和準確性。以下是數據庫對象兼容性在數據庫替換中的作用:
- 數據遷移:在進行數據庫替換時,通常需要將原有數據庫中的數據遷移到新的數據庫系統中。如果數據庫對象之間的數據類型、存儲結構、索引等不兼容,可能導致數據丟失、格式不正確或無法正確轉換的問題。
- 存儲過程和觸發器:一些數據庫對象,如存儲過程和觸發器,可能是特定于某個數據庫系統的特性。在進行數據庫替換時,需要確保新的數據庫系統能夠支持這些對象,并進行相應的遷移和調整。
- 數據一致性:數據庫對象的兼容性還涉及到數據的一致性和完整性。在數據庫替換過程中,需要確保數據庫對象的轉換和遷移不會造成數據錯誤或丟失,以保持數據的一致性。
- 性能影響:數據庫對象的兼容性還會影響到新數據庫系統的性能。如果數據庫對象的設計不符合新數據庫系統的最佳實踐或性能優化策略,可能會造成性能下降或不穩定。
? 兼容項:<過程化語言>
數據庫過程化語言是一種用于編寫存儲過程和觸發器等數據庫對象的編程語言。它是針對特定數據庫管理系統而設計的,以支持在數據庫中執行復雜邏輯和業務規則的編程需求。通過數據庫過程化語言,用戶可以在數據庫中定義和執行一系列的操作和邏輯,實現對數據的處理和管理。在數據庫替換過程中,過程化語言的重要性主要體現在數據轉換、業務邏輯實現、數據一致性和完整性、性能優化以及數據遷移邏輯控制等方面。通過合理地使用過程化語言,數據庫替換工作可以更有效地進行,同時保證數據的完整性和業務規則的實現。
? 兼容項:<內置函數>
數據庫內置函數是數據庫提供的一組用于處理數據和執行特定操作的函數。這些內置函數可以用于查詢、操作和處理數據庫中的數據,簡化開發和提高查詢效率。不同的數據庫系統支持不同的內置函數,通常包括字符串函數、數值函數、日期函數、聚合函數等。同時數據庫內置函數的使用可以簡化數據處理過程,減少手動編寫復雜的邏輯代碼的工作量,提高開發效率和代碼的可讀性。在編寫SQL查詢語句或存儲過程時,合理地使用數據庫內置函數能夠更高效地實現各種數據處理和操作。如果數據庫替換后,原本使用的內置函數在新的數據庫中不被支持或者功能有所改變,就會導致原有的數據庫操作無法正常進行,甚至可能會導致數據丟失或錯誤。因此,在進行數據庫替換時,需要仔細評估新數據庫對內置函數的支持情況,確保原有的數據庫操作能夠在新數據庫中正常運行。如果存在兼容性問題,可能需要重新設計數據庫操作,或者尋找替代的內置函數來實現相同的功能。保證數據庫內置函數的兼容性對于保障數據庫操作的正常運行和數據的完整性至關重要。
? 兼容項:<系統視圖>
數據庫系統視圖是數據庫系統中的一種虛擬表,它是通過查詢一張或多張基本表生成的視圖。這些視圖可以幫助用戶簡化復雜的查詢操作,隱藏數據的復雜性,提供不同層次的數據訪問權限,以及提供數據安全性。兼容數據庫的系統視圖可以有效地降低數據庫替換或升級過程中的風險,保障原有數據和應用的正常運行。
? 兼容項:<優化器功能>
通過優化器的功能,數據庫可以根據查詢的復雜度和特點生成最優化的執行計劃,從而提高查詢性能,降低系統資源的消耗,提升數據庫系統整體的性能表現。通過確保數據庫優化器功能的兼容性,可以有效降低數據庫替換或升級帶來的風險,并保障系統的性能和效率得到長期維持和提升。
? 兼容項:<安全特性>
數據庫安全特性是數據庫系統中用于保護數據安全的一系列功能和措施。這些特性旨在防止未經授權的訪問、數據泄露、數據損壞和其他安全威脅,確保數據庫系統的完整性、可用性和保密性。常見的數據庫安全特性:訪問控制、數據加密、審計和監控、數據完整性、數據備份和恢復、數據脫敏、異常檢測和防范。兼容原數據庫的安全特性可以幫助組織順利遷移或升級數據庫系統,同時保持數據的安全性和完整性。在進行數據庫系統替換或升級之前,建議對數據庫安全特性進行仔細評估和規劃,確保數據庫系統在安全方面的兼容性得到充分考慮。
? 兼容項:<生態工具>
數據庫生態工具是指與數據庫系統相關的一系列軟件和工具,用于管理、監控、優化和擴展數據庫系統的功能和性能。這些工具涵蓋了數據庫開發、運維、安全、備份恢復、性能調優等不同領域,旨在幫助數據庫管理員和開發人員更好地管理和利用數據庫系統。兼容原有數據庫的生態工具,可以大大降低用戶的學習成本,復用原有生態工具,可以減少用戶在數據庫生態方面的投入,降低用戶成本。
2. 各家數據庫兼容性能力說明
(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,還提供了協議方面的支持。