IT用語集 › データベース › SQLite WALモード

SQLite WALモード

データベース Svenska → 更新: 2026-10-22

ロールバックジャーナルを先行書き込みログ(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アプリでは定番である。

← 用語集に戻る