2

私は現在、特にオーディオファイルのレコメンデーションシステムに取り組んでいますが、このテーマの初心者です。最初にmysqlを使用してデータベースを設計しようとしていますが、その方法を決定できません。基本的に、ユーザーがプロファイルを作成してから検索するシステムです。音楽とシステムのために、彼らが好きな音楽に似た音楽を彼らに勧めます。

  1. どのデータベースを使用する必要がありますか?(Mysqlは最初の推測として頭に浮かびます)
  2. これはWebプロジェクトであり、モバイル側でもあります。どのテクノロジーを使用する必要がありますか?(php、androidプラットフォーム...)
  3. このプロジェクトの落とし穴は何ですか。
  4. そのようなシステムのデータベースを設計する方法は?
4

3 に答える 3

4

「集合知のプログラミング」を読んでください。第 2 章「推奨事項の作成」には、推奨事項のための優れたアルゴリズムが多数あります。

于 2009-08-21T12:52:02.760 に答える
4

リレーショナル データベースは、曲のリスト、ユーザーのリスト、ユーザーの曲の好みなどの生データを格納するのに適している必要があります。

リレーショナル データベース (および SQL) は、レコメンダーが構築するさまざまなデータ構造を格納するのにはあまり適していないことがわかると思います。レコメンデーション エンジンは、実際にはテーブルに存在する必要のないデータを作成し、それをリレーショナル データベースに格納するために操作するだけで無駄な作業になる可能性があります。

自分が何をしているのかに気をつけてください。間違っていると感じたら、SQL データベースに何かを入れることに時間を費やさないでください。MongoDBのようなドキュメント指向データベースの使用を検討してください。

私が最近書いたレコメンダーは、実際には Java サーバー プロセスであり、MySQL から生データを読み取り、すべての作業をメモリ内で実行し、HTTP API を介してアプリケーションにレコメンデーション データを提供します。レコメンデーション データは再生成できるので、永続的に保存する必要さえありませんでした。

于 2009-08-21T17:51:11.683 に答える
3

さて、これは漠然とした質問と半分ですが、私は答えるために最善を尽くします:

  1. MySQL は堅牢なデータベースであり、PostgreSQLも同様です。どちらも無料でオープンソースです。MySQL はより広くサポートされており、使いやすいですが、Postgres には一見の価値がある非常に優れた機能がいくつかあります。WikiVSには、この 2 つの優れた比較があります。
  2. スマートフォンには、ますます優れたブラウザーが搭載されています。PHP または ASP.NET (使い慣れたもの) を使用して、解像度が小さいほど見栄えのよいモバイル サイトを構築します。
  3. たくさんあります。何よりもまず、レコメンデーション アルゴリズムはどの程度優れていますか? 第 2 に、オーディオ ファイルを保存すると、すぐにストレージ スペースを使い果たしてしまう可能性があります。スケーリングの計画は?第三に、データベースの設計についてどの程度知っていますか? 大規模で多額のデータベースを設計し、適切にインデックスを作成できますか? そうでない場合は、インデックスとデータベース設計についてできる限りのことを読み始める必要があります。第 4 に、これはソフトウェア プロジェクトであり、常に落とし穴があります。問題が発生したときにここに投稿するのが最善の方法です。StackOverflow の優れた人々が支援するためにできることをいつでも確認できます。
于 2009-08-21T12:52:01.107 に答える