コンテキストに関する注意:
この質問は 2012 年に行われましたが、現在でもトラフィックと投票が見られます。元の回答は、質問の時点で人気があった特定の投稿に反論することでした。この回答が書かれて以来、物事は大幅に変化しました(そして変化し続けています)。MongoDB は、基本的なジャーナリングなどの機能が比較的新しい 2012 年に比べて、確実に耐久性と信頼性が大幅に向上しています。私はこの回答に対して反対票とコメントを受け取ります。これは、「失われたデータの批判はまだ有効ですか?」というタイトルの質問 (詳細ではない) に対する現在の (現在の特定の値に対する) 一般的な回答に対処していないと人々が感じているためです。以下の更新で明確にしようとしましたが、基本的にこの質問に対する完全な答えはありません。
元の回答:
その特定の投稿は、MongoDB の CTO で共同創設者の Eliot Horowitz によって一点一点暴かれました。
http://news.ycombinator.com/item?id=3202959
ここにも良い要約があります:
http://www.betabeat.com/2011/11/10/the-trolls-come-out-for-10gen/
短いバージョンでは、これは基本的に誰かが注目を集めようと (成功して) 荒らしをしているように見えますが、確固たる証拠や確証はありません。過去に本物の事件があり、製品が進化するにつれて (例えば、1.8 でのジャーナリングの導入を参照)、またはより具体的なバグが発見されて修正されたときに対処されました。
免責事項:私は MongoDB (以前は 10gen) で働いていましたが、philnate がここに来て、これを最初に独自に反論したという事実が気に入っています。
更新: 2013 年 8 月 19 日
最近、この回答でかなりの活動を見てきました。これは、SERVER-10478のバグの発表に関連していると思われます。これは間違いなくエッジ ケースですが、大きなドキュメントでシャーディングを使用している人には、この問題の修正を含む v2.2.6 および v2.4.6 にできるだけ早くアップグレードしてください。
更新: 2017 年 3 月 24 日
私はもう MongoDB で働いていませんが、それでもこの回答を支持しています。この回答が引き続き賛成票 (および反対票) を獲得し、多くのビューを受け取っていることを考えると、この質問が提起されてからの MongoDB の進歩を示すこの投稿を人々に指摘したいと思います。データベースはJepsenテストに合格し、そのテストをビルド プロセスに統合しました。合格しないはるかに成熟したシステムがたくさんあります。2017 年になってもまだデータ損失のドラムを打ち続けている人は、まったく注意を払っていません。
更新: 2020 年 5 月 24 日
Jepsen はMongoDB 4.2.6 を再分析しました。MongoDB が「完全な ACID トランザクション」を提供するようになったためです。部分的にかなり技術的になりますが、MongoDB でのデータ損失が懸念される場合は、この記事を読むことを強くお勧めします (チェックアウトすることをお勧めします)。 Jepsen がテストするデータベースを使用すると、その弱点に驚くかもしれません)。このレポートでは、デフォルトの読み取りと書き込みの懸念事項の弱点を要約し、適切な読み取りと書き込みの懸念事項を使用した非トランザクションの読み取りと書き込みの信頼性について説明し、ドキュメントの欠陥に対処し、新しいACID トランザクション (および関連する読み取り/書き込みの問題)。
では、MongoDB でもデータを失う可能性はありますか? はい、特にデフォルト設定ではそうですが、それはほとんどのデータベースに当てはまります。この質問に回答したときよりも状況は大幅に改善されており、信頼性と耐久性を向上させる機能があり、機能しているように見えます (トランザクションは別として)。私のアドバイスは、運用している構成の制限が何であるかを学び、データ損失のリスクが製品/ビジネス/ユース ケースで許容できるかどうかを判断することです。