我刚刚安装了mongodb 32位版本,这是我启动mongodb时打印在终端上的消息
Server has startup warnings:
Wed Jul 16 09:53:43.759 [initandlisten]
Wed Jul 16 09:53:43.759 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Wed Jul 16 09:53:43.759 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Wed Jul 16 09:53:43.759 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Wed Jul 16 09:53:43.759 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Wed Jul 16 09:53:43.759 [initandlisten]
>
从这里我注意到或理解了两件事,我的mongodb数据库仅限于存储小于2gb的数据库
它没有记录,
日记化使空间进一步减少
我想知道
这个期刊/非期刊mongodb数据库是什么
期刊数据库比非期刊数据库有什么优势,反之亦然?
是否需要记录我的数据库?
请帮助我
由于
答案 0 :(得分:3)
在MongoDB中,它使用预写日志记录来检查是否执行了write
操作,或者编写了crash report
这个称为日记的文件
如果有no journaling
说您在数百万笔交易上工作。如果某些交易可能崩溃或未完全终止。你无法了解这个问题。那么怎样才能找到问题发生的位置并将其恢复
其他情况如果db意外存在,您将无法知道原因
从docs开始明确指出
如果没有日志,如果mongod意外退出,您必须假设您的数据处于不一致状态,并且您必须运行修复或, 优选地,从副本集的干净成员重新同步。同 启用日记功能,如果mongod意外停止,程序可以 恢复写入日志的所有内容,数据保留在 一致的状态。默认情况下,丢失写入的最大程度, 即那些没有在期刊上发表的,是那些在过去100年制作的 毫秒。有关的更多信息,请参见commitIntervalMs 默认值。
答案 1 :(得分:0)
日记记录是一种在数据文件中写入数据之前进行备份的概念。
我们这样做的原因是耐用性。在生产环境中强烈建议使用日记功能。
使用日志的好处是当出现脏关机或崩溃时,您可能会丢失数据输入操作,一般情况下您可能会丢失数据。
没有日记
当写操作发生时,您的数据每隔60秒从内存映射共享视图写入数据驱动器。
使用日记
您的写入操作首先每100-200毫秒写入日志文件。在日志提交之后,它被复制到共享视图,并在60秒后从那里将数据刷新到您的实际数据驱动器。
我们从这里得到什么? 那么这里发生的是