zoukankan      html  css  js  c++  java
  • leveldb 学习。

    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)烂尾的项目太多了。唉。。。。随便一个做好都不容易。

    非常丑陋的初版

  • 相关阅读:
    hadoop cdh5的pig隐式转化(int到betyarray)不行了
    贝叶斯定理与朴素贝叶斯分类器
    我所见过最全的互联网广告相关介绍
    使用Python做简单的字符串匹配
    awk:快速入门(简单实用19例+鸟哥书内容)
    聚类算法小结
    dubbo 实战
    Mysql查询场景
    深入学习树---二叉树基础
    mysql 索引
  • 原文地址:https://www.cnblogs.com/lsfv/p/6218987.html
Copyright © 2011-2022 走看看