日志和非日志Mongodb数据库之间的区别是什么

日志和非日志Mongodb数据库之间的区别是什么,mongodb,database,Mongodb,Database,我刚刚安装了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 bi

我刚刚安装了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数据库是什么

  • 与非日志数据库相比,日志数据库的优势是什么

  • 有必要记录我的数据库吗

  • 请帮我做这件事


    感谢

    在MongoDB中,它使用预写日志来检查是否执行了
    写入
    操作,或者是否编写了
    崩溃报告
    ,这就是所谓的日志记录

    如果
    没有日志记录
    就说你处理了数百万笔交易。如果某些事务可能崩溃或不完全终止。你不会有任何线索知道这个问题。那么,如何找到问题发生的位置并将其恢复

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

    从中可以清楚地看出

    在没有日志的情况下,如果mongod意外退出,则必须假设数据处于不一致状态,并且必须运行修复或, 优选地,从副本集的干净成员重新同步。具有 日志记录已启用,如果mongod意外停止,程序可以 恢复写入日志的所有内容,数据将保留在 一致状态。默认情况下,最大程度的写操作丢失, i、 例如,那些不是在日记本上制作的,是在过去100年中制作的 毫秒。请参阅CommitterValms以了解有关的更多信息 默认


    在MongoDB中,它使用预写日志记录来检查是否执行了
    写入
    操作,或者是否编写了
    崩溃报告
    ,这称为日志记录

    如果
    没有日志记录
    就说你处理了数百万笔交易。如果某些事务可能崩溃或不完全终止。你不会有任何线索知道这个问题。那么,如何找到问题发生的位置并将其恢复

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

    从中可以清楚地看出

    在没有日志的情况下,如果mongod意外退出,则必须假设数据处于不一致状态,并且必须运行修复或, 优选地,从副本集的干净成员重新同步。具有 日志记录已启用,如果mongod意外停止,程序可以 恢复写入日志的所有内容,数据将保留在 一致状态。默认情况下,最大程度的写操作丢失, i、 例如,那些不是在日记本上制作的,是在过去100年中制作的 毫秒。请参阅CommitterValms以了解有关的更多信息 默认


    日志记录是一个概念,在将数据写入数据文件之前,先进行备份

    我们这样做的原因是为了耐用性。在生产环境中,强烈建议使用日志记录

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

    不记录日志

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

    带有日志记录功能

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

    我们得到了什么? 所以这里发生的是

  • 在写入实际数据文件之前,我们对您的数据进行了备份
  • 我们把时间从60秒缩短到200毫秒,所以每100-200毫秒 您的数据操作记录在日志中,因此在关机的情况下,我们 可以重播这些操作,并可以避免消息丢失

  • 日志记录是一个概念,在将数据写入数据文件之前,先进行备份

    我们这样做的原因是为了耐用性。在生产环境中,强烈建议使用日志记录

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

    不记录日志

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

    带有日志记录功能

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

    我们得到了什么? 所以这里发生的是

  • 在写入实际数据文件之前,我们对您的数据进行了备份
  • 我们把时间从60秒缩短到200毫秒,所以每100-200毫秒 您的数据操作记录在日志中,因此在关机的情况下,我们 可以重播这些操作,并可以避免消息丢失

  • 你读过官方的日志吗?你读过官方的日志吗?它会导致空间减少吗?@Robin obiously因为写日志需要额外的空间,对吗?但是日志记录是必要的,它会导致空间减少吗?@Robin obiously因为写日志需要额外的空间,对吗?但是日志记录是必要的