SQLite 3.7登場、高速コミット/ロールバックWAL実装実現

    後藤大地  [2010/07/26]

    SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

    22日(米国時間)、SQLiteの最新版となるSQLite 3.7.0が公開された。SQLiteはもっとも広く使われている組み込み向けデータベースのひとつ。パブリックドメインのもとで提供されているため組み込みに採用するのに都合がよく、またバランスのいい機能取捨や性能が評価されている。FirefoxやThunderbirdで根幹をなすコンポーネントとして採用されているほか、Operaでも採用されている 。ほかにも採用事例は多い。

    SQLite 3.7.0でもっとも注目されるのはWAL (Write-Ahead Logging)と呼ばれる方式をサポートしたことにある。それまでSQLiteではアトミックコミットとロールバックを実現する方法としてロールバックジャーナルを採用してきた。SQL 3.7.0からはWALも選択できるようになる。

    WALは、逆のケースもあるが、ほとんどのケースでロールバックジャーナルよりも高速に動作する。リード/ライトがお互いにブロックしなくなるため処理の並列性も向上する。ディスク操作も従来よりもシーケンシャルになる。反面、WALが動作するにはいくつかの条件があるためそれら条件をクリアしたプラットフォームでなければ利用できないほか、ロールバックジャーナルと比較して不利になるケースもある。ロールバックジャーナルとWALでは特性が異なるため、どちらを採用するかはケースバイケースで検討が必要。

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン