去年一月份,Google釋出了LevelDB。LevelDB是Key-Value嵌入式資料庫管理系統程式設計庫,目前的版本能夠支援Billion級别的資料量。LevelDB是一個C++庫,可按照字元串鍵值順序映射。源于其本身的良好設計,特别是LSM算法,LevelDB性能非常之高。在一台4個Q6600的CPU機器上,每秒鐘寫資料超過40w,而随機讀的性能每秒鐘超過10w。
LevelDB可應用于很多場景,如用于網頁浏覽器存儲最近存取網頁的緩存,或用于作業系統存儲安裝包清單,或用于應用存儲使用者的設定參數。新版本的Chrome浏覽器裡部署的IndexedDB HTML5 API就是基于LevelDB打造的,Google的資料庫Bigtable掌管着數百萬資料表也是用LevelDB的,其作為存儲引擎被Riak和Kyoto Tycoon所支援。在國内,淘寶的Tair開源Key-Value存儲也已經将LevelDB作為其持久化存儲引擎,并部署線上上使用。2011年7月,Google 宣布LevelDB項目開源,使用的開源授權協定為BSD。
近期釋出的一篇部落格引發了有關MySQL存儲引擎LevelDB的一場讨論,有人認為MySQL的高性能是源于LevelDB作為其存儲引擎,有人開始對LevelDB和MySQL的性能進行對比。
LevelDB的官網提供了一些性能方面的資料,通過各種方法評測資料庫的寫速度在0.4MB/S到62.7MB/S之間,讀速度在152MB/S到232MB/S之間,對于這些評測的細節内容可以檢視LevelDB官網。
部落格中同樣介紹到LevelDB也許是最符合MongoDB的存儲引擎,因為它不需要multi-statement處理。評論者列舉了LevelDB的可能限制資料庫性能的幾個細節,如下:
不幸的是,這需要在SST檔案的數量和存儲檔案所占空間兩者做出一個權衡,即耗費更多時間将其壓縮。——Vladmir Rodionov
GitHub近期同樣釋出了MySQL和LevelDB的對比, 在連續性插入性能上,LevelDB獲得高吞吐量和低延遲,但是MySQL似乎更穩定。

MySQL與LevelDB在平均延遲和更新性能上表現基本一緻。
本文轉自 wws5201985 51CTO部落格,原文連結:http://blog.51cto.com/wws5201985/781019,如需轉載請自行聯系原作者