sql >> データベース >  >> NoSQL >> MongoDB

mongodbのジャーナルファイルを削除しても安全ですか?

    TL; DR:2つのオプションがあります。 --smallfilesを使用します MongoDBを起動するときに起動オプションを使用してジャーナルファイルのサイズを128MBに制限するか、--nojournalを使用してジャーナル処理をオフにします オプション。 --nojournalを使用する 通常、本番環境では悪い考えであり、開発でも異なる書き込みの懸念事項を使用することは理にかなっているため、devとprodで異なるコードを使用する必要はありません。

    長い答え :いいえ、ジャーナルファイルの削除は安全ではありません。ジャーナリングの考え方は次のとおりです:

    書き込みが入ります。ここで、その書き込みを永続的にする(そしてデータベースを永続的にする)には、書き込みを何らかの方法でディスクに送信する必要があります。

    残念ながら、ディスクへの書き込みはRAMへの書き込みに比べて時間がかかるため、データベースはジレンマに陥っています。予期しないシャットダウンによってデータが失われるため、ディスクに書き込まないことは危険です。ただし、書き込み操作ごとにディスクに書き込むと、データベースのパフォーマンスが大幅に低下するため、実際の目的には使用できなくなります。

    これで、データファイル自体に書き込む代わりに、すべての要求に対して書き込む代わりに、データベースは、実際のデータファイルにまだコミットされていないすべての操作を格納するジャーナルファイルに追加するだけです。これははるかに高速です。ファイルは常に読み取りと書き込みが行われるため、すでに「ホット」であり、ファイルの束ではなく1つのファイルであり、最後に、保留中のすべての操作を100ミリ秒ごとにバッチで書き込むためです。デフォルトでは。何かの途中でこのファイルを削除すると、大混乱を引き起こします。



    1. MongoDB findOneAndUpdate()

    2. MongoDBオープンソースとMongoDBエンタープライズ

    3. MongoDB挿入パフォーマンスを改善する方法

    4. Node.jsとMongoDBを使用したパスワードの保存