2012-11-20 14 views
5

多くの人がAn​​droidデバイスをSQL ServerやMySqlのようなデータベースに直接接続しようとしていますが、答えは常に同じです。Webサービスを使用します。なぜAndroidデバイスをデータベースに直接接続しないのですか? Androidアプリケーションでローカルネットワークを使用しています。アンドロイドをデータベースに直接接続しないのはなぜですか?

答えて

11

多くの理由があります。

  1. セキュリティ - ユーザーが直接アクセスできる場合は、データベースから何かを得ることができます。プラス彼らはあなたのデータベースにパスワードを持っています。その結果、使用しているSQLサーバに欠陥がある場合、そのSQLサーバを悪用できます。また、あなたの権限が間違って設定されていると、データベースが消去される可能性があります。
  2. スピード - ユーザーが頻繁に大きなクエリを使用すると、システムを迅速かつ不必要に駄目にする可能性があります。あなたがWebインターフェイスを通過する場合は、それを絞ることができます。
  3. アクセシビリティ - Webクエリはほとんどすべてでサポートされています。 SQLデータベースに直接アクセスするには特殊なクライアントが必要です。

しかし、あなたは、完全にユーザーを信頼右ライブラリ/ドライバを持っている場合は、直接クエリを可能性があり、それが少しでも速くかもしれません。

+2

また、メモリ内のメモリサイズを増やすと、モバイルにデータベースが保存されます –

+0

私の本当の質問は、たとえばWindows上で動作するC#アプリケーションと同じではありません。直接接続を使用するのではなく、全く同じ理由でWebサービスを使用する方がよいでしょう。しかし、そうではないはずです。違いがあるはずです。直接接続を使用しているソフトウェア開発者として、私は間違っているか、まだ気づいていない違いがあります。 – ErTR

0

理由は、Web、あなたはそれが安定している場合、あなたは、この接続を維持する必要があります、あなたは第二

それを失っするつもりはない場合はどのように多くの時間がわからない接続

です-serviceは、情報を取得し、スタンドアーツで美しくサービスするように最適化されています。あなたのDBを救うために情報をキャッシュすることもできます

3

あなたのアプリケーションがデータベースサーバに直接接続する場合は、ユーザ名/パスワードをハードコードする必要がありますが、これは非常に安全です。いくつかのツールを使用すると、攻撃者はあなたのapkを逆コンパイルすることができ、この方法でユーザ名/パスワードにアクセスでき、アプリケーションを使わずに読み取り(+書き込み)アクセスでデータベースに接続できます。

0

データベースにアクセスしないもう一つの理由は、直接

問題データベース・アーキテクチャを変更した場合。 には2つの解決策があります。

1-直接アクセスでは、すべてのクライアントアプリケーションを更新する必要があります
2サービスを使用すると、サービスをアップグレードするだけです。

関連する問題