No.3ベストアンサー
- 回答日時:
>SQLiteは、WEBサーバーが持つローカルな記憶装置をデータベースとして使う仕組みで、自分の管理するハードのシステムを呼び出すのでWEBアプリの命令として簡単に使用できるというイメージです。
SQLiteの実体は、ただの単一ファイルなので、ローカルに限らずネットワークドライブでも問題ないはずです。(基本的に、ネットワークドライブ上に置くメリットよりデメリットの方が多いと思われますので、そのような使い方をすることはあまりないと思いますが…)
複数のクライアントが利用する場合でも、Webアプリからなら簡単に利用できるのは、本来、意識しなければならない同時書き込みなどの処理(そもそも、同時書き込みが頻発する処理の場合SQLiteでは不適格ですが…)を、Webのサービス(ApacheやIISなど)が窓口になって一括で処理してくれるからです。
つまりSQLiteの仕様のデメリットが、Webのサービスの仕様と上手く噛み合わさることで、ほとんどなくなるということです。
上記リンクで書込がダブると書込エラーが発生すると書かれていますが、これは、何も考えなくてもWebのサービスが守っていてくれているから(と言っても、そんな大げさなものではありませんが)です。もし、同時に書き込みにエラーが発生しない場合、DBが壊れると言う最悪の可能性が待っています。
(MySQLのようなサービス型の場合、同時の書き込みでもDB自体は壊れないように出来ています。)
>ということで、MySQLのようにWEBサーバーがネットワーク上のハードであるデータベースサーバーにユーザーが自らを証明するために必要なパスワードを送る必要が無いということ。
Webアプリなら、あまり考える必要のないことですが、パスワードが必要であることのメリットは、上記のリンクにあるような、第三者に対するセキュリティよりも、公開する相手に対して必要な権限を振り分けられることの方が大きいと思います。
SQLiteでは、その仕様上、基本的に窓口が一つでないとなりません。決まった相手にしかデータを見せる必要がないのでパスワードは不要となります。(ファイルをさわることが出来る相手=管理者で、全データを扱えることに問題はない)
一方、MySQLなど、サービス型のDBの場合、窓口が複数あることが前提となります。
この複数の窓口と言うのがミソで、使用者全員が管理者と言う訳ではなく、必要な情報を必要な人にだけ見せたり、更新させたりする必要があります。そのためにユーザやパスワードの設定が必要となります。
何度も、詳しく解説してくださって有難うございました。
大して分ってないのに、生意気な質問で申し訳ありませんでした。
お蔭様で、かなりイメージを掴む事が出来ました。
本当に有難うございました。
No.2
- 回答日時:
SQLiteは、あまり詳しくないため、私も勘違いしている部分もあるかも知れませんが…
ネットワークプリンタと、USBプリンタの違いをイメージして下さい。
ネットワークプリンタの場合、ネットワーク上の全てのPCから、そのプリンタで印刷が可能となります。
これをDBを使用したアプリケーションの動作に当てはめると、ネットワーク上のPCのアプリケーションがDBを使用する場合、SQL文を直接DBに発行することが可能となります。(これが質問のサービス(MySQL)の動作にあたります。)
一方、USBプリンタの場合、そのプリンタがと繋がっているPCで共有を行えば、同様に印刷が可能となります。それは、他のPCから受け取った印刷の指示を、そのPCが窓口になって印刷の指示を行うからです。
これをDBを使用したアプリケーションの動作に当てはめると、ネットワーク上のPCのアプリケーションは、窓口となるPCのアプリケーションと、何らかの手段で通信し、窓口となるPCがSQL文を発行後、戻って来た結果を、元のPCのアプリケーションに返すこととなります。(これが質問のアプリケーション(SQLite)の動作にあたります。)
あとは、利用したいモデルが、どちらに当てはまるのかによります。
例えば、複数のクライアントでも、WEBベースであれば、窓口となるSQLを発行するPCは一台で済むので(可用性は考えないものとして)SQLiteでも問題ありませんし、単体ユーザでも、複数のPCから同時に接続する必要があれば(あまり無いとは思いますが)MySQLが必要となるかも知れません。
この回答への補足
わざわざ、お時間を割いていただき有難うございます。
拝見しましたが、アンポンタンなので明確に捉え切れませんでした。
納得出来そうで出来ないので、いろいろ調べて考えました。
http://www.cpa-lab.com/tech/046
http://mizushima.ne.jp/Windows/DB/SQLite/SQLite. …
そこで、下記のような解説を見つけました。
>SQLiteは、データベースでよく代表されるMySQLやPostgreSQLのようにサーバー・クライアントという形をとりません。
>データはBerkeleyDB同様ローカルに保存されますので、外部・複数のサーバーからのアクセスはできない短所があります。
>また、大規模な仕事には不向きだともいわれています。
>パスワード設定は要らない。
>ファイル形式であり、ユーザー管理の概念がないため、SQLite自身には、セキュリティ機能はない。自分で、ファイルへのアクセス権限をしっかりとコントロールする必要がある。
以上の解説から私が考えたのは、SQLiteをメインのデータベースとして使う時は、
SQLiteは、WEBサーバーが持つローカルな記憶装置をデータベースとして使う仕組みで、自分の管理するハードのシステムを呼び出すのでWEBアプリの命令として簡単に使用できるというイメージです。
ということで、MySQLのようにWEBサーバーがネットワーク上のハードであるデータベースサーバーにユーザーが自らを証明するために必要なパスワードを送る必要が無いということ。
こんな風に思ったのですが、何処か間違っていたら教えてください。
No.1
- 回答日時:
電話局で、みんなが閲覧できるように置かれている電話帳が前者(MySQL)で、個人宅においてある電話帳が後者(SQLite)
実際のシステムの運用イメージとしては、宅急便の総合荷物前者(MySQL)が前者で、配送時に各スタッフがもつ端末上での荷物情報等を管理するのが後者(SQLite)。
扱う情報の規模やセキュリティ等によりますが、たとえば銀行などのDBはMySQLではなくOracleだったりします。
わざわざ、お時間を割いていただき有難うございます。
貴方がおっしゃるように、SQLiteは補助的には端末のデータベースとして用い、処理が終わると情報を整理し本社に送るという形で使われていそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユニクロやGUのシフト管理アプ...
-
LINE TCBというところからLINE...
-
Excelのセルにユーザー名...
-
iPhoneのiCloudメールなよです...
-
インスタの捨て垢で友達のスト...
-
インスタの乗っ取り解除につい...
-
YouTubeが毎回ログインしないと...
-
メールアドレスを人に教えるの...
-
メールアドレスで上付きのハイフン
-
存在しないアドレスにメールを...
-
インスタのアカウントが削除さ...
-
カカオで退会せずに、アプリだ...
-
メールアドレスから個人を特定...
-
「@」(アットマーク)の無いメ...
-
解約済みの iPadについて 解約...
-
CSVファイルを添付するときにパ...
-
携帯電話を解約してもSMSの受信...
-
韓国人アドレスnaver.com
-
メールアドレスに自分の名前
-
メールアドレスからどこまで分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
YouTubeが毎回ログインしないと...
-
YahooIDをパスワード形式にした...
-
インスタの捨て垢で友達のスト...
-
iPhoneのiCloudメールなよです...
-
携帯電話を解約してもSMSの受信...
-
インスタの乗っ取り解除につい...
-
「@」(アットマーク)の無いメ...
-
メールを返信したら、英語のメ...
-
メールアドレスで上付きのハイフン
-
verify@twitter.comから、メー...
-
星の王子さまというアプリで、 ...
-
CSVファイルを添付するときにパ...
-
LINE TCBというところからLINE...
-
メールアドレス 上バーの入力...
-
ユニクロやGUのシフト管理アプ...
-
インスタのアイコンについてるN...
-
インスタのアカウントの消し方...
-
高一男子です 僕が絶対に悪いん...
-
メールをパスワードつきで送る方法
おすすめ情報