http://www.kuqin.com/database/20110919/265041.htmlSlice非常简单的数据结构,它包括length和一个指向外部字节数组的指针。为什么使用Slice,而不直接使用string呢??相比返回string,返回Slice的开销会小的多(没有拷贝,Slic...
分类:
数据库 时间:
2014-08-07 18:23:40
阅读次数:
216
基于prefix bloomfilter的过滤思想和get_range接口数据的特点,在导师的指导下,提出如下的简单方案,对get_range接口的范围查找过程进行优化,使得能够根据prefix进行过滤,减少无效的磁盘IO。...
分类:
数据库 时间:
2014-08-04 14:35:57
阅读次数:
248
“Tair LDB基于Prefixkey的范围查找性能优化”这个项目刚好进行了一个月,这一个月主要是熟悉项目、掌握项目和提出设计方案的过程,下面从几个方面总结下个人在该项目上所做的工作及自己的个人所得所感。 项目工作简单总结1. 项目实施计划的确定不管什么类型的项目(大、小,难、易),在项目开展之前都应该有个可实施的计划,一方面能够确保项目的进度,另一方面也能防止有些人三天打鱼两天晒网的心态。在导...
分类:
数据库 时间:
2014-08-04 14:22:47
阅读次数:
337
tair是一个分布式KV存储引擎,当新增机器或者有机器down掉的时候,tair的dataserver会根据ConfigServer生成的新的对照表进行数据的迁移和清理。在数据清理的过程中就用到了在tair中新增的Compaction方式——CompactRangeSelfLevel,顾名思义,这个...
分类:
数据库 时间:
2014-08-03 12:37:25
阅读次数:
885
glog本身是很高效的,google的大牛肯定知道大规模的写日志用glog的话肯定会影响业务线程的处理,带负荷的磁盘IO谁都桑不起。比方levelDB就是默认异步写,更不用说google的三驾马车都是分布式的。之前看过其论文,简直是引领时代。在glog的issue里有人提出了异步写的问题,可是语焉不...
分类:
编程语言 时间:
2014-07-31 20:06:27
阅读次数:
388
leveldb作为一个KV存储引擎将数据持久化到磁盘,而对于一个存储引擎来说在存储过程中因为一些其他原因导致程序down掉甚至数据文件被破坏等都会导致程序不能按正常流程再次启动。那么遇到这些状况以后如何使程序最大程度的恢复数据就是非常重要的一项工作,leveldb也提供了这方面的工作。首先来看rec...
分类:
数据库 时间:
2014-07-29 17:23:52
阅读次数:
409
Google的leveldb是个很优秀的存储引擎,但还是有一些不尽人意的地方,比如leveldb不支持多线程合并,对key范围查找的支持还很简单,未做优化措施,等等。而Facebook的RocksDB是个更彪悍的引擎,实际上是在LevelDB之上做的改进,在用法上与LevelDB非常的相似,两者的对比可以参考下面的参考资料1。
这里之所以要调研rocksdb是因为rocksdb中加入了prefi...
分类:
数据库 时间:
2014-07-28 15:52:50
阅读次数:
445
分析完leveldb以后,接下来的时间准备队tair的源码进行阅读和分析。我们刚刚分析完了leveldb而在tair中leveldb是其几大存储引擎之一,所以我们这里首先从tair对leveldb的使用和修改来窥探在这个分布式的存储引擎中是如何将area和bucket持久化到存储,并且方便bucke...
分类:
数据库 时间:
2014-07-27 22:41:49
阅读次数:
574
1. Tair ldb简单介绍
1.1 tair非持久化/持久化存储引擎
tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 在最新版本的tair trunk中目前实现了以下4种存储引擎。
非持久化:mdb持久化:fdb、kdb和...
分类:
数据库 时间:
2014-07-16 17:22:51
阅读次数:
399
我们先来参考来至使用Iterator简化代码2-TwoLevelIterator的例子,略微修改希望能帮助更加容易立即,如果有不理解请各位看客阅读原文。 下面我们再来看一个例子,我们为一个书店写程序,书店里有许多书Book,每个书架(BookShelf)上有多本书。 类结构如下所示 class Bo...
分类:
数据库 时间:
2014-07-03 23:43:34
阅读次数:
1183