この記事は作成中です。随時更新されます

SQLiteはアプリケーションに組み込んで使う、非常に軽量なデータベースです。

MySQLやPostgreSQL、Oracleなどは「サーバ」として常時起動した状態で動かす場合が多いわけですが、SQLiteは独自の形式で保存されたファイルをプログラミング言語から必要なタイミングで読み書きする形になります。PHP、Pythonでは言語が標準でサポート、C、C++、D、Curl、Perl、Ruby、Delphiなど多数の言語でバインディング用のライブラリがリリースされています。

誤解されがちですがSQLiteには様々な機能が搭載されており小〜中規模なデータ量であれば一般的な運用に十分に耐えられます。しかし、逆説的に言えば大量のデータに大量のリクエストを捌くような用途には向きません。また多数のユーザーが同時に触るような環境でGRANTで権限管理を行うようなこともできませんし、レプリケーションも行えません。あくまで何らかのアプリの内部に組み込むことを前提とした運用を想定してもらえれば良いでしょう。

※この記事では特に記載が無い限りSQLite3を対象としています。なお諸般の事情でSQLite4はお亡くなりになった関係で3が最新です。


続きを読む