a163236のブログ

Chiselマスターになになりたい初心者

Steal/No-Steal と Force/No-Force

Steal / No-Steal とは

コミットされていない更新をディスク上のDBに反映するか否か

Steal

  • データを段階的にディスクに書き込むのを許す
  • Undo Loggingが必要
  • 大きいバッファ空間必要

No-Steal

  • コミット前は更新をDBに書き込まずに全データを一度に書き込む

Force / No - Forceとは

コミット前に全ての更新をDBに反映するか否か

Force

  • コミットする前に全てのDBをすぐに更新

No-Force

  • DBを更新しなくても良い
  • Redo Logging が必要
  • ディスク書き込み頻度高い(オーバーヘッドが大きいということ)

memo

世の中のDBはSteal and No-Forceがほとんど。 データを保存するディスクと、ログを保持するディスクがある。 メモリのB+ treeはキャッシュであり、WriteBackする。

*コミットとは

トランザクション(=メモリからディスク(DB)への書き込み)の完了

参考資料

トランザクションの設計と進化

http://www.tkl.iis.u-tokyo.ac.jp/top/modules/lecnote4/materials/2006/data_engineering_11_2.ppt

リレーショナルデータベースの仕組み (3/3) | POSTD