どこにも情報がなかったのでここで質問します。
コンテキスト:
- 3 台のサーバーを使用する replicaSet アーキテクチャ。
- メイン言語としての PHP
- 画像の平均サイズは約 2Mo
- 使用法: storeFile() PHP ドライバーの関数を使用して、多くのギャラリーを mongodb に保存します。
プライマリ サーバーがクラッシュしたときとその後のストレージが心配です。
storeFile() を使用して 80Mo の 1 つのファイル全体を保存すると、クライアントはクエリを replicaSet のプライマリに送信し、データの保存を開始します。
ここで、書き込み操作が 60% 完了し、プライマリに障害が発生した場合、書き込み操作はどうなりますか?
例外が発生することはわかっていますが、それをキャッチして操作を再試行します。しかし、すでに書き込まれたデータはどうなるでしょうか?
データベースに既存のファイルがありますが、これは元の画像の一部であり、破損していますか?
または、トランザクションのように機能し、エラーが発生した場合、mongodb は操作をロールバックして例外をスローしますか?
Google グループの私のスレッドへのリンク: Google グループのスレッド