2009-08-21 3 views
2

В настоящее время я работаю над системами рекомендаций, особенно для аудиофайлов. Но я новичок в этой теме. Я пытаюсь создать базу данных сначала с помощью mysql, но я не могу решить, как это сделать. Это, в основном, система, которую пользователи создают профиль затем поиск музыки и системы рекомендуют им музыку, похожую на понравившуюся.Дизайн базы данных данных рекомендаций?

  1. , какую базу данных я должен использовать? (Mysql приходит мой ум как первое предположение)
  2. это веб-проект, а затем также с мобильными технологиями side.Which я должен использовать? (PHP, Android платформа ...)
  3. какие подводные камни этого проект.
  4. как создать базу данных для системы вот так?

ответ

4

Любые реляционная база данных должны быть хорошо для хранения исходных данных, такими как списки песен, список пользователей, предпочтения песенных пользователей ..

Я думаю, что вы увидите, что реляционные базы данных (и SQL) являются не так уж важно для хранения различных структур данных, которые будет создавать ваш рекомендатель. Ваш механизм рекомендаций, вероятно, создаст данные, которые на самом деле не обязательно должны быть в таблицах, и манипулировать им для хранения в реляционной базе данных может быть просто растраченной работой.

Просто имейте в виду, что вы делаете, и не тратьте время на то, чтобы помещать материал в базу данных SQL, если он чувствует себя не так. Возможно, посмотрите на использование ориентированной на документ базы данных, например MongoDB.

Рекомендатор, который я недавно написал, на самом деле является процессом сервера Java, который читает в необработанных данных из MySQL, выполняет всю свою работу в памяти и предоставляет рекомендации для моего приложения через HTTP API. Я даже не стал хранить данные рекомендаций на постоянной основе, так как он может быть регенерирован.

3

Ну, это расплывчатый вопрос, и полтора, но я сделаю все возможное, чтобы ответить:

  1. MySQL является твердой базой данных, и поэтому PostgreSQL. Оба являются бесплатными и открытыми. MySQL более широко поддерживается и немного проще в использовании, но у Postgres есть некоторые очень интересные функции и функциональные возможности, на которые стоит обратить внимание. WikiVS имеет хорошее сравнение двух.
  2. Смартфоны имеют лучшие и лучшие браузеры. Используйте PHP или ASP.NET (независимо от того, что вам удобно), а затем создайте мобильный сайт, который лучше выглядит на меньших разрешениях.
  3. Есть много. Прежде всего, насколько хорош ваш алгоритм рекомендаций? Во-вторых, хранение аудиофайлов может быстро съесть пространство для хранения. Каков ваш план масштабирования? В-третьих, насколько хорошо вы знаете дизайн базы данных? Можете ли вы создать большую, здоровенную базу данных и правильно ее проиндексировать? Если нет, вам нужно начать читать все, что можно, по индексам и дизайну базы данных. В-четвертых, это программный проект, и у них всегда есть подводные камни. Лучшее, что вы можете сделать, это опубликовать здесь, когда возникают проблемы, и мы всегда можем увидеть, что могут сделать прекрасные люди StackOverflow.
+0

Я не буду хранить фактические аудиофайлы в базе данных, вместо того, чтобы хранить ссылки на аудиофайлы. –

+0

@Burak: Они по-прежнему используют одинаковое количество памяти. – Eric

4

Go читать "Programming Collective Intelligence". У них есть ряд тонких алгоритмов для рекомендаций в главе 2 «Рекомендации».

+0

У меня есть эта книга, я ожидаю, что это будет теоретическая книга, но ее не так, автор использует действительно хорошие примеры –

 Смежные вопросы

  • Нет связанных вопросов^_^