MemSQL是由Eric Frenkiel(前Facebook員工)和Nikita Shamgunov(前微軟SQL Server高級工程師)創建的一款基于內存的分布式關系數據庫,它通過將數據存儲在內存中,并將SQL語句預編譯為C++而獲得極速的執行效率。它兼容MySQL,且速度要比MySQL快30倍,能實現每秒150萬次事務。近日,MemSQL 3.1發布,該版本 提供了多種升級和安裝3.1版本的方法,改進了事務和安全訪問控制的支持,值得關注的改進包括:
· 視圖支持表級別的安全訪問控制,支持在線修改視圖
· 使用REPLICATE DATABASE命令可以實現自動、跨數據中心的數據復制。
· INSERT和LOAD DATA支持分布式事務
· 支持ALTER TABLE、DROP INDEX、ALTER TABLE、MODIFY COLUMN等操作
· 新增使用IN支持不相關子查詢
· 新增SQL_BIG_RESULT關鍵詞支持分組查詢
· 通過多個途徑提高了LOAD DATA的性能
· 使用SNAPSHOT命令手動觸發全庫的快照
· INSERT和SELECT支持分布式環境下的操作
· 新增ATTACH LEAF ALL命令
MemSQL宣稱是世界上最快的分布式關系型數據庫,從MemSQL官網上了解到,它具有以下幾大特色:
· 無可比擬的效率:MemSQL執行效率比傳統的基于磁盤的數據庫要快30倍,它優于其他內存數據庫,因為它將SQL語句預編譯為C++。
· 強大的SQL執行能力:支持全功能的關系型數據庫,開發者不必修改現有程序即可獲得NoSQL鍵/值存儲系統的效率。
· 支持橫向和縱向擴展:MemSQL支持縱向擴展,CPU越好效率就越高;而且支持向多CPU擴展;此外,MemSQL還可與MySQL節點結合起來處理PB級的負載。
· 默認支持數據持久化:MemSQL缺省支持數據從內存到磁盤/SSD的同步,保證數據的安全可靠。
· 安裝極其簡易:只需30秒即可完成安裝并能夠使用MemSQL,兼容MySQL,學習曲線平滑。
說起MemSQL,不得不說下NewSQL。NewSQL一詞是由451 Group的分析師Matthew Aslett在研究論文中提出的。NewSQL是一類兼顧了NoSQL和SQL優點的新型數據庫系統,其目的是把關系模型的優勢發揮到分布式體系結構中,或者提高關系數據庫的性能到一個不必進行橫向擴展的程度。這類數據庫不僅具有NoSQL對海量數據的存儲管理能力,還保持了傳統數據庫支持ACID和SQL等特性。它們有兩個顯著的共同特點,一是它們都支持關系數據模型,二是它們都使用SQL作為其主要的接口。