2009-08-21 9 views
2

私は現在、オーディオファイルのための特に推薦システムに取り組んでいます。しかし、私はこのsubject.iで初心者です。私はmysqlでデータベースを設計しようとしていますが、私はそれを行う方法を決めることはできません。基本的には、音楽やシステムを検索して、好きなように音楽を推薦します。推薦エンジンデータベースの設計?

データベースは、私が使用する必要があります
  1. ?(Mysqlの が最初の推測として、私の心が来る)
  2. それは 、その後も携帯side.Which技術と Webプロジェクトで、私が使用する必要がありますか?(PHP、アンドロイド プラットフォーム...)
  3. この プロジェクトの落とし穴は何ですか?
  4. システム用のデータベースを設計する方法 このようにしますか?

答えて

4

どれリレーショナルデータベースは曲のリストなどの生データを格納するための良いことがあり、ユーザー、ユーザーの曲の好みのリスト。..

私はあなたがリレーショナルデータベース(およびSQL)ことを見つけることだと思うしていますあなたの推薦者が構築するさまざまなデータ構造を格納するのにはあまり適していません。リコメンデーション・エンジンは、おそらくテーブルに入れる必要のないデータを作成し、リレーショナル・データベースに格納するためにそれを操作するだけで無駄になるかもしれません。

あなたがやっていることに気をつけ、間違っていると感じたらSQLデータベースに時間を費やさないようにしてください。たぶん、MongoDBのような文書指向のデータベースを使うことに目を向けるでしょう。

私が最近書いたリコメンダは、実際にMySQLの生データを読み込み、メモリ内のすべての作業を行い、HTTP APIを介してアプリケーションに推奨データを提供するJavaサーバープロセスです。私はそれが再生することができるので、推薦データを永久に保存することを気にしませんでした。

3

まあ、これは漠然とした質問と半分ですが、私は答えるために全力を尽くします:

  1. MySQLは固体のデータベースであり、そのためPostgreSQLです。どちらも無料でオープンソースです。 MySQLはより広くサポートされていて使いやすくなっていますが、Postgresは非常にクールな機能を備えています。 WikiVSは、2つの比較が良好です。
  2. スマートフォンには優れたブラウザが搭載されています。 PHPやASP.NET(あなたが気に入っているもの)を使用して、より小さな解像度で見栄えのよいモバイルサイトを構築してください。
  3. たくさんあります。まず、アルゴリズムの推奨はどれくらいですか?第2に、オーディオファイルを格納することは、記憶スペースを素早く食べることができる。スケーリングの計画は何ですか?第三に、データベース設計についてどれくらいうまく知っていますか?大規模で大量のデータベースを設計し、適切に索引付けできますか?もしそうでなければ、あなたはインデックスとデータベースデザインでできること全てを読む必要があります。第4に、それはソフトウェアプロジェクトであり、それらには常に落とし穴があります。あなたができる最善のことは、問題が発生したときにここに投稿することです。StackOverflowの優れた人々が何を手助けすることができるのか、いつも見ることができます。
+0

私はデータベースに実際のオーディオファイルを保存しません。オーディオファイルの参照を保存するのではなく、 –

+0

@Burak:彼らはまだ同じ量のストレージを使います。 – Eric

4

移動先"Programming Collective Intelligence"。彼らは、第2章「推奨事項の作成」の推奨事項の数多くのアルゴリズムを推奨しています。

+0

私はその本を持っています、私は理論的な本だと思っていますが、そのようなものではない、著者は本当に良い例を使用しています –

関連する問題