Какая база данных графа

Какую графовую базу данных следует использовать при работе с парой тысяч узлов и парой тысяч отношений? Это большие числа для любой базы данных или нет? Какая база данных графа является самой быстрой при операциях чтения (при условии, что все данные загружаются один раз в начале). Я посмотрел на neo4j и его инструмент визуализации. Смогу ли я иметь такой инструмент визуализации в своем приложении?


person user579674    schedule 07.02.2012    source источник


Ответы (1)


Вопросы, которые вам нужно будет задать и ответить для базы данных графа, аналогичны любой другой базе данных. Сколько данных? В памяти или постоянно? Как вы будете с ним взаимодействовать? Встроенный или серверный процесс? Распространяется или локализуется? Лицензирование?

Пара тысяч узлов и взаимосвязей — это мало для графовой базы данных, и почти любое решение графовой базы данных будет работать. Для большинства людей Neo4j — хороший выбор, но есть некоторые оговорки. Во-первых, лицензирование Neo4j может быть проблематичным во многих ситуациях. Во-вторых, визуализатор является частью серверного процесса Neo4j, а это значит, что у вас будет запущен еще один серверный процесс. Если вас беспокоит лицензирование, вы можете проверить OrientDB, которая находится под лицензией Apache, и таким образом очень гибкий.

Судя по всему, у вас довольно маленькая система, и вы можете обойтись с помощью TinkerGraph, базу данных графиков в памяти от Марко Родригеса и хакеров Tinkerpop. У него есть возможность сохранить ваши данные в файл, если это необходимо, он удивительно легкий и, как Neo4j и OrientDB, поддерживает все графические инструменты из стека Tinkerpop, включая Jung Ouplemntation, который может дать вам желаемую визуализацию.

person Pridkett    schedule 07.02.2012
comment
Ребята, мы ищем более гибкое лицензирование стартапов, свяжитесь со мной (я являюсь частью команды Neo4j), если вам нужно начать работу с Neo4j. Кроме того, Tinkerpop включен и совместим с Neo4j, а визуализатор в компоненте сервера Neo4j — это просто визуализация по умолчанию на основе Arbor.js, которая работает с REST API и управляется потоками браузера (не в процессе с сервером). Для небольших графиков я думаю, что модель в памяти, такая как Tinkergraph, вполне подойдет. - person Peter Neubauer; 08.02.2012
comment
@Pridkett О лицензировании Neo4j: я видел, что Neo4j поставляется с лицензией GPL и AGPL. Какие проблемы это приносит с лицензией Apache? ... Я посмотрю на TinkerGraph. Объем данных, как я уже сказал, составляет несколько тысяч узлов с небольшим количеством свойств и несколькими тысячами отношений. Это будет локализованный серверный процесс с веб-интерфейсом. Я не знаю, будет ли он в памяти или постоянным. Каковы плюсы и минусы? Должен ли размер базы данных определять это? - person user579674; 11.02.2012
comment
@PeterNeubauer Мне нужна помощь, чтобы решить, может ли neo4j делать то, что я задумал. Могу ли я связаться с вами в частном порядке? Мои вопросы в основном связаны с тем, как начать использовать neo4j в качестве серверной базы данных на веб-странице. - person user579674; 18.02.2012
comment
[email protected] - person Peter Neubauer; 27.02.2012