2012-02-18 4 views
3

Я начинаю новый проект, и хотя я привык к MySQL, я беспокоюсь об эффективности. Я открыт для других вариантов, а базы данных графов звучат интригующе.Должен ли я использовать Neo4j для поиска похожих пользователей или использовать что-то вроде MySQL?

Мне нужно будет найти похожих пользователей в зависимости от местоположения и оценок, таких как значения. В mysql мне, вероятно, придется присоединиться к 2-м многим отношениям и порядку, основанным на расстоянии как места, так и этих значений (вероятно, евклидово расстояние). MySQL кажется медленным с такими вещами.

Мне также нужно будет делать такие вещи, как найти 10 узлов с текстом, который начинается с подстроки и имеет наибольшее количество подключений (что, я думаю, является автозаполнением).

Может ли это сделать Neo4j или другую базу данных графов легко и эффективно?

ответ

4

Да, Neo4J, безусловно, более подходит, чем MySQL. Я сам использовал его для поиска сходства и продолжаю это делать. Проверьте Cypher или Gremlin в зависимости от того, насколько сложны ваши критерии - вместе со встроенным индексом Lucene это потрясающе.

Примеры того, что вы пытаетесь достичь: http://docs.neo4j.org/chunked/stable/data-modeling-examples.html

+1

Я также нашел [этот блог страница] (http://blog.neo4j.org/2012/02/webinar-follow-up-intro-to -graph.html), в котором перечислены некоторые приложения, для которых neo4j хорошо подходит. Теперь мне просто нужно определиться с веб-каркасом, и, может быть, если я буду использовать orientdb вместо neo4j. – user1217646

+0

Отлично, я сделал всю оценку для базы данных графа - дважды - один раз в 2010 году и один раз в конце прошлого года для двух разных компаний. В обоих случаях победителем стал Neo4j. – Luanne

+1

hm ... Я на самом деле думаю OrientDB с Symfony 2.0. Лицензия OrientDB немного более открыта, и я не могу найти столько о Neo4j с php. Спасибо (извините за касательную) – user1217646

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

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