原地址:http://www.open-open.com/lib/view/open1410569018211.html自从activemq5.9.0开始,activemq的集群实现方式取消了传统的 Master-Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:...
分类:
数据库 时间:
2015-11-18 02:03:10
阅读次数:
246
原文:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html对leveldb非常好的一篇学习总结文章郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecit...
分类:
数据库 时间:
2015-11-03 09:16:02
阅读次数:
351
最近了解了一下LevelDB,发觉这个嵌入式的K-V数据性能不错,所以顺便想在使用层面了解一下.由于LevelDB也有针对.net的实现,所以就针对了LevelDB.NET进行了一个简单的读写压力测试.为了更客观的体现测试结构所以添加了大量的数据,和GET操作的时候随机已经有的KEY进行...
分类:
数据库 时间:
2015-10-26 22:13:40
阅读次数:
232
【LevelDB Compaction操作】 对于LevelDb来说,写入记录操作很简单,删除记录仅仅写入一个删除标记就算完事,但是读取记录比较复杂,需要在内存以及各个层级文件中依照新鲜程度依次查找,代价很高。为了加快读取速度,levelDb采取了compaction的方式来对已有的记录进行整理压....
分类:
数据库 时间:
2015-10-14 23:42:35
阅读次数:
320
【LevelDB Version】 Version保存了当前磁盘以及内存中所有的文件信息,一般只有一个Version叫做"current" version(当前版本)。Leveldb还保存了一系列的历史版本,这些历史版本有什么作用呢? 当一个Iterator创建后,Iterator就引用到了...
分类:
数据库 时间:
2015-10-14 23:21:52
阅读次数:
220
【LevelDB 读取记录】 LevelDb是针对大规模Key/Value数据的单机存储库,从应用的角度来看,LevelDb就是一个存储工具。而作为称职的存储工具,常见的调用接口无非是新增KV,删除KV,读取KV,更新Key对应的Value值这么几种操作。LevelDb的接口没有直接支持更新操作的....
分类:
数据库 时间:
2015-10-14 17:55:08
阅读次数:
254
【LevelDb日知录之五:MemTable详解】 LevelDb日知录前述小节大致讲述了磁盘文件相关的重要静态结构,本小节讲述内存中的数据结构Memtable,Memtable在整个体系中的重要地位也不言而喻。总体而言,所有KV数据都是存储在Memtable,Immutable Memtable....
分类:
数据库 时间:
2015-10-14 16:08:15
阅读次数:
258
【LevelDB Log文件】 log文件在LevelDb中的主要作用是系统故障恢复时,能够保证不会丢失数据。因为在将记录写入内存的Memtable之前,会先写入Log文件,这样即使系统发生故障,Memtable中的数据没有来得及Dump到磁盘的SSTable文件,LevelDB也可以根据log文....
分类:
数据库 时间:
2015-10-14 14:08:45
阅读次数:
202
【LevelDB SSTable文件】 LevelDb不同层级有很多SSTable文件(以后缀.sst为特征),所有.sst文件内部布局都是一样的。上节介绍Log文件是物理分块的,SSTable也一样会将文件划分为固定大小的物理存储块,但是两者逻辑布局大不相同,根本原因是:Log文件中的记录是Ke....
分类:
数据库 时间:
2015-10-14 14:01:02
阅读次数:
218
【LevelDB 整体架构】 从图中可以看出,构成LevelDb静态结构的包括六个主要部分:内存中的MemTable和Immutable MemTable以及磁盘上的几种主要文件:Current文件,Manifest文件,log文件以及SSTable文件。当然,LevelDb除了这六个主要部...
分类:
数据库 时间:
2015-10-13 22:47:50
阅读次数:
197