SQLite WALモード
ロールバックジャーナルを先行書き込みログ(WAL)に置き換えるSQLiteのジャーナルモード(3.7.0、2010年から)。複数の読み取りと1つの書き込みを互いにブロックせず並行できる。現代のSQLite運用では標準である。
有効化はPRAGMA journal_mode=WAL;で行う。database.db-walとdatabase.db-shmが作られ、チェックポイントで定期的にWALの内容が本体へ移される。トレードオフは、ファイルが1つから3つになること(コピーが面倒なのでバックアップAPIを使う)、共有メモリがmmapを要すること(一部のネットワークファイルシステムで問題になる)。並行負荷では書き込みが10〜100倍高速になる。LitestreamやLiteFSはWALの上にレプリケーションを構築している。Cloudflare D1、Turso、fly.ioのサーバーレスアプリなど、現代のSQLiteアプリでは定番である。