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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのセルにユーザー名...
-
YouTubeが毎回ログインしないと...
-
メールを返信したら、英語のメ...
-
「@」(アットマーク)の無いメ...
-
iPhoneのiCloudメールなよです...
-
存在しないアドレスにメールを...
-
インスタの捨て垢で友達のスト...
-
CDにパスワードをかける
-
メールアドレスで上付きのハイフン
-
YahooIDをパスワード形式にした...
-
インスタの乗っ取り解除につい...
-
LINE TCBというところからLINE...
-
メールのマナー編
-
CSVファイルを添付するときにパ...
-
携帯電話を解約してもSMSの受信...
-
verify@twitter.comから、メー...
-
runas実行した時にきかれるパス...
-
「そのメールアドレスはすでに...
-
解約済みの iPadについて 解約...
-
インスタのアイコンについてるN...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
大学定期試験過去問サイト「過...
-
メールをパスワードつきで送る方法
-
ユニクロやGUのシフト管理アプ...
-
インスタの捨て垢で友達のスト...
-
メールアドレスで上付きのハイフン
-
CSVファイルを添付するときにパ...
-
メールを返信したら、英語のメ...
-
YouTubeが毎回ログインしないと...
-
インスタのアイコンについてるN...
-
iPhoneのiCloudメールなよです...
-
携帯電話を解約してもSMSの受信...
-
メールのマナー編
-
メールアドレスから個人を特定...
-
メールアドレス 上バーの入力...
-
YahooIDをパスワード形式にした...
-
高一男子です 僕が絶対に悪いん...
-
CDにパスワードをかける
-
「@」(アットマーク)の無いメ...
-
runas実行した時にきかれるパス...
おすすめ情報