2010-12-26 9 views
0

私はJavaを使用してアプリケーションを開発しています。私のアプリケーションには複数の異なるユーザーが同時にアクセスし、データベースは中央サーバーにあります。リモートサーバーからのデータベースへのアクセスは、Hibernate構成ファイル内のサーバーの適切なIPを与えるだけで処理されます。データベースが遠隔地にあるときに画像を取得する

私の質問では、データベースの各ユーザーに関する画像を保存する必要があります。データベースにイメージを保存し、データベースから取得することは推奨されず、パフォーマンスに悪影響を及ぼすと聞きました。そうですか?

これを実装できる他の方法は何ですか?それを行う最善の方法は何ですか?

答えて

2

ファイルシステムのアプリケーションサーバーにイメージを保存し、それをusersテーブルのimage_locationカラムへの参照として保存します。参照してください:Photo storage for web app


側注:あなたは、複数のアプリケーションサーバーを使用している場合は、より良いindentical方法で、すべてのアプリケーションサーバにアクセス可能な共有の場所にファイルを保存します。ファイルをデータベースに保存するのは良い考えではありません。

@sasidharによって示されるように

は、ここで私はどうなるのかです:

  1. がそれにUnixのOSで中央の画像サーバを作成します。 IPが固定されていることを確認します。あなたのアプリで
  2. 、サーバー
  3. Updateからの画像の相対パスを持つユーザーテーブルのIMAGE_LOCATIONに専用のディレクトリに、クライアントマシンからコピーファイルを保護するためにJSchを使用すると、「/」
  4. 見て、私がチェックしますユーザーの相対パスを取得し、JSchセキュアファイル転送プロトコルを使用して再度フェッチします。

ちなみに、FTPを設定する方が良い方法です。


なぜファイルストレージとしてDBを使用しないでください。ここをクリックしてください:Storing Images in DB - Yea or Nay?

+0

これはWebアプリケーションではありません。基本的にリモートデータベースにアクセスする各ユーザーの.exeファイルが必要です。これは私の要件の一部です。他の賢明な選択肢は、便利なWebテクノロジです。 Javaでは、サーバーにファイルを格納する方法は?私はJavaのネットワーク機能を使用していません... – sasidhar

+0

それはGUIツールのようなデータベースを表示するのですか?ユーザーはこのアプリケーションをダウンロードし、それを使用してリモートDBサーバーに接続します。プロフィール画像を持たせたいのですか? – Nishant

+0

@Nishant大学のさまざまな行政機関のためのGUIアプリケーションです。彼らはさまざまな方法で学生データを操作し、各学生は写真を持っています。 – sasidhar

関連する問題