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