为啥要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
posted on 2009-09-29 15:12
暗夜教父 阅读(888)
评论(0) 编辑 收藏 引用 所属分类:
erlang