単一サーバーの耐久性について詳しく説明できる人はいますか? MongoDB の概念を調べているときに、これに出会いました。
2 に答える
完全な単一サーバーの耐久性は、ACIDパラダイムの一部です。具体的には、耐久性(http://en.wikipedia.org/wiki/ACID#Durability)。
単一サーバー環境でサーバーがダウンした場合でも、データが失われたり破損したりしないようにする必要があります。
MongoDBは、ジャーナルとディスクの両方への書き込みが遅延する性質があるため、耐久性のACIDルールを部分的にしか順守していません。このウィンドウは小さいですが(60ミリ秒など)、アプリケーションでジャーナル確認済みの書き込みを使用しない限り、単一のサーバー環境でいくつかの操作が失われる可能性はわずかです。
ジャーナルで確認された書き込みで障害が発生した場合は、ジャーナルを再生して、失敗する前にサーバーに到達できなかった操作だけが失われるようにすることができます。
ジャーナルが書き込みを確認せずに障害が発生した場合、60ミリ秒のウィンドウ内ですべての操作が失われる可能性があります。それが自分にとって何か意味があるかどうかを判断するだけです。単一のサーバー環境では、サイトはおそらく小さすぎてtbhを気にすることができません。
これは、単独のサーバー (レプリカ セットの一部ではない) が、永続的な方法でデータを永続化するために少なくともいくつかの保証を提供することを意味します。この機能が導入される前は、レプリカ セットを使用して、サーバーがダウンしてもデータが失われないようにする必要がありました。