Patch Mnesia 使用TokyoCabinet引擎突破2G存储限制

Patch Mnesia 使用TokyoCabinet引擎突破2G存储限制

为啥要PATCH?

    Mnesia最大的缺陷是存储限制。这不是数据库系统的错误,因为Mnesia能够控制虚拟数据的大小。主要的问题在于过时的Erlang DETS存储引擎,速度慢并且使用的32位偏移量(限制单文件大小为2GB)。

思路?

    超乎想象的 mnesia 补丁包 mnesiaex 。这个东西解除了加在 mnesia 数据库系统上所有的限制(虽说上面已经提到,实际上 mnesia 代码本身没有什么真正的限制)——你现在可以用 SleepyCat/BerkeleyDB/MySQL/Amazon S3/Tokyo Cabinet/… 甚至是你自己喜欢的某种东西来当作 mnesia 的后端,就像 ets/dets 一样。而访问的接口仍保持不变——继续沿用 mnesia 的接口,一行也不用改。 DIY 这种扩展也变得相当容易,写一个 behavior 就成了。

实现过程

1:与从源代码编译的方式安装Erlang

tar xvf otp_src_R12B-5.tar.gz

cd otp_src_R12B-5

./configure & make & make install

注意:我的系统是RHEL 5.3,默认安装目录为/usr/local/erlang

2:安装Mnesiaex

tar xvf mnesia-4.4.7.6.tar.gz

cd mnesia-4.4.7.6

./configure --prefix=/usr/local

make

make check

make install

注意:这里一定要指定prefix,不然就装到/usr目录去了

3:安装Tokyo Cabinet

tar xvf  tokyocabinet-1.4.10.tar.gz

cd tokyocabinet-1.4.10

./configure --prefix=/usr

make & make install

3:安装tcerl

tar xvf tcerldrv-1.3.1e.tar.gz

cd tcerldrv-1.3.1e

./configure --prefix=/usr

make & make install

tar xvf tcerl-1.3.1e.tar.gz

cd tcerl-1.3.1e

./configure --prefix=/usr/local

make & make install

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jimmychou/archive/2009/03/13/3988468.aspx

你可能感兴趣的:(Patch Mnesia 使用TokyoCabinet引擎突破2G存储限制)