[解決済み] フラッシュ・トゥ・ディスク」とはどういう意味ですか?
質問内容
どなたか、次の文脈でディスクにフラッシュすることの意味を説明していただけませんか?ファイルシステム上のログにデータを書き込む場合、それはディスクに置くことを意味しないのでしょうか?どの時点でファイルをディスクにフラッシュするのでしょうか/すべきでしょうか?
つまり、できるだけ多くのデータをメモリ内に保持し、容量が足りなくなったときに慌ててすべてをファイルシステムに流すのではなく、それを逆手に取った設計になっているのです。すべてのデータは、必ずしもディスクにフラッシュされることなく、ファイルシステム上の永続的なログに直ちに書き込まれます。事実上、これはカーネルのページキャッシュに転送されることを意味するだけです。
(以下 https://kafka.apache.org/documentation.html#design ).
解決方法は?
<ブロッククオートすべてのデータは、必ずしもディスクにフラッシュすることなく、直ちにファイルシステム上の永続的なログに書き込まれます。事実上、これはカーネルのページキャッシュに転送されることを意味するだけです。
これはどういうことかというと、Kafkaがデータをカーネルに渡す際に
write()
システムコール -- その時点で他のプロセスからは見えるが、実際にディスクに反映され、再起動に耐えられるかどうかはわからない -- を使って、カーネルにディスクへの殺到を強制することはないのだそうです。
fsync()
の呼び出しなど(その時のOSに適切なもの)。スループットを最適化し、コンテンツが取得可能であることを保証する必要がない場合、これは適切な決定となりえます。
fsync()
とその親族は高価な呼び出しになる可能性があります(ただし、シークを必要としない長い連続書き込みを行うことで、kafkaはディスクIOの費用を最小限に抑えています)。
関連
-
[解決済み] PyTorch - contiguous()は何をするのですか?
-
[解決済み] キャッシュとキャッシュヒット/ミスについていくつか質問があります。
-
[解決済み] キャッシュフレンドリーコードとは何ですか?
-
[解決済み] Javaで、オブジェクトの大きさを決定する最も良い方法は何ですか?
-
[解決済み] ブラウザの「F5」や「Ctrl + F5」によるリフレッシュはどのようなリクエストを発生させるのでしょうか?
-
[解決済み】Redisは単なるキャッシュなのか?
-
[解決済み】開発機でAngularJSの部分的なキャッシュを無効にする
-
[解決済み] Linuxにおけるバッファメモリとキャッシュメモリの違いは何ですか?
-
[解決済み] コンパイル時にメモリを確保する」の本当の意味とは?
-
[解決済み] Angular 2のサイトでブラウザキャッシュを防ぐには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コンフリクトミスvsコンパルソリーミス
-
[解決済み] TLBシュートダウンとは何ですか?
-
[解決済み] コンフリクトミスとキャパシティミスの違いについて
-
[解決済み] FIFOキャッシュとLRUキャッシュの比較
-
[解決済み] フラッシュ・トゥ・ディスク」とはどういう意味ですか?
-
[解決済み] Memcached vs. Redis? [クローズド]
-
[解決済み】開発機でAngularJSの部分的なキャッシュを無効にする
-
[解決済み] Redisキャッシュとメモリ直接使用との比較
-
[解決済み] Notepad++のキャッシュファイルの場所
-
[解決済み] キャッシュとメモライゼーションの違いは何ですか?