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

非常丑陋的初版

最新文章

  1. c++中STL库简介及使用说明
  2. php 多条数据更新
  3. html5画四边形
  4. Android组件间的数据传输
  5. UVA 10152-ShellSort(映射+栈)
  6. Memcahce(MC)系列(一)Memcache介绍、使用、存储、算法、优化
  7. 修改chrome的安装目录
  8. Spring 中事务控制的API介绍
  9. gulp+webpack构建配置
  10. string 常量池 栈 堆
  11. javascript void函数
  12. Leetcode:Longest Substring Without Repeating Characters 解题报告
  13. 【Python编程:从入门到实践】chapter10 文件和异常
  14. stm32 IO口八种模式区别
  15. PHP初级
  16. Ruby:对象模型(又称八卦模型)笔记
  17. 统计的一个小题目python实现
  18. 网站收到的url请求链接,字母全部变为小写
  19. QWebView 与Js 交互
  20. 【Linux 运维】linux系统查看版本信息

热门文章

  1. CAS学习笔记(一)
  2. HDU - 1875 畅通工程再续
  3. c#中事物使用
  4. maven创建的Web工程,Eclipse 内 tomcat容器不识别的处理方法
  5. DLL注入
  6. Android 中如何计算 App 的启动时间?
  7. 【转载】调试利器 autoexp.dat
  8. wamp多网站配置for window 本地测试 单Ip
  9. 非常好的Oracle教程【转】
  10. VIM配置与管理