通过 Bulbs 从 python 访问 Titan Graph DB 时的性能基准
Performance benchmark while accessing Titan Graph DB from python via Bulbs
我有 Titan(在我的系统上嵌入了 cassandra 运行)。
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) 对于一个简单的图表,我通过 REXSTER 服务器使用 Bulbs 从 python 应用程序访问 Titan Graph DB。据我了解,REXSTER 服务器通过灯泡使用的 RESTful 接口公开 Titan。
2) 如果我需要一些复杂的操作,我最好在 groovy 脚本中创建一些存储过程并在 Titan+Bulbs 和 REXSTER 服务器之间使用 REXSTER 客户端。(我的理解是否正确?)
3) Bulbs 通过 RESTful 接口与 Titan 通信,性能如何?我想知道
- 写表演
- 查询性能
4) 如果我在两者之间使用 REXSTER 客户端,性能会受到影响吗?
如果您能向我指出一些文档,他们在其中使用上述设置测量了性能,那就太好了。
2) If I need some complicated operations,I would be better off creating some stored procedures in groovy script and use REXSTER client inbetween Titan+Bulbs and REXSTER server.(Is my understanding correct?)
对于复杂的查询,可以通过Bulbs执行gremlin查询。看看这个页面:http://bulbflow.com/docs/api/bulbs/gremlin/
3) As Bulbs communicates with Titan via a RESTful interface,what would be the performance like? I would like to have an idea about - write performances - querying performance
4) If I use REXSTER client in between would the performance be affected?
据我所知,使用 Rexster 写入或查询数据不会有任何明显的性能下降。因为,无论您的查询多么复杂和繁重,它都将在 Titan 内部执行。因此,使用 Rexster 不会成为瓶颈。
我有 Titan(在我的系统上嵌入了 cassandra 运行)。
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) 对于一个简单的图表,我通过 REXSTER 服务器使用 Bulbs 从 python 应用程序访问 Titan Graph DB。据我了解,REXSTER 服务器通过灯泡使用的 RESTful 接口公开 Titan。
2) 如果我需要一些复杂的操作,我最好在 groovy 脚本中创建一些存储过程并在 Titan+Bulbs 和 REXSTER 服务器之间使用 REXSTER 客户端。(我的理解是否正确?)
3) Bulbs 通过 RESTful 接口与 Titan 通信,性能如何?我想知道 - 写表演 - 查询性能
4) 如果我在两者之间使用 REXSTER 客户端,性能会受到影响吗?
如果您能向我指出一些文档,他们在其中使用上述设置测量了性能,那就太好了。
2) If I need some complicated operations,I would be better off creating some stored procedures in groovy script and use REXSTER client inbetween Titan+Bulbs and REXSTER server.(Is my understanding correct?)
对于复杂的查询,可以通过Bulbs执行gremlin查询。看看这个页面:http://bulbflow.com/docs/api/bulbs/gremlin/
3) As Bulbs communicates with Titan via a RESTful interface,what would be the performance like? I would like to have an idea about - write performances - querying performance
4) If I use REXSTER client in between would the performance be affected?
据我所知,使用 Rexster 写入或查询数据不会有任何明显的性能下降。因为,无论您的查询多么复杂和繁重,它都将在 Titan 内部执行。因此,使用 Rexster 不会成为瓶颈。