- 博客(15)
- 资源 (36)
- 收藏
- 关注
原创 分布式存储引擎解析
1. 随机存储引擎这里推荐阅读豆瓣的beansdb代码和参考这篇论文:《A Log-Structured Hash Table for Fast Key/Value Data》数据读取流程如下:用户指定key之后,根据hash能够计算出该key所在的文件file_id和key在该文件中的偏移量value_pos,通过一次IO操作即可完成数据读取。数据写入时,首先写入log,之后
2011-11-22 21:57:21 2476
原创 分享一个c线程池实现代码
下载地址:http://download.csdn.net/detail/xuqianghit/3823740 内附使用示例及makefile文件接口比较简单:threadpool create_threadpool(int num_threads_in_pool);void dispatch(threadpool from_me, dispatch_fn dispatch_to_h
2011-11-21 21:44:37 2513
原创 分享一个boost.mapreduce代码
http://download.csdn.net/detail/xuqianghit/3815838
2011-11-19 21:39:06 1696 1
原创 nutch安装、配置和使用
安装nutch1. 下载nutch编译完的安装包,下载地址如下:http://labs.renren.com/apache-mirror//nutch/apache-nutch-1.3-bin.zip 并解压。解压完的目录如下:[root@mdss33 nutch-1.3]# lsbuild.xml CHANGES.txt conf default.properties docs
2011-11-16 16:43:45 1414
原创 leveldb源代码分析4:SkipList
skiplist思想可以具体参考这:Skip listView more documents from xuqianghitsoft 或者是参考我的这篇博文:http://www.cnblogs.com/xuqiang/archive/2011/05/22/2053516.html, leveldb中的实现方式基本上和我的那篇博文中的实现方式类似。SkipList在db
2011-11-08 16:23:23 5190 8
原创 leveldb源代码分析3 memtable
上面一篇博文主要说了leveldb的理论原理,接下来将说明leveldb中如何去实现这些组件,主要是按照下面的思路进行的:首先分别分析LSM的各个组件,例如memtable,commit log,compaction实现,之后将这些功能串联起来分析一下leveldb的读写流程。这篇中主要是关于memtable的分析。memtable常驻于内存,需要按照key进行排序,通常意义上的话,可以使用二
2011-11-08 15:57:32 4732
原创 leveldb源代码分析2 理论基础
leveldb其实就相当于是bigtable中简化的每个数据节点,其中关键性的思想如下(来自于http://www.slideshare.net/sunzhidong/google-leveldb-study-discuss):也就是说原始的想法就是向如何将随机的io操作转换成顺序的io写操作,下面可能需要考虑的问题就是基于LSM这种数据结构如何进行insert, delete, up
2011-11-07 21:56:57 5265 3
原创 Cassandra源代码分析:数据写入流程
org.apache.cassandra.thrift.CassandraServer类的add方法将接受客户端的请求,该函数定义如下: public void add(ByteBuffer key, ColumnParent column_parent, CounterColumn column, ConsistencyLevel consistency_level)
2011-11-07 15:46:10 2906
原创 leveldb源代码分析1
1. leveldb简介leveldb是一个key/value型的存储引擎,由google开发,并宣布在BSD许可下开放源代码。2. leveldb下载和安装leveldb托管在google code上,可以使用git下载源代码:git clone https://code.google.com/p/leveldb/下载完成之后,开始编译leveldbcd leve
2011-11-05 17:12:06 5544 3
转载 Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparisonWhile SQL databases are insanely useful tools, their monopoly of ~15 years is coming to an end. And it was j
2011-11-03 11:16:35 1405
原创 tokyo cabinet源代码分析2
tokyo cabinet(以下简称TC)作为一个程序库,其中并没有main函数,那么我们该如何去开始代码阅读工作,这里的基本思路如下:1. 首先明确TC中数据类型2. 按照example的示例程序了解TC的运行过程。TC中仅仅包含了8个头文件,各个头文件作用如下:1. Md5.h 定义md5算法中需要使用的数据类型,和md5函数原型声明2. Myconf.h 程序配置信息,通
2011-11-02 19:39:55 1051
原创 tokyo cabinet源代码分析1
1. tokyo cabinet系统介绍 tokyo cabinet官方主页http://fallabs.com/tokyocabinet/,是一款kv型的数据库,没有数据类型,没有表的概念,key和value都可以是任意长度的字符串。2. 安装及简单客户端程序tokyo cabinet安装比较简单:1. 下载源文件包:http://fallabs.com/tokyocabin
2011-11-02 17:42:56 1493
ASP.Net web server demo
2010-03-05
iinniitt进程探悉
2010-02-05
linux 内存使用方法
2010-02-05
source insight使用方法
2010-01-17
Skyeye安装笔记和使用
2010-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人