SQLiteの管理ができるWebアプリがほしい。と言われまして…
工数の計算とかそもそも、こいつどんなんだったけ??となりました。
SQLiteなんてAndroid開発以外でほぼ使ったことないのでほぉ。。。と思いながら久しぶりに色々調べてみました。
SQLiteって何?
特徴
- 軽量・シンプル
- サーバー不要、インストール不要。
- データは1つのファイルとして保存される。
- ローカル環境向け
- アプリや簡単なWebアプリ、モバイルアプリでよく使われる。
- 同時アクセスはあまり得意じゃない(シングルユーザー or 少人数)。
- 設定不要
- すぐ使える、セットアップが超簡単。
- 速度
- 少量データなら高速。
SQLiteはファイルさえあればOK!どこかにサーバーを立てる必要なし
こんな場面で使う
- 開発中のテスト用DB
- 小規模なWebアプリ、ツール
- スマホアプリ内蔵DB(Android)
- 単体のアプリケーションで完結する場合
MySQLって何?
特徴
- サーバークライアント型
- MySQLサーバーが動作しており、そこに接続してデータをやり取り。
- 複数ユーザーや大量データに強い
- 同時アクセスが多いシステムに向いている。
- トランザクション管理、権限設定、リモート接続など多機能。
- 拡張性が高い
- クラウドや大規模システム(WordPressなど)で定番。
- 設定が必要
- 初期設定やユーザー管理、接続情報の設定などが必要。
サーバープログラム(MySQL Server) がPCやサーバーで常に動いている必要があり
こんな場面で使う
- 商用Webサイト(WordPressやECサイト)
- 大規模システム
- たくさんのユーザーが同時に使うサービス
- 複数サーバー間でDBを共有したい場合
まとめ
SQLiteはインストール不要のDB
SQLiteは ライブラリ で提供されています(たとえば、PHP・Python・Laravelなどに組み込み済みのことが多い)。 特別なセットアップ作業が不要。
たとえば
- PHPなら PDO (PHP Data Objects) で
sqliteを選ぶだけでOK。 - Pythonなら標準で
sqlite3モジュールが使える。 - Laravelも
database/database.sqliteを用意するだけで動く。
| SQLite | MySQL | |
|---|---|---|
| 稼働形式 | 組み込み型(ファイル) | サーバー型(クライアント-サーバ) |
| セットアップ | ほぼ不要 | 必要(ユーザー設定・起動など) |
| 同時接続数 | 少人数向き | 大人数・多接続に対応 |
| トランザクション | 対応(基本的) | 対応(高機能) |
| 主な用途 | 開発・小規模・モバイル | 商用・大規模・本番運用 |
と、まとめていると…
「ああ、こうだったなぁ」と思い出してきました。








コメントを残す