SQLites WAL-Modus: Abwägung zwischen Haltbarkeit und Leistung
SQLites WAL-Modus (Write-Ahead Log), oft für einen höheren Schreibdurchsatz verwendet, beeinträchtigt die Datenhaltbarkeit im Vergleich zum Standard-Journal-Modus. Das `synchronous`-Pragma steuert, wie oft fsync aufgerufen wird; der Standardwert ist NORMAL. Im NORMAL-Modus werden WAL-Dateien vor jedem Checkpoint synchronisiert und die Datenbankdatei danach, aber die meisten Transaktionen enthalten keine Synchronisierungsoperationen. Für Anwendungen, bei denen die Haltbarkeit nicht kritisch ist, ist NORMAL ausreichend. Für garantierte Haltbarkeit bei Stromausfall fügt `synchronous=FULL` eine WAL-Dateisynchronisierung nach jeder Transaktionsbestätigung hinzu, wodurch die Haltbarkeit erhöht, aber die Schreibgeschwindigkeit verringert wird. Diese Erklärung, ausgelöst durch Bedenken hinsichtlich SurrealDB, das möglicherweise Haltbarkeit für Benchmark-Leistung opfert, verdeutlicht den Ansatz von SQLite.