Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Где Хранить графы?


Автор: weldpua2008 16.4.2011, 23:15
Привет Всем

Я начинаю писать сайт на php с framework'ом (кстати тут еще не определился Symfony, YII или же придётся на python перелазить из-за хранилища).
 
Возникла проблема с внедрением "социальных фишек". (в классической базе Я знаю как решить все эти вопросы, но захотелось "проще" что-ли )...

Данные от 100 000 пользователей.


В общем вспомнил про презентации архитектуры социалок и твитера. Начал искать "базы данных для хранения графов".
Загуглил сайт с "Graph Databases" http://nosql-database.org/ это они родимые заточены под хранение этих самых графов.

Но http://habrahabr.ru/qa/3745/
Цитата

1. Neo4j (самая популярная, хорошая и провереная) Где-то в сети гуляют бенчмарки (vs mysql) в которых последняя терпит крах -: о со значительным проигрышем, хотя на сравнительно небольших объемах данных результат почти одинаковый.
2. FlockDb(https://github.com/twitter/flockdb). Здесь надо смотреть или подойдет по функциональности, используется в продакшене на твиттере.


И даже после таких выводов:
http://markorodriguez.com/2011/02/18/mysql-vs-neo4j-on-a-large-scale-graph-traversal/
Цитата

In conclusion, given a traversal of an artificial graph with natural statistics, the graph database Neo4j is more optimal than the relational database MySQL. However, no attempts have been made to optimize the Java VM, the SQL queries, etc. These experiments were run with both Neo4j and MySQL “out of the box” and with a “natural syntax” for both types of queries.


Я не смог найти:
  • Работающую базу данных с php 
  • не написаную на java (не нравится Мне тащить на сервер Яву)
  • ответ - будет ли профит от NoSQL базы чем просто от обычной mysql/postgre в виде скорости разработки или других плюшек?
  • опыта и примера, который изобилует в других облостях: CMS, CMF, ORM ,etc.

Я с графами не работал.



"Соц.фишки":

1.Нужно хранить данные: пользователь состоит в тех-то и тех-то группах, а эти группы в свою имеют между собой связи.
Вошёл в группу, вышел - всё быстро)))

2.Как комментарии пользователя связаны с комментариями другого пользователя по нескольким темам темам. Граф на 2-е темы например: (А->B)->(B->A  A->A->A->B)

3.связи между собой пользователей: друг-недруг

4. был на странице или нет и т.д.  И цепочтка посещения страниц профилей страниы: ЗЗ-ХХ-ББ-ГГ-ТТ

5. хранение и быстрейшее отображение своей оценки для обьекта, а так же вывод информации кому еще нравится объект: Катя, Маша, Таня любят шоколад ;) 

и т.д.



ЗЫ:
Поиск по разделам выдаёт "Query failed: connection to localhost:3312 failed"
ЗЫЗЫ:
Хотел в NoSQL раздел запостить, но как-то пусто там)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)