leveldb将数据库的有关操作都定义在了DB类,它负责整个系统功能组件的连接和调用,是整个系统的脊柱。level::DB是一个接口类,真正的实现在DBimpl类。
作者在文档impl.html中描述了leveldb的实现,其中包括文件组织、compaction和recovery等等。DBimpl的成员变量包括:字符比较器internal_comparator_、配置类options_、bool型...
分类:
数据库 时间:
2015-08-20 13:10:12
阅读次数:
213
Leveldb是一个google实现的非常高效的kv数据库,是单进程的服务,能够处理十亿级别规模Key-Value型数据,占用内存小。 ? ? ?基于可复制LevelDB的集群方案,需要引入ZooKeeper。根据ZooKeeper的使用方式可以分为...
分类:
数据库 时间:
2015-08-17 12:21:27
阅读次数:
509
VersionEdit:compact过程中会有一系列改变当前Version的操作(FileNumber增加,删除input的sstable,增加输出的sstable),为了缩小version切换的时间点,将这些操作封装成versionedit,compact完成时,将versionedit中的操作一次应用到当前version即可得到最新状态的version。
versionedit的成员变量:...
分类:
数据库 时间:
2015-08-16 18:28:16
阅读次数:
220
背景几个月前,基于Google的LevelDB,我为Android平台写了一个名为SnappyDB的键值数据库(NoSQL)。由于它使用到了原生C++代码,因此最终生成的文件除了Jars包还有so文件。通过Maven仓库发布我们的函数库没有什么问题(只要你通过繁琐的发布流程),maven-android-plu...
分类:
移动开发 时间:
2015-07-31 23:30:14
阅读次数:
272
1:简介 Leveldb是一个google实现的非常高效的kv数据库,可按照字符串键值顺序映射进行存贮。目前的版本1.2能够支持billion级别的数据量了。在这个数量级别下还有着非常高的性能。 Leveldb是一个C++库,可用于很多情况。比如用于一个网页浏览器存储最近存取网页的缓存,或...
分类:
数据库 时间:
2015-07-29 18:40:23
阅读次数:
223
到此为止,基本上leveldb的主要功能组件都已经分析完了,下面如何把它们组合在一起形成一个高效稳定的数据库,这就是DBimpl类和compact进程的工作。
campact进程
为了均衡读写的效率,sstable文件分层次(level)管理,db预定义了最大的level值。compact负责将memtable持久化成sstable,以及均衡整个db中各level的sstable。
版本控制
当执行...
分类:
数据库 时间:
2015-07-24 18:25:43
阅读次数:
225
block_builder
block.h和.cc里定义了block的entry存储格式和restart,提供了entry的查找接口以及迭代器。那么如何往写block里写entry呢?leveldb遵循面向对象的设计理念在block_builder类里提供了相关接口。...
分类:
数据库 时间:
2015-07-22 18:51:01
阅读次数:
150
Windows下编译LevelDB
flyfish 2015-7-8
LevelDB是开源的存在磁盘上的key-value存储 由google的Jeffrey Dean 和Sanjay Ghemawat编写。
环境
操作系统:windows x64
编译器: VC2010
配置
需要Boost库支持,需要先将Boost库编译为64位版本
1文件-》新...
分类:
数据库 时间:
2015-07-08 18:51:56
阅读次数:
373
Google的开源项目LevelDB好是好,但却留下了个大坑,折磨我了一两天,查阅了大量资料。发现大家碰到的问题也跟我差不多,在此写下笔记记录下来。
参考:
https://github.com/google/leveldb Google源码地址
http://www.tanhao.me/piec...
分类:
数据库 时间:
2015-07-08 16:33:11
阅读次数:
234
这两天有兴致装了下caffe,感受下这个框架。
但是在这个过程中遇到很多问题,我把碰到的问题和解决方案写下,便于后人快速上手。
compute_image_mean.exe 编译出来后,执行数据变换时,出现下图的情况。
随后,迅速到网上查找相关信息。
看到了下面这篇博客,关于leveldb 的
http://blog.csdn.net/cywosp/artic...