2012-03-27 13 views
0

私は、社内イントラネット用の写真ライブラリを構築するプロジェクトがありましたが、これに最も近づける方法がわかりません。私はこれにどのように取り組むべきか、あなたの意見を聞きたいと思っています。私はそれが主観的かもしれないことに気がついているので、私の質問がこれらのボードには不適切であるならば正面まで謝罪しますが、それをどこに置くべきか分かりません。これは.NETでイメージライブラリを構築するための良いアプローチですか?

問題:

オフを開始するには、我々は、様々なサイズの数十万の画像の領域内にホストするために見ることになりますと、それは、Webベースのソリューションである必要があります。また、.NET/MS Sql Serverで開発していきます。 理想的には私はUmbraco CMSにこれを組み込みたいと思っています。データは必ずしもCMS内に保存する必要はありません。編集可能で、ユーザーがその中からアイテムを追加/削除できるだけです。

私の最大の懸念はパフォーマンスです。私たちはユーザーが結果を待つことを望んでいません。理想的には、数秒で返却してほしい。

基本的に私はalamy/istockphotoのようなものをエミュレートしたいと思います。各画像に関連するタイトル、ジョブ番号、プロジェクト名、カテゴリ、タグなどがサムネイルで表示され、もちろん生のフル画像へのリンクが必要です。

これらの画像の一部は非常に明確です(1GB + TIFF)。また、すでにすべてのファイルを別々のファイルサーバーに保存しています。このフォトライブラリの役割は、データベース内のレコードを物理ファイルとマッピングするだけで、既存のファイルシステムの構造などを変更することではありません。

MY提案された解決策:

私はこのような「IなどのID、ジョブ番号、エイリアス、イメージファイルのパスなど、すべてのデフォルトのプロパティを格納するデータベースを作成しなければなりません最初のタスクを考えています次に、多対多の関係を持つ別個のタグ/カテゴリテーブルを作成します。

テーブルを作成したら、管理者がログインしてデータベースにレコードを追加/編集/削除するためのカスタムコントロールをCMS用に作成します。

私はLucene.netを実装して自分のレコードを検索することを考えています。私が集めることから、速い結果を得るための良いAPIのように思えます。

これはまともな解決策ですか?私は本当にこのスケールの多くのプロジェクトを扱ったことがないので、私は自分のオプションについてちょっと混乱しています。誰かが私を正しい方向に向けることができたら、私はそれを高く評価します。私はまた、ソリューションをできるだけシンプルに保ちたいと思っています。

多くの感謝!

答えて

1

私はあなたが正しい行にいると言います。

  • DBに画像を保存しようとしないでください。ファイルサーバーが物理ファイルを処理できるようにします。
  • イメージ用に小さなjpg/pngサムネイルを生成します。そうすることで、クエリや検索の際に遅くなることはありません。私は2つのバリエーションに行きます - 一つは検索結果に表示され、もう一つは掘削に適したものです。
  • Gbサイズの画像をどのようにユーザーに配信するかを検討してください。
  • 画像自体にメタデータを追加することを検討してください。そのようにして、データは実際のイメージにもあります。
  • 私はLucene .Netを使っていないので、私はコメントできませんが、SQLサーバーはネイティブのFull Text Search機能を使用して画像データを検索して提供する以上の能力があるはずです。私は確かにそれから始め、あなたがどう行くか見てみましょう。
+0

完璧、ありがとうございます! – alimac83

関連する問題