首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >期刊和非期刊的Mongodb数据库有什么区别?

期刊和非期刊的Mongodb数据库有什么区别?
EN

Stack Overflow用户
提问于 2014-07-16 08:15:15
回答 2查看 1.1K关注 0票数 1

我刚刚安装了mongodb 32位版本,这是启动mongodb时在我的终端上打印的消息。

代码语言:javascript
复制
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] 
>

从这里我注意到或理解了2件事,我的mongodb数据库仅限于存储小于2gb的数据库。

它是非日记的,

日志化使空间进一步减少。

我在想

  1. 这个日志/非日志mongodb数据库是什么?
  2. 与非期刊数据库相比,期刊数据库的优势是什么,反之亦然?
  3. 有必要记录我的数据库吗?

请帮我这个忙

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-16 08:44:23

在MongoDB中,它使用先写日志来检查是否执行了write操作,或者编写了一个称为日志的crash report

如果有no journaling,就说您处理了数百万的事务。如果某些事务可能崩溃或不完全终止。不会有任何线索让你知道这个问题。那么,如何才能找到问题发生在哪里,并恢复它呢?

其他情况是,如果db意外地存在,您将无法知道原因。

文档中,它清楚地指出

如果没有日志,如果mongod意外退出,则必须假定数据处于不一致状态,并且必须从副本集的干净成员运行修复,或者最好是重新同步。启用日志后,如果Mon神明意外停止,程序可以恢复写入日志的所有内容,并且数据保持一致状态。默认情况下,丢失的最大程度(即未写入日记的)是在最后100毫秒内完成的。有关默认情况的更多信息,请参见提交information。

票数 3
EN

Stack Overflow用户

发布于 2017-09-18 02:51:25

日志是在将数据写入数据文件之前进行备份的概念。

我们这么做的原因是为了耐久性。在生产环境中强烈推荐日志记录。

使用日志的优点是,当出现不正常的关闭或崩溃时,您可能会丢失数据输入操作,通常您可能会丢失数据。

没有日志记录的

当发生写操作时,您的数据每60秒从内存映射共享视图写入数据驱动器。

带有日志记录的

您的写操作首先写到日志文件每100至200毫秒.在日志提交之后,它被复制到共享视图中,60秒后数据被刷新到实际的数据驱动器。

,我们在这里能得到什么?,所以这里发生的是

  1. 在写入实际数据文件之前,我们备份了您的数据。
  2. 我们把时间从60秒缩短到了200毫秒。因此,每100到200毫秒,您的数据操作将登录到日志中,因此,在关闭的情况下,我们可以重播这些操作并避免消息丢失。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24775568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档