Проектирование базы данных движка рекомендаций?

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

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

Ответы на вопрос(3)

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

MySQL - это надежная база данных, и поэтомуPostgreSQL, Оба бесплатны и с открытым исходным кодом. MySQL более широко поддерживается и немного проще в использовании, но у Postgres есть несколько очень интересных функций и возможностей, которые 'стоит взглянуть на.WikiVS имеет хорошее сравнение двух.У смартфонов браузеры все лучше и лучше. Используйте PHP или ASP.NET (что бы вы ниудобно), а затем создайте мобильный сайт, который будет выглядеть лучше в меньших разрешениях.Много. Прежде всего, насколько хорош ваш алгоритм рекомендаций? Во-вторых, хранение аудиофайлов может быстро освободить место для хранения. Какие'у тебя есть план по масштабированию? В-третьих, насколько хорошо вы знаете дизайн базы данных? Можете ли вы спроектировать большую, здоровенную базу данных и правильно ее проиндексировать? Если нет, вам нужно начать читать все, что вы можете об индексах и дизайне базы данных. В-четвертых, этоЭто программный проект, и у него всегда есть подводные камни. Лучшее, что вы можете сделать - это опубликовать здесь, когда возникнут проблемы, и мы всегда сможем увидеть, что могут сделать хорошие люди из StackOverflow.
 Burak Dede21 авг. 2009 г., 14:58
я не буду хранить реальные аудиофайлы в базе данных, вместо этого я буду хранить ссылки на аудиофайлы.
 Eric21 авг. 2009 г., 15:05
@ Бурак: Они все еще используют тот же объем памяти.
Решение Вопроса

танных данных, таких как списки песен, список пользователей, пользователей предпочтения песни ..

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

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

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

Программирование "Коллективный разум", У них есть несколько прекрасных алгоритмов для рекомендаций в главе 2 "Делать рекомендации ".

 Burak Dede21 авг. 2009 г., 14:56
у меня есть эта книга, я ожидаю, что это будет теоретическая книга, но это не так, автор использует действительно хорошие примеры

Ваш ответ на вопрос