MySQL/HandlerSocket和VoltDB:NoSQL的競爭者

來源: InfoQ  發布時間: 2010-11-18 22:05  閱讀: 1038 次  推薦: 0   原文鏈接   [收藏]  
摘要:一般認為NoSQL數據庫在性能方面要優于傳統的SQL數據庫。但是有兩個SQL的解決方案宣布:對于大型系統的高可擴展性需求,SQL仍然是可行的解決方案!這兩個SQL解決方案分別是MySQL加NoSQL層插件和支持SQL的VoltDB數據庫。

  一般認為NoSQL數據庫在性能方面要優于傳統的SQL數據庫。但是有兩個SQL的解決方案宣布:對于大型系統的高可擴展性需求,SQL仍然是可行的解決方案!這兩個SQL解決方案分別是MySQL加NoSQL層插件和支持SQL的VoltDB數據庫。

  MySQL + HandlerSocket

  Yoshinori Matsunobu是Sun/Oracle的前雇員,從事MySQL的研發工作,目前是DeNA的首席數據庫和基礎設施架構師,他以插件的方式為MySQL/InnoDB提供解決方案,可以在一臺2.53GHZ、8核CPU、32G內存的Nehalem服務器上把每秒的查詢數量(qps)提升到750,000以上。

  在同樣的硬件環境下,無插件的MySQL只能提供100,000左右的qps,如果使用memecached的話,可以增加到大約400,000。經過對RDBMS的分析,Matsunobu意識到大部分時間都花在SQL的開銷上,比如調用MYSQLparse()、MYSQLlex()、make_join_statistics()和JOIN::optimize()等。他寫到:

很顯然性能降低的原因主要在SQL層,而不是“InnoDB(存儲)”層。MySQL必須做很多事情......但memcached/NoSQL是不需要做這些額外工作的。

  SQL層的功能包括解析SQL語句、打開/鎖定/解鎖/關閉表、解決并發問題等。Matsunobu的解決方案就是增加額外的NoSQL層:

我們認為最好的方式就是在MySQL內部實現一個NoSQL的網絡服務器。也就是說,編寫一個網絡服務器作為MySQL的插件(守護插件),用來監聽特定端口,接收NoSQL的協議和API,然后通過MySQL內部存儲引擎API直接訪問InnoDB。這種方式很像NDBAPI,不同的是它可以與InnoDB交互。

  他的團隊開發了HandlerSocket插件,有了這個插件,MySQL更像一個NoSQL數據庫,通過監聽一個獨立的端口,接收從SQL層來的簡單查詢請求,例如主鍵查詢,索引掃描和插入/更新/刪除。這一變化把數據庫性能提升到了750K qps以上。常用端口可以接收處理復雜查詢,其核心仍然是SQL數據庫。DeNA采用SQL/NoSQL混合的方式取得了成功,據Matsunobu所言,在相同的時間內,這種解決方案把多個memcached和MySQL主從服務器的方案遠遠甩在了后面。

  VoltDB

  另一個很有希望的SQL解決方案是VoltDB,這是一個內存中的開源OLTP SQL數據庫,能夠保證事務的完整性(ACID)。VoltDB是由原Ingres和Postgres的架構師Mike Stonebraker設計的。該數據庫主要特征如下:

  • 為了獲得最大化吞吐量,數據保存在內存中(而不是在硬盤),這樣可以有效消除緩沖區管理。
  • VoltDB通過SQL引擎把數據分發給集群服務器的每個CPU進行處理。
  • 每個單線程分區自主執行,消除鎖定和閂鎖的需求。
  • VoltDB可以通過簡單的在集群中增加附加節點的方式實現性能的線性增加。

  正如其開發者宣稱的那樣,該數據庫的性能使其成為NoSQL解決方案的有力競爭者:

  • VoltDB在單節點上可以每秒處理53000個事務請求(TPS),其他DBMS在相同的硬件環境下只能處理1155個。VoltDB的擴展是近似線性的──在12個節點的VoltDB集群上進行同樣測試,可以處理560,000 TPS。
  • 基準案例:某個客戶的在線游戲在12個節點的VoltDB集群上處理了130萬 TPS。
  • VoltDB還針對NoSQL的鍵-值存儲方式作了基準測試,VoltDB在處理各種鍵-值存儲負載的情況下獲得了相同或更好的性能。

  除了它的性能,VoltDB的主要優勢是可以與SQL用戶進行交流,這些SQL用戶是很好的資源。

  近期還會推出VoltDB的企業版本,包括基于瀏覽器的數據庫管理系統,提供、管理和監控數據庫集群。除了免費的社區版本,針對企業版的支持也開始了。

  查看英文原文:MySQL/HandlerSocket and VoltDB: Contenders to NoSQL

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()