MongoDB评测
[| 2011/04/08 18:46]
最近对MongoDB做了个评测。
MongoDB是一种No-SQL数据库,存储数据采用BSON格式将数据序列化后存储。不过BSON对象最大有4m的限制,对于大于4m的,MongoDB会使用GridFs来将文件分块存储。
这里需要注意的是,在OpenVZ的VPS上需要用ulimit来限制程序最大可用的内存,否则程序会试图分配很大的内存导致OpenVZ内存配额耗尽。
测试数据:id字段:1000000-2000000的一个数字
Msg字段:32*30字节
测试脚本语言:PHP
自己搭建的虚拟机:Ubuntu 10.10,总内存:256M。
100w条插入:无索引用时70s,平均1.5w/s。插入后程序占用内存110M
100w条随机读取一条:无索引时30s,有索引12ms。
在一台Intel(R) Xeon(R) CPU E5620 @ 2.40GHz,内存2G的服务器上测试:
100w条插入:无索引用时43s。插入后程序占用内存1G。
100w条随机读取一条:无索引600ms,有索引0.18ms。
MongoDB是一种No-SQL数据库,存储数据采用BSON格式将数据序列化后存储。不过BSON对象最大有4m的限制,对于大于4m的,MongoDB会使用GridFs来将文件分块存储。
这里需要注意的是,在OpenVZ的VPS上需要用ulimit来限制程序最大可用的内存,否则程序会试图分配很大的内存导致OpenVZ内存配额耗尽。
测试数据:id字段:1000000-2000000的一个数字
Msg字段:32*30字节
测试脚本语言:PHP
自己搭建的虚拟机:Ubuntu 10.10,总内存:256M。
100w条插入:无索引用时70s,平均1.5w/s。插入后程序占用内存110M
100w条随机读取一条:无索引时30s,有索引12ms。
在一台Intel(R) Xeon(R) CPU E5620 @ 2.40GHz,内存2G的服务器上测试:
100w条插入:无索引用时43s。插入后程序占用内存1G。
100w条随机读取一条:无索引600ms,有索引0.18ms。