SQLite (2000年)(エスキューライト)
SQLite は2000年8月D. Richard Hipp (米国Charlotte・Hipp, Wyrick & Company) が開発したファイルベース組込みSQL DB で「世界で最も普及したDB エンジン」(Apple iOS/Android/Windows/Mac/Linux/Firefox/Chrome 等の全主要プラットフォームで標準搭載) ・ACID 完全準拠・Public Domain ライセンス採用し1兆+ デプロイ数の現代最普及DB。
SQLite (2000年)
概要
SQLite は2000年8月17日D. Richard Hipp (米国Charlotte・Hipp, Wyrick & Company・後Hwaci・元米国海軍) が開発したファイルベース組込みSQL DB で「世界で最も普及したDB エンジン」(Apple iOS/Android/Windows 10+/Mac/Linux/Firefox/Chrome/全主要OS・全Web ブラウザで標準搭載・iPhone/iPad/Mac/Windows PC・Android/Linux サーバ・自動車・IoT 機器・全世界1兆+ デプロイ数推定) ・ACID 完全準拠・Public Domain ライセンス (世界一自由なライセンス・著作権主張せず) ・Single-file format (1ファイル=1DB・SQLite Database File format 標準化2018年RFC 文書化) ・サーバレス (DB プロセスなし・ライブラリで動作)・Zero-Configuration (設定不要)・Cross-platform (バイナリ互換) 採用し1兆+ デプロイ数の現代最普及DB。SQLite 3.46 (2024年9月最新)・継続改良・Apple iCloud/iMessage/Safari/Mail/カレンダー等iOS の中核DB として採用。
主な特徴・仕組み
- 発表: 2000年8月17日D. Richard Hipp
- 開発者: D. Richard Hipp (米国・元米国海軍ソフトウェア開発・後Hwaci 設立)
- 対応OS: 全主要OS (実質全プラットフォーム)
- ライセンス: Public Domain (パブリックドメイン)・著作権主張せず・誰でも自由利用
- 特徴: サーバレス・ファイルベース・Zero-Configuration・Cross-platform バイナリ互換
- ファイル形式: SQLite Database File format (2018年RFC ドラフト・米国議会図書館長期保存形式承認)
- クエリ言語: SQL (ANSI SQL-92 互換)
- 主要バージョン: SQLite 1.0 (2000年8月)・2.0 (2001年・B-Tree)・3.0 (2004年6月・現代形式)・3.46 (2024年9月最新)
D. Richard Hipp の物語
SQLite 創造者の哲学:
- 米国Charlotte ノースカロライナ州在住
- 元米国海軍 (US Navy): ソフトウェア開発・海軍関連業務
- 2000年SQLite 開発: 当時担当の海軍プロジェクトで「設定不要のシンプルDB」が必要だった
- 設計哲学: (1) シンプル・(2) Public Domain (誰でも自由利用)・(3) 信頼性 (ACID 完全準拠)・(4) 軽量 (バイナリ 500KB-1MB)・(5) 高品質 (年間100+ コミット・コアコントリビュータ少数)
- Hwaci (Hipp, Wyrick & Company): SQLite 開発・サポート企業・現代も継続
- 2024年現在: SQLite 開発継続・「最も影響力あるDB 開発者の1人」評価
Public Domain ライセンス
SQLite の最大の革新:
- 動作: 著作権主張せず・誰でも自由に利用・改変・商用可能
- 競合: GPL (Linux)・BSD (FreeBSD)・MIT (React)・Apache (Apache HTTP)・Public Domain は最も自由
- 理由: D. Richard Hipp が「世界中の人が自由に使える」哲学
- 影響: Apple/Microsoft/Google/Facebook/全主要企業がライセンス料/法的リスクなしで採用可能
- 後継: SQLite は世界最普及DB の地位確立・「ライセンスが普及の鍵」業界教訓
ファイルベース組込み (Single-file)
SQLite の核心:
- 動作: 1つのDB は1ファイル (.sqlite/.db)・コピー/移動可能
- 競合: MySQL/PostgreSQL/Oracle 等はサーバプロセス必要
- メリット: (1) 設定不要・(2) ファイルバックアップ容易・(3) 異OS 間で互換・(4) ネットワーク不要・(5) スマホ/組込み機器最適
- 採用: 全iOS/Android アプリのローカルDB・全Web ブラウザ (Cookie/IndexedDB/履歴/ブックマーク)・全主要OS のシステムDB
SQLite の採用事例 (1兆+ デプロイ)
史上最普及DB:
- Apple iOS (2007年-): iMessage・FaceTime・連絡先・カレンダー・Notes・Photos・Safari・全アプリのローカルDB
- Android (2008年-): 全Android アプリのローカルDB (SQLiteOpenHelper API 標準)
- Mac macOS: Safari・Mail・写真・Spotlight・全アプリ
- Windows 10+: Windows Mail・Photos・他多数
- Web ブラウザ: Chrome・Firefox・Safari の Cookie・履歴・ブックマーク・IndexedDB
- 組込み機器: テレビ・冷蔵庫・カーナビ・IoT 機器
- 自動車: 全主要自動車メーカー (Toyota・Honda・BMW・Tesla 等の車載システム)
- 航空機: ボーイング・エアバス機の機内システム
- 総デプロイ数: 1兆+ (推定2024年・米国SQLite 公式発表)・「世界で最も普及したソフトウェアの1つ」
ACID 完全準拠
信頼性の核心:
- Atomicity (原子性): トランザクションは全成功 or 全失敗
- Consistency (一貫性): トランザクション前後でDB は一貫
- Isolation (隔離性): 並行トランザクションは互いに影響しない
- Durability (永続性): コミット後の変更は永続
- 意義: 組込みDB だが大手RDBMS (Oracle/PostgreSQL) と同等の信頼性
- 採用: 銀行業務・医療・自動車・航空機等の信頼性必須環境
米国議会図書館の永続保存形式 (2017年)
SQLite Database File format の公式認定:
- 2017年米国議会図書館 (Library of Congress): SQLite ファイル形式を「Recommended Storage Formats」(推奨永続保存形式) に指定
- 意義: 「100年後も読める」永続保存形式として公式認定
- 競合: TXT・PDF・XML・JSON・CSV・SQLite (推奨形式の唯一のDB)
- 採用: 米国議会図書館・国立公文書館・学術機関で長期データ保存
採用システム (2000-2024年)
- モバイル: 全iOS アプリ・全Android アプリ・iMessage・Telegram (一部)・WhatsApp ローカルDB
- デスクトップ: macOS Mail・Notes・写真・Windows Mail・Linux Evolution (メーラー)・Skype (ローカルDB)
- Web ブラウザ: Chrome・Firefox・Safari・Edge の Cookie/履歴/ブックマーク
- 科学技術: NASA Mars Curiosity Rover (2012年-) の機内DB・ボーイング787 機内システム
- 自動車: 全主要自動車のIVI (In-Vehicle Infotainment)・Tesla Model S/3/X/Y/Cybertruck
- 航空: ボーイング・エアバスの機内システム
- IoT: スマートホーム機器・スマートウォッチ・スマート家電
- AI: TensorFlow/PyTorch の一部メタデータ管理
関連技術との違い
| 項目 | Oracle (1979) | MySQL (1995) | PostgreSQL (1986) | SQLite (2000) |
|---|---|---|---|---|
| 形態 | クライアント/サーバ | クライアント/サーバ | クライアント/サーバ | ファイルベース・サーバレス |
| ライセンス | 商用 ($47,500/CPU) | GPL+商用 | PostgreSQL License | **Public Domain (最自由) ** |
| バイナリサイズ | 5GB+ | 500MB+ | 500MB+ | 500KB-1MB |
| 設定 | 複雑 (DBA 必要) | 中程度 | 中程度 | Zero-Configuration |
| 用途 | エンタープライズ | Web (LAMP) | 全用途・現代主流 | モバイル・組込み・ローカルDB |
| デプロイ数 | 数十万企業 | 数億Webサイト | 数千万 | **1兆+ (世界最多) ** |
よくある質問 (FAQ)
Q1: なぜSQLite が「世界で最も普及したDB」と呼ばれるか? A: (1) 全iOS/Android アプリのローカルDB として標準搭載 (2007年-現代)・(2) 全Web ブラウザ (Chrome/Firefox/Safari/Edge) のCookie/履歴で標準・(3) 全主要OS (Windows/macOS/Linux) のシステムDB として標準・(4) 自動車 (Tesla・Toyota・全主要メーカー) の車載DB・(5) IoT 機器・スマートホーム機器・(6) Public Domain で誰でも自由採用・(7) 設定不要・1ファイル・(8) 1兆+ デプロイ推定・全要因で「世界最普及DB」確定。
Q2: SQLite と他RDBMS の違いは? A: SQLite はファイルベース・サーバレス・組込み専用。Oracle/MySQL/PostgreSQL はクライアント/サーバ・サーバプロセス必要。SQLite は小規模 (1人用・モバイルアプリ)・他は大規模 (Web サイト・企業) 向け・並走で代替関係でない。
Q3: 現代でSQLite 学ぶ価値は? A: 大いにあり。(1) 全iOS/Android アプリ開発で必須・(2) Mobile Engineer・Backend Engineer の必須スキル・(3) Web ブラウザ開発・Desktop アプリ開発で標準・(4) 軽量プロジェクトのデフォルトDB (Django/Flask/Rails の Development DB)・(5) IoT・組込みシステム開発・(6) 設定不要で学習容易・SQL の入門に最適・新卒/転職市場で必須DB スキル。
まとめ
- 2000年D. Richard Hipp 開発
- 世界で最も普及したDB エンジン (1兆+ デプロイ)
- ファイルベース組込みSQL DB
- Public Domain (世界一自由ライセンス)
- iOS/Android/Windows/Mac で標準搭載