SQLite
SQLite(エスキューライト[2][3]、エスキューエライト[4][5]、なお、作者のHippはエスキューエルアイト(/ˌɛsˌkjuːˌɛlˈaɪt/[6][7][8])と発音している)は、パブリックドメインの軽量な関係データベース管理システム (RDBMS) である。 概要サーバとしてではなくアプリケーションに組み込んで利用されるデータベースである[9]。 一般的なRDBMSと違い、APIは単純にライブラリを呼び出すだけであり、データの保存に単一のファイルのみを使用することが特徴である。バージョン3.3.8からは全文検索のFTS1モジュールがサポートされた。その後 FTS2 - FTS3 と強化を続けバージョン3.7.4からはFTS4モジュールがサポートされている。 特徴
解説SQLiteは本体プログラムに対して、直接リンクしたライブラリもしくは共有ライブラリやダイナミックリンクライブラリの形で利用できる、組み込み型データベースエンジンである。その特徴として、おおむね600kb前後のフットプリントでフルセットのSQLステートメントと型束縛のないデータセットを利用することができる。データベースストレージに対するアクセスも内蔵しており、ファイル及びインメモリストレージに対応している。ファイルを共有することで複数のアプリケーションがデータベースインスタンスを共有することも可能であり、サーバ・クライアントモデルではないアプリケーションローカルで使用するデータベースエンジンとしては合理的な設計となっている。 SQLiteのもう一つの特徴は、バイトオーダーに依存しない、アーキテクチャ非依存のストレージを採用していることである。このため、データベースインスタンスを格納したストレージとなったファイルは再利用性が高い。ストレージバージョンにさえ注意を払えば、アプリケーションからストレージを取り出し、別のOSやアーキテクチャで動作している別のアプリケーションにデータを変換することなく移すことができる。 ストレージまでネイティブコードで直接実行し、間になんらかのプロトコルやプロセス間通信を伴わないことにより、単一のトランザクション内におけるレイテンシをある程度削減することに成功している。一度トランザクションを開始するとストレージはロックされ、トランザクション中のセッションはキャッシュを有効利用して動作するため、高速にデータベースにアクセスすることができる。これは応答性が重要な、かつ多数のトランザクションが並行しないような規模のアプリケーションでは重要な要素となり、SQLiteをサーバとの中間にキャッシュとして採用する事例[要出典]や、アプリケーション組み込みデータベースエンジンとしての採用[要出典]を促す理由ともなっている。 標準で搭載しているデータセットの型は整数型 (INTEGER)、文字列型 (TEXT)、無制限スカラ型 (BLOB) の3種類である。 後述のCUIベースの管理ツールを標準で備える他、複数のGUIベース管理ソフトウエアが存在する。またストレージ仕様がアーキテクチャに依存しないため、管理ツールの直接実行が難しいシステム(組み込みソフトウエア開発等)においても、ストレージを取り出してWindowsマシン等でデータを確認したりSQLステートメントを実行することが可能である。 管理ツール
ODBCSQLiteのODBCドライバがサードパーティーから提供されている。SQLite 2とSQLite 3のバージョンがあり、SQLite 2向けには、さらにUTF-8対応版がある。 脚注
関連項目書籍
外部リンク |