Что я должен использовать для бэкенда «социального» сайта? - PullRequest
4 голосов
/ 27 июня 2010

Мои два основных требования к сайту связаны со степенями разделения и сопоставления графиков (для двух графиков получено некоторое сходство).

Моей первой мыслью было использовать MySql для этого, чтовозможно, сработает хорошо для хранения того, как я хочу управлять «друзьями» (аналогично Twitter), но я думаю, если я хочу показать пользователям результаты, которые будут использовать алгоритмы построения графиков (например, кратчайший путь между двумя людьми), может быть, этоЯ не выбрал бы этот способ.

Мой язык, который я бы выбрал для внешнего интерфейса, был бы Python, использующий что-то вроде Pylons, но я еще не посвятил себя чему-то конкретному и был бы готов сдаться, еслихорошо приспособлен к хорошему бэкэнд-решению.

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

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

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

Ответы [ 4 ]

3 голосов
/ 05 июля 2010

Python / Django предоставляет Pinax хорошую основу для социальных сайтов.

2 голосов
/ 27 июня 2010

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

Что касается языка, выберите то, что вам знакомо. Хотя Youtube и Reddit написаны на python, многие другие крупные сайты используют Ruby (Hulu, Twitter, Techcrunch) или C ++ (Google) или PHP (Facebook, Yahoo и т. Д.).

0 голосов
/ 05 июля 2010

Я бы использовал комбинацию Graph Database плюс MySQL. База данных Graph должна использоваться только для эффективного хранения пользовательской информации и отношений. Для всего остального, например для пользовательских страниц и т. Д., Я бы использовал MySQL.

0 голосов
/ 27 июня 2010

Я понимаю, что это, вероятно, не совсем тот ответ, который вы ищете, но я думаю, что для зрителей / искателей вопроса в целом полезно упомянуть вопрос: BuddyPress - это хорошо отточенная «социальная» сетевая платформа, построенная на вершина WordPress (php, MySQL). Это отличная система, если вы не пытаетесь делать сложные вещи, и если вы пытаетесь делать сложные вещи, вы все равно можете продвинуться далеко, не перегружая себя каким-либо другим более глубоким языком, таким как Python.

http://buddypress.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...