Кто-то пытался neo4j против титана - плюсы и минусы

Кто-нибудь может указать или указать на хорошее сравнение между Neo4j и Titan? Одна вещь, которую я вижу, - с точки зрения масштаба - Titan является масштабированием и требует базового масштабируемого хранилища данных, такого как cassandra. Neo4j предназначен только для HA и имеет собственную встроенную базу данных. Любые другие плюсы и минусы? Любые конкретные операции. (В настоящее время используется Titan в любом месте?)

У меня также есть следующая ссылка: http://architects.dzone.com/articles/16-graph-databases-compared, которая дает объективное сравнение для графических баз данных, но не сильно зависит от плюсов и минусов между Neo4j и Titan.

Ответ 1

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

  • Не подходит для запросов в реальном времени. У нас есть социальная структура, такая как твиттер. Мы должны показать последние 20 мероприятий (и связанных с ними действий) всех пользователей, которых пользователь следит за его временной линией. У нас есть несколько пользователей, которые следуют более чем 1000 пользователей. В запросе gremlin, который мы написали для этого (если вам интересно, мы можем поделиться запросом gremlin), на самом деле было создано так много GC, что сервер с 8 cpu и 48 gb ram, используемый для замораживания, и мы должны были перезапустить сервер, чтобы снова получить его в Интернете.
  • Наблюдается многократный сетевой раздел.
  • Не существует индекса вершинного центра, который очень необходим в базе данных graoh.

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

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

Ответ 2

Замечательно, что вы изучаете базы данных графов. Я поговорю с Neo4j частью вашего вопроса:

Более 30 из Global 2000 теперь используют Neo4j для производства в широком спектре вариантов использования, многие из которых удивительны даже для нас! (И мы изобрели график свойств!)

Частичный список клиентов можно найти ниже: www.neotechnology.com/customers

Neo4j работает в производстве 24х7 в течение 10 лет, и хотя с тех пор продукт, конечно же, значительно расширился, он основывался на очень прочном фундаменте.

Большинство компаний, перемещающихся в базы данных графов, выступая за Neo4j, о чем я знаю, делают это потому, что либо: а) их РСУБД не смогли справиться с масштабом и масштабом требований связанных запросов;/или b) огромное удобство и скорость, возникающие из областей моделирования, которые представляют собой график (социальное, сетевое и управление центра обработки данных, мошенничество, портфолио, идентификатор и т.д.) в виде графика, а не как таблицы.

Для пинков вы можете найти здесь несколько переговоров с клиентами из четырех (скоро пять) конференций GraphConnect, которые были проведены в этом году в крупнейших городах мира:

http://watch.neo4j.org/

Если вы находитесь в Лондоне, последний будет проведен на следующей неделе: http://www.graphconnect.com

Ниже вы найдете краткое описание некоторых технологий Neo4j с некоторыми примерами клиентов. Чтобы прямо поговорить с вопросом о масштабировании: Neo4j имеет уникальную архитектуру, предназначенную для максимизации времени отклика запроса и предсказуемости запроса, позволяя горизонтальное масштабирование таким образом, чтобы каждый экземпляр мог получить доступ к графику, не перепрыгивая через сеть. (Требуется больше пропускной способности для чтения. Просто добавьте экземпляры.) Оказывается, этот подход хорошо работает для 95%% графиков, включая некоторых производственных клиентов, у которых более половины социального графика Facebook работает в одном кластере Neo4j, поддерживая веб-сайт "всегда на" 24x7.

www.neotechnology.com/neo4j-scales-for-the-enterprise/

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

Язык запросов Neo4j Cypher - это единственный язык декларативных запросов, построенный специально для графиков свойств. Он берет все уроки, извлеченные из нашего 13-летнего родного Java API (который был основой для Blueprints, с которой некоторые из других графических баз данных были приняты) и переводит их на язык следующего поколения. Cypher - отличный способ изучить графики и разработать приложения; и всегда есть собственный Java API, если у вас есть особые потребности или ценность "голый металл" (т.е. субмиллисекунд против однозначной миллисекунды), выше удобства. Neo4j построен с нуля для поддержки графиков и имеет механизм хранения графа, который построен для хранения графиков; в отличие от некоторых более поздних дополнений к экосистеме базы данных графа, которые архивируются в виде графических библиотек поверх неграфических баз данных и подвержены некоторым из присущих им ограничений. (например, FlockDB, поскольку он основан на MySQL, все равно будет очень медленным для чего-либо большего, чем один прыжок.)

Определенно не стесняйтесь обращаться к команде Neo, если вам нужно что-то более конкретное. Мы будем рады помочь вам! http://info.neotechnology.com/ContactUs.html

Удачи!