2016-12-08 5 views
0

Als ich online gesucht, STEAL und FORCE ist definiert alsKönnte jemand erklären, warum Write-Ahead Log die Verwendung NO-Force?

FORCE oder NO-FORCE folgt: Sollten alle Updates einer Transaktion auf dem Datenträger gezwungen werden, bevor die Transaktion festgeschrieben?

Außerdem wurde mir gesagt, dass

Eine Transaktion nicht verpflichtet betrachtet wird, bis alle seine Protokollaufzeichnungen haben in den stabilen Speicher

Dann geschrieben worden, wie ist WAL unterscheidet sich von einem FORCE Ansatz ? Ich fühle mich wie in beiden Fällen, Änderungen müssen auf die Festplatte ausgeleert werden, wie wir die Transaktion zu verpflichten ....

Antwort

1

Mit WAL haben Sie eine sequentielle schreibt in ein Protokoll. Die Aktualisierungen der Seiten in der gesamten Datenbank können asynchron zu den Protokolleinträgen geschrieben werden.

Ein Force-Ansatz erfordert, dass alle unreinen Seiten im Pufferpool synchron mit der Festschreibungsoperation auf den Datenträger geleert werden. Dies ist eine viel teurere Operation und begrenzt den Durchsatz.

Grundlegende Abwägung: Längere Wiederherstellungszeit nach einem Absturz mit WAL vs. geringerer Durchsatz mit Kraft.

Verwandte Themen