У меня есть приложение 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. почему, почему нет?