採用に向く条件
選ぶ理由
- サーバ不要・1 ファイルで完結
- 軽量・ゼロ設定
- 組込み / モバイルで圧倒的
製品プロフィール
D. Richard Hipp / 2000年登場
サーバ不要で 1 ファイルに収まる組込み RDB。ゼロ設定で軽量。アプリ・モバイル・テストに最適で、世界で最も使われている DB エンジン。
基本情報
選定ガイド
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
採用に向く条件
事前に確認する条件
詳しい解説
SQLite は 2000 年に D. Richard Hipp が公開した、組込み向けのリレーショナルデータベースです。コードは パブリックドメインで、誰でも自由に利用できます。
最大の特徴は サーバーが不要で、データベース全体が 1 つのファイルに収まること。アプリにライブラリとして組み込んで使うため、別プロセスの DB サーバーを立てる必要がありません。「設定なしで使える、世界で最も使われている DB エンジン」が一言での説明です。
横にスクロール
-- ファイル data.db を開いて読むだけ。サーバ接続は不要
SELECT name FROM users WHERE active = 1;
得意なのは、モバイル/デスクトップアプリのローカル保存、設定やキャッシュの格納、テスト用の使い捨て DBです。単一プロセスから扱う用途で真価を発揮します。
不得意なのは 高い同時書き込みです。書き込み時はデータベース単位でロックがかかるため、多人数が同時に更新する大規模アクセスは想定外です。そうした用途は PostgreSQL や MySQL の領域になります。
「サーバーを立てたくない、1 ファイルで完結させたい」なら SQLite 一択です。アプリ組込みや小規模ツール、ローカル開発・テストで圧倒的に手軽です。
逆に、複数クライアントから同時に書き込む本番サービスなら、ネットワーク越しに接続するサーバー型(PostgreSQL / MySQL など)へ切り替えます。用途の規模で線を引くのが基本です。
実装・運用の視点
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
モバイルアプリ(iOS / Android)
種別: 組込み RDB(ファイル) / クエリ: SQL / ライセンス: パブリックドメイン
軽量・ゼロ設定
高い同時書き込みに不向き
向いている用途