SQLite とは?
ここでは、 SQLite とは何かを簡単にご紹介します。
SQLite とは?
SQLite はパブリックドメインで誰でも無料で使える、軽量のリレーショナルデータベースマネージメントシステム(RDMBS) です。
SQLite の特徴には以下のようなものがあります。
- Oracle, SQL Server, MySQL のようなクライアント・サーバー型ではなく、ひとつの SQLLite ファイルにデータベースシステムが含まれます。
- クロスプラットフォームでいろんな環境で動かせ、SQLLite のファイルに全てが含まれているのでデータベースサーバの設定などが必要ありません。
- 軽量で処理が速く、アプリに組み込んで利用されることが多いデータベースシステムで、IoT のデバイスやスマホアプリなどにも良く使われています。
- スタンダードな SQL のほとんどがサポートされています。
iOS アプリを開発するにあたって、データを保存するにはいろんなオプションがありますが、比較的データ量が多い時や、クエリーでデータを抽出したいような時に、SQLite を使うと便利です。
どんな時に SQLite がおすすめ?
先ほど「比較的データ量が多い時」と書きましたが、あくまで端末内に保存する程度のデータ量の話です。
本当にデータ量が多い場合は SQLite ではなく、ネットワークを介してクライアント・サーバタイプのデータベースサーバに保存したほうが良いと思います。
私が最近開発した 業務用の iOS アプリでは、SQL Server にメインのデータベースがあり、アプリをオフラインでも使いたいという要望があったので、必要なデータだけをネットワークを介して取得し、SQLite に保存して使うようにしました。
このような感じで、エンタープライズ RDBMS のキャッシュとしても SQLite がよく使われています。
iOS アプリ内で使うのには考慮しなくてもよいかもしれませんが、一般的にビッグデータを扱う時や、たくさんの同時書き込みに対応しなければならないような時には、SQLite はおすすめされていません。
以上、SQLite とは何かを簡単にご紹介しました。