專案簡介
InnoSQL 是網易杭州研究院開發維護的 MySQL 分支版本,基於 MySQL 5.5 代碼庫構建。該專案的核心目標在於提供更優異的性能表現與高可用性,同時簡化 DBA 的運維監控工作。InnoSQL 完全兼容原版 MySQL,所有新增功能均為動態可配置,若不啟用這些特性,其行為與標準 MySQL 完全一致。
核心特性
高可用特性
- 虛擬同步複製與群組提交:實現高性能同步復制,保障數據一致性
- 崩潰安全的從庫:主從架構下,即便發生宕機,數據依然保持一致
- 從庫批量提交:大幅降低主從延遲,基本達到實時同步效果
- InnoDB 共享內存:緩衝池快速預熱技術,縮短重啟後的預熱時間
高性能特性
- InnoDB Flash Cache:將 SSD 作為 L2 Cache,Percona CTO 測試證明效果顯著
- InnoDB IO 增強:針對 InnoDB 的 IO 進行深度優化,特別針對 SSD 儲存優化
- 死鎖檢測優化:改進死鎖檢測機制,降低鎖衝突對性能的影響
運維監控特性
- 觀察 InnoDB Undo Log 詳細信息
- 監控不同刷新方式的執行次數統計
- 查看 Master Thread 與 Purge Thread 的線程 ID
- Slow Log 記錄 SQL 的物理與邏輯 IO 次數
- Binlog 記錄 SQL 執行者的用戶與 IP 信息
- Profiler 功能:對用戶資源進行限制管理
- Role Table:將用戶加入角色表,便於權限批量管理
快速開始
獲取源碼並編譯:
git clone git://github.com/NetEase/InnoSQL.git
cd InnoSQL/src
# 當前目錄即可獲得各種 Patch 包
相關資源