SQLite えすきゅーらいと
SQLite組み込みDBファイルベースDBサーバーレスDBモバイル開発軽量データベース
SQLiteって普通のDBと何が違うの?
簡단に言うとこんな感じ!
SQLiteはサーバーが不要で、1つのファイルがそのままデータベースになるコンパクトなDBだよ!スマホアプリや小規模Webサービスでよく使われていて、MySQLやPostgreSQLみたいに別サーバーを立てる必要がない。「ポケットに入るデータベース」なんだ。
SQLiteとは
SQLite は、クライアント・サーバー構成を必要とせず、データベース全体を単一ファイルに格納するサーバーレスの組み込みRDBMSです。D. Richard Hippが2000年に開発し、パブリックドメイン(著作権フリー)で提供されています。
標準的なSQLをほぼ完全にサポートしており、世界で最も広く展開されているデータベースエンジンと言われています(スマートフォン・PCアプリ・IoTデバイス等に搭載)。
SQLiteの特徴
| 特徴 | 内容 |
|---|---|
| サーバー不要 | 専用サーバープロセスなし、アプリに組み込む |
| 単一ファイル | .db 形式の1ファイルがDB全体 |
| ゼロ設定 | インストール・設定不要ですぐ使える |
| ACID準拠 | トランザクション完全対応 |
| クロスプラットフォーム | Windows/Mac/Linux/iOS/Android対応 |
| パブリックドメイン | ライセンス費用ゼロ |
SQLiteが適するケース
| 向いている | 向かない |
|---|---|
| モバイルアプリのローカルDB | 高並列書き込み |
| 開発・テスト環境 | 大規模本番DB |
| ブラウザ拡張・デスクトップアプリ | ネットワーク越しのアクセス |
| IoT・組み込みシステム | 複数サーバーからの同時アクセス |
| プロトタイプ・PoC開発 | TB単位の大容量データ |
歴史と背景
- 2000年:D. Richard HippがパブリックドメインのSQLiteを公開
- 現在:推定4兆以上のSQLiteインスタンスが世界で稼働(Androidデバイスに標準搭載等)
- 2023〜:LiteFS等のCloudflare製品でエッジコンピューティングDBとして再注目
関連する規格・RFC
| 規格 | 内容 |
|---|---|
| ISO/IEC 9075 | SQL標準。SQLiteはサブセットを実装 |
関連用語
- リレーショナルデータベース — SQLiteはRDBMSの一種
- トランザクション — SQLiteはACID準拠のトランザクションをサポート
- PoC — PoC開発でSQLiteを使って手軽に試すことが多い
- PostgreSQL — 本番環境でSQLiteから移行する先として多い
- ORM — SQLiteもORMを通じて操作できる