Использование Rexster и Titan Graph DB для масштабируемых приложений

У меня есть приложение python, взаимодействующее с базой данных графов Titan, поддерживаемой Cassandra.

Приложение Python ---------> Rexster Server + Titan Graph DB + Cassandra.

«Rexster Server + Titan Graph DB + Cassandra» находится внутри одной JVM.

Мое приложение Python работает на нескольких виртуальных машинах. Каждая виртуальная машина имеет идентичную копию моего приложения. Идея состоит в том, чтобы сделать приложение масштабируемым. Теперь ясно, что для первоначальной реализации я использую один экземпляр «Rexster Server + Titan Graph DB + Cassandra». Это означает, что серверная база данных представляет собой один узел. Мои приложения, работающие на разных виртуальных машинах, взаимодействуют с одним и тем же сервером.

Мои вопросы заключаются в следующем.

1) Я также хочу сделать масштабируемой базу данных. Как я могу это сделать?

2) Нужно ли мне использовать одну и ту же "Rexster + Titan Graph DB" и настраивать несколько узлов cassandra?

3) Является ли Titan Graph DB лучшим вариантом для этого варианта использования? Или я могу заменить базу данных Titan Graph на Neo4j и Rexster на Neo4jserver. почему, почему нет?


person liv2hak    schedule 20.02.2015    source источник


Ответы (1)


Titan — это хорошо масштабируемая графовая база данных, что было продемонстрировано на их примерах. Чтобы ответить на ваши вопросы, я думаю, необходимо выразить, насколько большим может быть ваш проект. Если вы собираетесь развернуть кластер hadoop, убедитесь, что rexster настроен на подключение к адресу Zookeeper бэкенда (если он им управляется), а не к списку адресов узлов.

1. Я также хочу сделать серверную базу данных масштабируемой. Как мне это сделать?
Если вы намерены выйти за пределы одной машины, вы можете обратиться к этой странице за дополнительной информацией: Конфигурация Titan-Cassandra. Что касается того, как сделать серверную базу данных масштабируемой, Cassandra и HBase — очень масштабируемые базы данных, и я предлагаю вам больше узнать об экосистеме Hadoop, чтобы понять, как Titan DB вписывается в это. У вас может быть много узлов HBase/Cassandra, с которыми может общаться rexster

2. Нужно ли мне использовать одну и ту же «Rexster + Titan Graph DB» и настраивать несколько узлов cassandra?< /em>
Вы можете запустить несколько серверов rexster на разных компьютерах в кластере, каждый из которых будет подключаться к одному и тому же бэкенду. Но каждый граф из rexster независим друг от друга, поэтому вам придется вручную разбивать операции с графом. И в этом сценарии это подходит только для большого количества пользователей вместо глубоких обходов/запросов

3. Является ли Titan Graph DB лучшим вариантом для этого варианта использования? Или я могу заменить базу данных Titan Graph на Neo4j и Rexster на Neo4jserver. почему/почему бы и нет? Поскольку кажется, что вы собираетесь развернуть кластер, я думаю, что Titan — лучший выбор, если только вы не готовы платить за корпоративную версию Neo4j для поддержки кластеризации. Издания Neo4j Еще один момент, который следует учитывать: Titan против OrientDB

person gnomeria    schedule 01.03.2015