С какой базой данных у вас был лучший опыт работы с френдингом на заднем плане? - PullRequest
1 голос
/ 27 июля 2011

Поскольку мой последний вопрос считался субъективным :(, я пытаюсь сделать его более конкретным.

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

id | user1 | user2

, и у вас естьиметь дело с дублирующимися данными (id = 1, user1 = Joe, user2 = Jeff, id = 2, user1 = Jeff, user2 = Joe) ...

Вам также необходимо выполнить поиск в обоих столбцах для одного пользователя.

При выполнении поиска определенного друга друга рекурсия может быть действительно сложной.

  1. Согласны ли вы с тем, что база данных графов лучше всего?
  2. Если да, то какиеодин? и почему это лучше всего в вашем опыте?
  3. Так как клиент уже имеет MySQL, стоит ли тратить лишние деньги на получение хранилища графиков, или есть хороший подход к основным проблемам с френдингом, сохраняя его вMySQL.

PS ДЛЯ МОДЕРАТОРОВ: Если у вас еще естьпроблема с этим постом, я был бы очень признателен, если бы вы могли сказать мне, есть ли какой-то конкретный способ задать этот вопрос и считаться "конструктивным" постом?Gmail мне (Joedevon), чирикать меня (Joedevon), добавить его в комментарии.какой бы метод ни подходил вам больше всего ...

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

1 Ответ

0 голосов
/ 27 июля 2011

Возможно, было бы уместно упомянуть, какой язык вы используете для создания этого приложения.Если это Java, я думаю, что нет реального конкурента neo4j .(мое мнение)

Может быть, вы уже видели эти серии презентаций neo4j , но на 200-й секунде этой презентации вы можете увидеть вариант использования для устойчивости Polyglot, что означает, что выможет использовать вашу существующую модель данных или модель данных, которые не обязательно должны быть свободными от типов или не подходят для модели данных Graph, ВМЕСТЕ с аспектом приложения (привязка пользователя и отношения), который будет использовать neo4j под капотом и его графМодель данных.

Проект Spring Data делает это действительно простым, и я считаю, что это очень перспективный путь.

...