【えすきゅーらいと】

SQLite とは?

💡 インストール不要の「持ち運べるデータベース」
📌 このページのポイント
SQLite(組み込みデータベース)の構造 アプリケーション SQLiteライブラリ サーバ不要・プロセス内蔵 SQL実行エンジン data.db(1ファイル) 通常のDB(MySQL等) アプリ クライアント DBサーバ 別プロセス ネットワーク通信が必要 サーバの管理が必要 軽量・シンプル 高機能・大規模向け
SQLiteのイメージ
ひよこ ひよこ

SQLiteってMySQLと何が違うの?

ペンギン先生 ペンギン先生

一番の違いは「サーバーが要らない」こと。MySQLはサーバーソフトを起動して使うけど、SQLiteは1つのファイルがそのままデータベースになるんだ。

ひよこ ひよこ

ファイル1つってどういうこと?

ペンギン先生 ペンギン先生

「data.db」みたいなファイルを作るだけで、その中にテーブルもデータも全部入るんだよ。コピーして移動もできるし、削除したら全部消える、とっても分かりやすい仕組みなんだ。

ひよこ ひよこ

じゃあSQLiteを使えば何でもできるの?

ペンギン先生 ペンギン先生

小さいものならね。スマホのアプリ内データや設定の保存、ちょっとしたツールには最適だよ。でも大勢が同時に書き込むWebサービスには向いてないんだ。

ひよこ ひよこ

なんで大きいサービスには使えないの?

ペンギン先生 ペンギン先生

SQLiteはファイルに書き込むとき他の処理をブロックしちゃうんだ。同時に何千人もアクセスするようなサービスだと、みんなが「ちょっと待って」状態になっちゃうんだよ。

ひよこ ひよこ

じゃあどのくらいの規模まで使えるの?

ペンギン先生 ペンギン先生

ここが中上級者でも判断が難しいところで、「読み込み中心で書き込みが少ない」なら意外と大きなサービスでも使えるんだ。実はFirefoxやChromeもブラウザ内部のデータ管理にSQLiteを使ってるよ。「書き込みが多いか少ないか」で判断するのがポイントなんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
SQLiteって出てきたら「ファイル1つで動く軽量データベース」と思えばだいたいOK!
📖 おまけ:英語の意味
「SQLite」 = 軽量(lite)なSQL
💬 「liteは軽量」の意味。発音は「エスキューライト」が一般的だが「シークェライト」とも
← 用語集にもどる