У меня есть Титан (со встроенной кассандрой, работающей в моей системе).
cd titan-cassandra-0.3.1
bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties
У меня работает клиент rexster
cd rexster-console-2.3.0
bin/rexster-console.sh
Я установил лампочки в своей системе следующим образом.
sudo apt-get install python2.7-dev
sudo apt-get install libyaml-dev
sudo pip install https://github.com/espeed/bulbs/tarball/master
После вышеуказанной настройки я приступаю к созданию своего графика из своего приложения Python.
from bulbs.titan import Graph
g = Graph()
switch = g.vertices.create(name="switch")
device = g.vertices.create(name="device")
g.edges.create(switch, "connected to", device)
Мои вопросы заключаются в следующем.
1) Для простого графика я получаю доступ к базе данных Titan Graph из приложения Python, используя Bulbs через сервер REXSTER. Насколько я понимаю, сервер REXSTER предоставляет Titan через интерфейс RESTful, который использует лампочка.
2) Если мне нужны какие-то сложные операции, мне лучше создать несколько хранимых процедур в groovy-скрипте и использовать клиент REXSTER между Titan+Bulbs и сервером REXSTER. (Правильно ли я понимаю?)
3) Поскольку Bulbs взаимодействует с Titan через интерфейс RESTful, какова будет производительность? Я хотел бы иметь представление о - написании перфомансов - запросе производительности
4) Если я буду использовать клиент REXSTER между ними, повлияет ли это на производительность?
Было бы здорово, если бы вы могли указать мне на какую-нибудь документацию, в которой они измеряли производительность с использованием вышеуказанной настройки.