クラウド
初級

SQLite (Embedded Database)(エスキューライト)

D. Richard Hipp 2000年公開のサーバレス組込型RDBMS。Public Domain・1ファイル・ACID完全準拠、世界で最も普及したDB (推定1兆台超のデバイスに導入)。

0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
DB
SQLite
Embedded

概要

SQLite は2000年8月17日にD. Richard Hipp (米North Carolina) が個人プロジェクトとして公開・Public Domain ライセンスのサーバレス組込型RDBMS。「サーバレス」「1ファイル」「ゼロコンフィグ」「ACID完全準拠」の4つの特徴で、Android / iOS / Windows / macOS / Linux / 自動車・航空機・IoT 全てに搭載、推定累計1兆台以上のデバイスに導入されている「世界で最も普及したDB」。

SQLite 主要特徴

特徴説明
サーバレスプロセス内動作・ネットワークなし
1ファイル1つの .sqlite ファイルが全DB
ゼロコンフィグ設定なしで動作
ACID準拠Atomicity / Consistency / Isolation / Durability
ライセンスPublic Domain
サイズコンパイル後600KB 程度
プラットフォーム全主要OS + 組込み
トランザクション完全対応
SQL標準SQL-92 ほぼ完全準拠
インデックスB-tree / Expression / Partial

主要採用先

プラットフォーム用途
AndroidContacts / SMS / Browser History
iOSCore Data / Messages
WindowsEdge browser / Photos
macOSCalendar / Reminders / Notes
ブラウザFirefox / Chrome 一部
自動車BMW iDrive / Tesla 内部
航空機Airbus A350 / Boeing 787
IoTスマート家電
ゲームSkyrim / 多くのSteam ゲーム
アプリAdobe / Dropbox / Slack ローカル

「世界で1人あたり100台のSQLite」と推定されるレベル (累計1兆台 / 80億人)。

ACID 動作

SQLite は組込型ながら完全ACID:

  • Atomicity: トランザクションは全成功または全失敗
  • Consistency: 制約違反でロールバック
  • Isolation: SERIALIZABLE デフォルト (テーブルロック)
  • Durability: 同期書込・電源断対応 (Rollback Journal / WAL)

SQLite 主要バージョン

年バージョン主要追加
2000-08SQLite 1.0初版
2004-06SQLite 3.0UTF-8 / B-tree 改良
2010-07SQLite 3.7WAL モード
2013-05SQLite 3.7.16Memory Mapped I/O
2018-04SQLite 3.24Window Functions / UPSERT
2020-05SQLite 3.32Generated Columns
2021-12SQLite 3.37STRICT モード
2023-11SQLite 3.44JSON 関数強化
2024-09SQLite 3.46--

WAL (Write-Ahead Logging)

2010年Linux 3.7 で導入された並行性改善モード:

  • 読み込みと書込が同時可能 (旧モードは排他)
  • COMMIT 時にロックなし
  • Crash Recovery 高速化
  • フラッシュドライブ (SSD) 親和性
PRAGMA journal_mode = WAL;

SQLite vs PostgreSQL vs MySQL

項目SQLitePostgreSQLMySQL
形態組込みサーバサーバ
プロセスアプリ内別プロセス別プロセス
ネットワークなしTCP/IPTCP/IP
並行接続限定的数千数千
容量〜数TB (281TB理論)〜PB〜PB
用途アプリ / IoT / 組込エンタープライズWeb
ACID◯◯◯
マルチユーザ△ (基本Reader/Writer)◯◯

D. Richard Hipp と Hwaci 社

SQLite 開発者:

  • 米North Carolina 大学Duke 卒業
  • 1992年からSQL 関連業務
  • 2000年SQLite 開発開始
  • Hwaci 社 (Hipp, Wyrick & Company, Inc.) 設立
  • Public Domain 配布で個人が世界DB に貢献する稀有な例
  • 商用サポート・コンサルティングで生計

関連用語との違い

  • vs PostgreSQL / MySQL: 組込み / サーバ
  • vs DuckDB: トランザクション / 分析特化
  • vs Realm / LevelDB: KV (Realm/LevelDB) / SQL (SQLite)

FAQ

Q1: SQLite で並行書込? A: WAL モードで読み書き並行可能・書込同士は排他。高並行書込はPostgreSQL 推奨。

Q2: 1ファイルが破損したら? A: Crash Recovery 標準対応・Journal Mode / WAL でほぼ自動復旧。手動修復はsqlite3 .recover コマンド。

Q3: なぜ「世界で最も普及」? A: iOS / Android / Windows / 自動車・航空機・IoT・全Webブラウザ・全Slack・全Adobe アプリに採用、推定1兆台以上の累計デバイスに導入。

この記事について
カテゴリークラウド
難易度初級
作成日2026/5/15