2.软文推荐
3.软文推荐
目录: 1、用mongodb专门做日志库合适吗 2、MongoDB 日志太大怎么办 3、MongoDB:使用MongoDB来保存日志信息,如果做到按月建表保存当月日志 4、如何开启mongodbjournaling日志功能 5、mongoDB开启操作日志 用mongodb专门做日志库合适吗我才疏学浅,稍微给点拙见。
1、如果是突出“大型”,mongodb3确实适合。mongodb3改善了集群的能力。
2、从服务器稳定性方面来说,mongodb3确实不错。
3、安全性方面的考虑,mongodb3是能控制安全性的。不一定全部都先存内存,也可以强制存盘的。
凡事有好必有坏,以上3点的代价是成本也相对增加。
SNS虽然总体比不过MMORPG,但是也有相当大的用户群。作为游戏来讲,做得好的话,应该很容易达到大数据级别。所以从这个角度来看,mongodb3还是很必要的。
不过,我看你的意思是想部分使用mongodb来做。如果使用2种以上数据库。
1、在技术方面,数据不好统一维护,势必拖慢开发效率。
2、成本也相对提高,如果是mongodb和sql一起的话,那么在大数据方面,sql将无法承受为了应付大数据而付出的高昂费用。或者sql只承担少部分任务,但是sql很可能要另外配置机器,这也是提高了成本。因为mongodb偏重内存,而sql很可能偏重磁盘容量。
MongoDB 日志太大怎么办MongoDB的日志增长的很快,/var所在的空间马上就占满了,即便换到另一个磁盘分区保存日志,日志还是增长的很快,磁盘眼看要告磬。
有一个好办法,就是使用旋转日志。
MongoDB的旋转日志有点怪,Linux下mongd服务接受一个kill -SGIUSR1命令后就立刻将当前日志文件重命名为带日期的文件,然后创建新的日志文件。
不想一般的旋转日志,可以配置旋转策略。不过没关系,经过测试,发送该命令时不会影响到MongoDB的服务。
下面是一个例子,先查找进程id, 然后发送命令。
root@jstc:/etc/init.d# ps -def | grep mongod
mongodb 723 1 48 May04 ? 6-22:23:53 /usr/bin/mongod --config /etc/mongodb.conf
root 22035 22012 0 20:22 pts/2 00:00:00 grep --color=auto mongod
root@jstc:/etc/init.d# kill -SIGUSR1 723
root@jstc:/etc/init.d# cd /home/mongodb/log/
root@jstc:/home/mongodb/log# ls
mongodb.log mongodb.log.2014-05-18T12-23-51
root@jstc:/home/mongodb/log# ls -alh
total 20G
drwxrwxrwx 2 root root 4.0K May 18 20:23 .
drwxrwxrwx 4 root root 4.0K Apr 20 21:25 ..
-rw-r--r-- 1 mongodb nogroup 34K May 18 20:24 mongodb.log
-rwxrwxrwx 1 mongodb nogroup 20G May 18 20:23 mongodb.log.2014-05-18T12-23-51
现在可以将之前20G的日志文件挪走或者删除了。
也可以自己先个定时脚本,定期发送命令给mongod服务。
MongoDB:使用MongoDB来保存日志信息,如果做到按月建表保存当月日志MongoDB没有按照时间来划分保存数据的集合,但有设置collection大小的机制,当collection达到指定大小后不会再增大集合,而是会把原来的数据覆盖掉。如果要满足楼主的需求,只能通过程序来实现了。
如何开启mongodbjournaling日志功能在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。BSON是一个轻量级的二进制数据格式。MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。当Client端要将写入文档,使用查询等等操作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。
mongoDB开启操作日志一、查看是否开启操作日志:
nosql : db.getProfilingStatus()
返回:
{
"was": NumberInt("0"),
"slowms": NumberInt("100")
}
注:was:0表示未开启。1表示记录慢命令(默认:执行时常超过100ms)2表示记录所有命令。
二、修改was:
nosql: db.setProfilingLevel(2)
三、查看操作日志
nosql:db.system.profile.find()

立即
返回
1
目录:1、怎么创建一个网页?2、陕西延安网站制作3、陕西延安蓝岛电脑培训是正规的学校吗?培训完有毕业证书吗?怎么创建一个网页? 怎...