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