leveldb 學習。

來源:互聯網
上載者:User

標籤:索引   article   offset   href   tail   知識點   項目   level   csdn   

1)大概瀏覽了leveldb文檔的介紹。本想逐步看代碼,想想還是自己先實現一個看看如何改進。

2)完成了一個非常醜陋的初版,但是還是比初初版有進步。

3)key value的資料庫,不允許有key重複,所以必須檢測key。

  1,插入檢測key重複,太耗時間,不可能去檢查資料檔案。明顯必須加入一個索引檔案。形式key,offset。

  2,  key,offset的索引形式,資料到達5w,簡直不可忍受。插入資料時,必須對索引檔案排序,之後可以二分法尋找key。

  3,排序,二分尋找法,又必須要求可以對索引檔案進行random access 立即訪問。所以要求每個記錄一樣大小。所以自己開始考慮是建立二級索引檔案。形式:一級索引元素的offset。

    查看了leveldb的實現,自己還是太嫩,既然要求2級索引了,那麼一級索引的key,offset,就沒有發揮原本可以直接查看key的功效。所以直接去掉key,offset,索引檔案直接放入 ,資料檔案中每條元素的offset。

  4,尋找key用二分尋找法,插入也必須用二分插入法。

4)非常醜陋的初版完成。基本可以插入資料了。不會出現初初版的到了5w資料,基本不可忍受的插入速度。

5)繼續完善,發現一篇介紹leveldb的博文,http://blog.csdn.net/qq112928/article/details/21172841。一下讓繼續完善的動力,暫停了。leveldb中使用了幾個自己完全沒有接觸的演算法和思路。所以暫時暫停。先學習使用到的知識點。再完善。

6)爛尾的項目太多了。唉。。。。隨便一個做好都不容易。

非常醜陋的初版

leveldb 學習。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.