標準MySQL數據庫外的5個開源兼容方案
MySQL 是最受歡迎的免費開源應用之一,它是成千上萬個網站的數據庫骨干。然而,許多開發人員認為有必要將其拆分成其他項目,并且每個分支項目都要有自己的專長,這些需求以及 Oracle 對核心產品增長緩慢的擔憂,導致出現了許多開發人員感興趣的子項目和分支。另外,為了滿足特殊業務的需要,MySQL 有時候不能完全勝任,這就需要開發出新的解決方案。同時,為了兼容舊業務系統的升級維護,新的技術方案多是基于 MySQL 實現而實現的兼容 MySQL 方案。現對國內外比較著名的兼容 MySQL 方案進行一個匯總,以供讀者參考,具體內容如下:
1、領先的 MySQL 咨詢公司 Percona 的 Percona Server
Percona Server 由領先的 MySQL 咨詢公司 Percona 發布的一款使用 XtraDB 存儲引擎的數據庫產品,由 XtraDB 存儲引擎的原作者開發并基于 GPL 開源協議發布,它為用戶提供了換出 MySQL 安裝并換入 Percona Server 產品的能力。Percona Server 能夠完全與 MySQL 兼容,開發者無需更改軟件中的任何代碼,就可以實現二者的相互遷移。從其官網得知 Percona Server 具有高擴展性、高性能、高可靠性、診斷和管理等特征。Percona 團隊還聲明 Percona Server 是最接近官方 MySQL 企業級發行版的版本,因此與其它更改了大量基本核心 MySQL 代碼的分支有所區別。但是,Percona Server 的一個缺點是 Percona 自己管理代碼,不接受外部開發人員的貢獻,以這種方式確保他們對產品中所包含功能的絕對控制。
2、MySQL 之父又一作品 MariaDB
MariaDB 是一個基于 Maria 存儲引擎的 MySQL 分支版本,它是由 MySQL 的作者 Michael Widenius 創辦的公司所開發的免費數據庫,并遵循 GPL V2 開源協議發布。它與 Percona 產品非常類似,但是試圖提供了比標準 MySQL 更多的性能改進,所以對更多底層代碼進行了更改。MariaDB 直接利用來自 Percona 的 XtraDB 引擎,還提供了 MySQL 提供的標準存儲引擎,即 MyISAM 和 InnoDB。因此,可以將 MariaDB 視為 MySQL 的擴展集,它不僅提供 MySQL 提供的所有功能,還提供其他功能。MariaDB 還聲稱自己是 MySQL 的替代,因此從 MySQL 切換到 MariaDB 時,無需更改任何基本代碼即可實現。
3、四家大型互聯網公司的 WebScaleSQL
WebScaleSQL 是由 非死book、Google、LinkedIn、推ter 四家公司基于 MySQL 5.6 社區版本改編的 MySQL 通用分支,且基于 GPL 開源協議發布。WebScaleSQL 是專為大型網絡公司打造的一個 MySQL 定制版本,以應對和解決海量數據所帶來的挑戰,這是這對 MySQL 技術的一次飛躍。WebScaleSQL 項目是來自這四家公司的 MySQL 工程師團隊的工作成果,由于它是開源的,因此其他感興趣的個人和公司也能夠基于自身的資源和規模進行定制。非死book 還公布了其工程師為 WebScaleSQL 分支所做出的貢獻,包括面向內建測試系統、一套完整的壓力測試套件、一個自動化性能測試原型以及修改了 MySQL 的問題架構代碼和性能的改進等。
4、來自網易的 InnoSQL
InnoSQL 是網易開發的 MySQL 數據庫分支版本,遵循 GPL V2 開源協議發布,項目托管在 GitHub。InnoSQL 的功能完全兼容 MySQL 數據庫,用戶根本感受不到 InnoSQL 與 MySQL 數據庫之間的差異,但是 InnoSQL 數據庫本身解決了目前 MySQL 數據庫存在的一些問題,如主從數據庫同步不一致問題、XA 分布式事務丟失、多線程連接性能減弱等各類問題。InnoSQL 具有高性能、高可用性、易于運維與管理、開源等特點。使用 InnoSQL 能夠保證數據復制的正常運行、軟硬件資源的最大利用化、高并發線程下的數據庫穩定運行。據相關人士測試,在使用 flashcache 特性的情況下,InnoSQL 的速度是普通 Mysql 的 5 到 6 倍,是 非死book MySQL flashcache 的 2 到 3 倍。
5、多主站功能的 MySQL/Galera
MySQL/Galera 是 MySQL 的一個分支版本,且基于 GPL 開源協議發布。MySQL/Galera 基于 InnoDB 存儲引擎實現,可用于創建同步的多主站 MySQL(InnoDB)集群。MySQL/Galera 具有真正的多主站功能,所以相同的表可以在不同的節點中同時進行修改。MySQL/Galera 還具有高可用性、已提交的事務從不會丟失、讀寫操作能夠根據需要進行隨意擴展、自動刪除故障節點、自動加入節點、行級別的并發復制以及觸發、存儲過程和用戶自定義函數都是透明的特征。
除了以上兼容標準 MySQL 的開源方案外,還有前 非死book 工程師創辦的號稱是世界上最快的分布式關系型數據庫 MemSQL 以及 Amazon 最近出品的企業級關系數據庫 Aurora 等未開源方案。