數據庫:MySQL數據庫的四個分支版本介紹
一、MariaDB
介紹
MariaDB 是由MySQL創始人之一 Michael Widenius 創建的一個分支版本。作者擔心MySQL數據庫被 Oracle公司收購后,會影響MySQL數據庫發展的未來,從而分支出一個版本。
MariaDB的官網:http://mariadb.org/
特點
- 默認使用嶄新的 Maria 存儲引擎,基于原MyISAM 存儲引擎的級版本。
- 增加了對 Hash Join 的支持和對 Semi Join 的優化,使MariaDB 在復雜的分析型 SQL語句中性能提高很多,非常適合在OLAP應用中。
- 支持InnoDB、Memory存儲引擎,還整合了PBXT、FederatedX 存儲引擎。
- MariaDB數據庫是目前 MySOL分支版本中非常值得推薦的一個MySQL分支版本
說明:OLAP(聯機分析處理)是一種多維數據分析技術,它可以幫助用戶在大規模數據集上進行復雜的數據分析和查詢操作。
二、Drizzle
介紹
Drizzle是基于原MySQL6.0代碼分支出的一個版本,是一個輕量級、高性能的數據庫管理系統,旨在提供更好的云計算支持和更好的可擴展性。
官網:https://launchpad.net/drizzle
特點
- 簡化的架構:Drizzle 的架構比 MySQL 更加簡單,去除了一些不必要的組件和功能,例如存儲過程、觸發器等。這樣可以減少代碼量,提高性能和可靠性。
- 可擴展性強:Drizzle 支持更好的可擴展性,可以很方便地添加新的節點,支持分布式存儲和查詢。這樣可以提高系統的容錯性和性能。
- 高性能:Drizzle 的性能比 MySQL 更高,采用了一些新的技術和優化策略,例如采用了非阻塞 I/O、異步事件處理等。
- 適合云計算支持:Drizzle 提供了更好的云計算支持,可以很方便地部署在云計算環境中,支持彈性伸縮和自動擴展。
三、Percona Server
介紹
Percona Server是 Percona公司分支的一個MySQL數據庫版本,可以完全與MySQL兼容,可以在不更改代碼的情況了下將存儲引擎更換成XtraDB 。
官網:https://www.percona.com/
特點
- 該版本對高負載情況下的InnoDB 存儲引擎進行了一定的優化,新的存儲引擎叫做XtraDB,完全兼容InnoDB存儲引擎
- 提供一些非常有用的性能診斷工具
- 新增更多的參數和命令可以用來控制服務器行為
- Percona公司在數據庫領域最大的貢獻是發布了免費開源的XtraBackup數據庫備份工具,可實現對InnoDB存儲引擎表的在線熱備份操作
四、InnoSQL
介紹
InnoSQL 是網易公司杭州團隊開發維護的 MySQL 分支,目前基于 MySQL 5.5。InnoSQL 的主要目標是提供更好的性能以及高可用性,同時便于 DBA 的運維以及監控管理。
特點
- 其完全兼容于原版 MySQL 數據庫。
- InnoDB Flash Cache:將SSD(固態硬盤)作為Flash Cache 。InnoSQL 的解決方案針對 MySQL數據庫的特性對SSD進行了大幅的優化性能較直接將 SSD作為持久存儲性能可有 1倍多的提升。
- InnoDB Share Memory:將 Share Memory 作為InnoDB 的共享內存,以此提高數據庫的預熱速度。InnoDB Share Memory 可將InnoDB 緩沖池迅速恢復到數據關閉時的狀態,以此來保證生產環境應用的連續性。
- IO Statistics :擴展了MySQL 原有 Slow Log 的內容,現在可記錄某 SQL 語的邏輯讀取和物理讀取的 IO。開啟后助于DBA更好地了解 SQL語句的工作、SOL語句的調優。
當打開 I0 Statistics 時,會在 MySQL的SIow Log 中看到類似如下的內容:
Time: 111227 16:29:54
User@Host: root[root] @ localhost [::1]
Query time: 0.310018Lock time: 0.203012 Rows sent:
1 Rows examined: 30000 Logical Read8: 30145 Phyeical Reads: 50
use tpcc;
SET timestam=1324974594;
SELECT COUNT(1) FROM history;
說明:以上三個獨有的功能都是動態的。若不開啟這些功能,與原版 MySQL 數據庫的工作方式完全相同。