SQLite3 の勉強を放置しているうちにSQLite4が出ていた。 なので今回はThe Design Of SQLite4の超訳(すっとばし)と補足を書く。 SQLite3 を読んでSQLiteは標準のB-Treeを基盤に仮想テーブルを使って色々なデータ構造をSQLで糊付けする抽象化層ライブラリってイメージを持っていた。 SQLite4 は各コンポーネントの責任範囲を明確にして全体を単純に扱えるようにしている印象を受けた。 例えば、プラガブルなストレージエンジンの採用は、データモデル(トランザクション・データ構造)を処理全体で一貫するように強制させている。 これは元々あったテーブル単位でのデータ構造切り替え(仮想テーブル)よりトランザクションのサポートなどが単純化され扱いやすくなると思えた。 また実行環境オブジェクトは複数のDB接続をユーザー側で明示的に管理しないといけなくしている。 参