- ベストアンサー
MySQLとSQLiteを比較して、SQLiteが優れている点のアドバイスをいただければ幸いです。
- Androidアプリ開発でPHPファイルを読み込み、更にMySQLへ接続してデータベースの中身を反映させることに成功しました。
- しかし、Androidアプリとデータベースの連携で調べると、SQLiteを推奨しているサイトや書籍が多いのですが、SQLiteが明らかに優れている点はあるのでしょうか?
- MySQLとSQLiteを比較して、SQLiteが優れている点のアドバイスをいただければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SQLiteは、基本的に組み込み用です。 アプリに内蔵してそのアプリ専用のデータベースを 作成/アクセスするためのものです。 MySQLに比べると機能は貧弱ですが、 そのかわり圧倒的にサイズが小さいことが、 アプリに内蔵する用途としては優れている点です。 例えば、スタンドアロンのカレンダーアプリが、 イベント/スケジュールを管理したい時に、 アプリ内で自分専用のデータベースを作って 管理するような用途で使われます。 あなたの場合、 「最終的には、AndroidとiOS両方の端末が1つの データベースへ読みに行く」ということは、 端末やアプリとは別のところにDBサーバーがあり、 そこに各端末が接続しにいく形態を考えているのだと 思います。そうであれば、MySQLにすべきです。 というか、SQLiteはサーバー・クライアント方式 ではないので、そういう使い方はできません。 (参考) http://ja.wikipedia.org/wiki/SQLite どっちが優れているかというより、 そもそも用途が違うということです。
その他の回答 (1)
- Lchan0211b
- ベストアンサー率61% (573/930)
> つまり、web( PHP等 )を返して結果を端末へ反映させるにはMySQLで、各端末側で > データを追加、変更、削除のアクションを起こさせる必要があればSQLiteで行うという > 考え方で合っていますでしょうか? 「webを返す」とか「各端末でアクションを起こさせる」とか、 なんか意味がよくわかりませんが、 要するにサーバーにデータベースを置きたいならMySQLを使い 端末のアプリ内にデータベースを置きたいならSQLiteを使う ということでよさそうに思います。 もう少し言えば、ネットの使えないところでもアプリ自身がデータを 管理する必要があるならSQLite、常にネットにつながっている環境で 使用することを前提にし、データを一か所に集めて管理する必要が あるならMySQLということでよさそうに思います。
お礼
度々ご回答をいただき、ありがとうござます。 「webを返す」= ネットに繋がっている状態 「各端末でアクションを起こさせる」= アプリ自身がデータを管理する という意味合いで記述させていただきました。 ありがとうございました。
お礼
ご回答をいただき、ありがとうごさいます。 なるほど、とても明確になってきました。 つまりSQLiteは、ローカル環境( クライアントサイド )で動かすのが主流という 概念なのですね。 かなり昔に、Movable Typeをインストールした祭に、webサーバにSQLiteがインストールされて MySQLから代替された形になっていましたので、SQLiteも基本的にサーバサイドで 動かすデータベースだと思っておりました・・・。 MySQLとSQLiteを用途によって、使い分けるようにします。 そう考えると極端な話、例えばセッションを使用したログインシステムや、 運営サイドの新着情報をアプリ側へ反映させるには、必然的にMySQLを使用することを 考えるべきですね? つまり、web( PHP等 )を返して結果を端末へ反映させるにはMySQLで、各端末側で データを追加、変更、削除のアクションを起こさせる必要があればSQLiteで行うという 考え方で合っていますでしょうか? 何卒、引き続きご教示いただければ幸いです。 どうぞよろしくお願い申し上げます。