База данных Python и графов. Использовать оболочку java lib или REST api?

Я хочу спросить вас о том, как лучше всего использовать базу данных графов (Neo4j) в Python. Как вы думаете, следует ли мне использовать "neo4j / python-embedded" (neo4j / python- встроенный с JPype) или, может быть, "Bulbflow" (Bulbflow, с Rexster, Gremlin и REST api)? Безопасен ли REST api и обеспечивает ли он высокую доступность (например, 500 000+ пользователей)?

Спасибо.


person User    schedule 31.03.2012    source источник


Ответы (2)


Я думаю, что Bulbs против Neo4j Server может быть лучшей комбинацией. Кроме того, вы можете настроить Neo4j в режиме высокой доступности, чтобы несколько экземпляров формировали кластер, http://docs.neo4j.org/chunked/snapshot/ha.html, который должен позаботиться о вашем сценарии загрузки.

person Peter Neubauer    schedule 01.04.2012
comment
Для конфигурации высокой доступности клиент должен попасть в один из узлов кластера, который находится в рабочем состоянии. Используйте HAProxy (или аналогичный), чтобы определить, в какой узел нужно попасть. - person Jesvin Jose; 01.04.2012

Вы можете использовать Bulbs (http://bulbflow.com/ с Neo4j Server или Rexster:

>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> g.vertices.create(name="James")
>>> g.vertices.create(name="Julie")
>>> g.edges.create(james, "knows", julie)

Или, чтобы использовать Rexster, просто измените импорт:

>>> from bulbs.rexster import Graph
>>> g = Graph()
>>> g.vertices.create(name="James")
>>> g.vertices.create(name="Julie")
>>> g.edges.create(james, "knows", julie)

Обратите внимание, что с Rexster он поддерживает несколько баз данных графов, поэтому убедитесь, что вы изменили URI БД по умолчанию в конфигурации:

>>> from bulbs.rexster import Graph, Config
>>> config = Config('http://localhost:8182/graph/neo4jsample')
>>> g = Graph(config)
>>> ...
person espeed    schedule 24.05.2012