WALの強化などが行われた「SQLite 3.11」リリース

 組み込み向けSQLデータベースライブラリ「SQLite」の開発チームは2月15日、最新安定版「SQLite 3.11.0」を公開した。Write-Ahead Log(WAL)の強化などが特徴となる。

 SQLiteはオープンソースでリリースされている組み込み向けSQLデータベースエンジン。サーバープロセスを持たず、通常のディスクファイルに直接読み書きを行う。データベースファイルフォーマットはクロスプラットフォームで、32ビットと64ビットシステム間、big-endianとlittle-endianアーキテクチャ間などでそのままコピーが可能。

 SQLite 3.11は、1月に公開されたSQLite 3.10.0に続く最新版となる。バージョン3.7で導入したアトミックコミットとロールバックのための新手法Write-Ahead Log(WAL)を強化し、キャッシュサイズよりもサイズが大きなトランザクションを効率的に処理できるようになった。

 また、FTS5拡張ではFTSインデックスに関する詳細情報を保持する「detail」オプションを導入した。条件と条件のオフセットを含むカラム番号などすべてお記録する「full」(デフォルト)、カラムとrowid番号のみの「column」、rowidのみの「none」の3種類を選択できる。

 PRAGMA同期モードでは「EXTRA」オプションが加わった。SQLITE_EXTRA_DURABLEコンパイルタイムオプションではPRAGMA同期がデフォルトでEXTRAに設定される。クエリプランナーも強化し、OR最適化の一部としてcovering indexを利用できるようになった。

 このほかにも、多数の最適化が加わりライブラリの高速化が図られている。また、コマンドラインシェル、TCLインターフェイスなどでも細かな機能が加わり、バグも多数修正された。

SQLite
https://www.sqlite.org/