码迷,mamicode.com
首页 >  
搜索关键字:leveldb    ( 324个结果
leveldb源码分析--日志
我们知道在一个数据库系统中为了保证数据的可靠性,我们都会记录对系统的操作日志。日志的功能就是用来在系统down掉的时候对数据进行恢复,所以日志系统对一个要求可靠性的存储系统是极其重要的。接下来我们分析leveldb的日志,首先在leveldb源码目录中有doc/log_format.txt,这个文件...
分类:数据库   时间:2014-07-07 13:20:31    阅读次数:338
LevelDB源码分析--Cache及Get查找流程
本打算接下来分析version相关的概念,但是在准备的过程中看到了VersionSet的table_cache_这个变量才想起还有这样一个模块尚未分析,经过权衡觉得leveldb的version相对Cache来说相对复杂,而且version虽然对整个leveldb来说实现上跟其他功能十分紧密,但是从...
分类:数据库   时间:2014-07-05 16:50:17    阅读次数:302
linux 同步IO: sync msync、fsync、fdatasync与 fflush
最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略。为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里做一个罗列和对比。大部分为copy,仅为记录,请各位看官勿喷。 传统的UNIX实现在内核中设有缓冲区...
分类:系统相关   时间:2014-07-04 00:08:09    阅读次数:414
Leveldb源码解析之Bloom Filter
Bloom Filter,即布隆过滤器,是一种空间效率很高的随机数据结构。原理:开辟m个bit位数组的空间,并全部置零,使用k个哈希函数将元素映射到数组中,相应位置1.
分类:数据库   时间:2014-07-03 20:47:36    阅读次数:393
总结一下用caffe跑图片数据的研究流程
近期在用caffe玩一些数据集,这些数据集是从淘宝爬下来的图片。主要是想研究一下对女性衣服的分类。以下是一些详细的操作流程,这里总结一下。1 爬取数据。写爬虫从淘宝爬取自己须要的数据。2 数据预处理。将图片从jpg,png格式转为leveldb格式。由于caffe的输入层datalayer是从lev...
分类:其他好文   时间:2014-07-03 19:23:59    阅读次数:195
leveldb源码分析--SSTable之Compaction
对于compaction是leveldb中体量最大的一部分,也应该是最为复杂的部分,为了便于理解我们首先从一些基本的概念开始。下面是一些从doc/impl.html中翻译和整理的内容:Level 0当日志文件超过一定大小的阈值是 (默认为 1MB):建立一个新的memtable和日志文件,以后的操作...
分类:数据库   时间:2014-07-02 21:34:11    阅读次数:371
leveldb源码分析--SSTable之逻辑结构
SSTable是leveldb 的核心模块,这也是其称为leveldb的原因,leveldb正是通过将数据分为不同level的数据分为对应的不同的数据文件存储到磁盘之中的。为了理解其机制,我们首先看看SSTable中的基本概念。首先看看数据的整体存储结构:可以从图中看到了几个概念:Datablock...
分类:数据库   时间:2014-07-01 22:12:32    阅读次数:282
leveldb源码分析--SSTable之TableBuilder
上一篇文章讲述了SSTable的格式以后,本文结合源码解析SSTable是如何生成的。void TableBuilder::Add(const Slice& key, const Slice& value) {//如果已经插入过数据,那么要保证当前插入的key > 之前最后一次插入的key,// S...
分类:数据库   时间:2014-07-01 21:34:56    阅读次数:469
leveldb源码分析--BloomFilter
bloomfilter是leveldb中的一大性能利器,所以为了文章的表现完整性这里新启这么一篇文章。leveldb中的bloomfilter的实现在bloom.cc中,是一个较为简单的实现,所以就不再具体进行分析。本文列出两个参考地址:那些优雅的数据结构(1) : BloomFilter——大规模...
分类:数据库   时间:2014-07-01 21:13:52    阅读次数:195
leveldb源码分析--SSTable之block
在SSTable中主要存储数据的地方是data block,block_builder就是这个专门进行block的组织的地方,我们来详细看看其中的内容,其主要有Add,Finish和CurrentSizeEstimate三个函数。Finish的逻辑十分简单就是简单的将restart点信息和resta...
分类:数据库   时间:2014-07-01 20:51:08    阅读次数:367
324条   上一页 1 ... 29 30 31 32 33 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!