使用MongoDB Capped Collections记录日志

NoSQL简介

NoSQL,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。

MongoDB简介

MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。

参考链接:http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html

MongoDB Capped Collection简介

MongoDB Capped Collection是性能出色的有着固定大小的集合(定容集合),以LRU(Least Recently Used最近最少使用)规则和插入顺序进行 age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创建时要预先指定大小。如果空间用完,新添加的对象将会取代集合中最旧的对象。

使用场景:
(1)日志记录
(2)数据缓存
(3)自动存档

推荐用法:
(1)为了发挥capped collection的最大性能,如果写比读多,最好不要在上面建索引,否则插入速度从”log speed”降为”database speed”。
(2)使用”nature ordering”可以有效地检索最近插入的元素,因为capped collection能够保证自然排序就是插入时的顺序,类似于log文件上的tail操作。

参考链接1:http://www.cnblogs.com/zhy4606/archive/2011/09/14/2175424.html
参考链接2:http://xiayuanfeng.iteye.com/blog/989024

Win2008R2环境下的安装配置

安装

Windows 2008+ 64位程序包:mongodb-win32-x86_64-2008plus-2.4.6
Windows 2008+ 补丁:451413_intl_x64_zip

配置

建立数据目录:C:\mongodb\data
建立日志目录:C:\mongodb\log
建立mongod.cfg(保存为ANSI编码)

logpath=C:\mongodb\log\mongo.log
#auth=true(暂不启用auth模式)

添加管理员、用户

C:\mongodb\bin\mongod.exe --dbpath C:\mongodb\data --config C:\mongodb\mongod.cfg

在启用auth模式之前

use admin
db.addUser("admin","admin_password")
use redis
db.addUser("user","user_password")

登录

use admin
db.auth("admin","admin_password")
use redis
db.auth("user","user_password")

系统服务

安装:C:\mongodb\bin\mongod.exe --dbpath C:\mongodb\data --config C:\mongodb\mongod.cfg --install
启用:net start MongoDB
停用:net stop MongoDB
移除:C:\mongodb\bin\mongod.exe --remove

删除collections

db.foo.drop()
db.repairDatabase()

参考链接:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/





Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>