2012-02-07 15 views
7

¿Qué base de datos de gráficos debería usar cuando se trata de un par de miles de nodos y un par de miles de relaciones? ¿Son estos grandes números para cualquier base de datos o no? ¿Qué base de datos de gráficos es la más rápida en las operaciones de lectura (suponiendo que todos los datos se cargan una vez al inicio). Eché un vistazo a neo4j y su herramienta de visualización. ¿Podré tener dicha herramienta de visualización en mi aplicación?¿Qué base de datos de gráficos

Respuesta

12

Las preguntas que deberá formular para una base de datos de gráficos son similares a las de cualquier otra base de datos. ¿Cuántos datos? En memoria o persistente? ¿Cómo interactuarás con eso? ¿Embebido o un proceso de servidor? Distribuido o localizado? ¿Licenciamiento?

Un par de miles de nodos y relaciones es pequeño para una base de datos de gráficos y la mayoría de las soluciones de base de datos de gráficos funcionarán. Para la mayoría de la gente, Neo4j es una buena elección, pero hay algunas advertencias. Primero, la licencia de Neo4j puede ser problemática en muchas situaciones. En segundo lugar, el visualizador es parte del proceso del servidor Neo4j, lo que significa que va a tener otro proceso de servidor ejecutándose. Si le preocupa la licencia, le recomendamos que consulte OrientDB, que está bajo la licencia de Apache y, por lo tanto, es muy flexible.

Por lo que parece, tiene un sistema bastante pequeño y puede funcionar con TinkerGraph, una base de datos de gráficos en memoria de Marko Rodriguez y los hackers Tinkerpop. Tiene la opción de conservar sus datos en un archivo si es necesario, es increíblemente liviano y, como Neo4j y OrientDB, admite todas las herramientas gráficas de la pila Tinkerpop, incluido el Jung Ouplemntation, que puede proporcionarle las visualizaciones que desee.

+1

Chicos, estamos buscando licencias de inicio más flexibles, contáctame (soy parte del equipo de Neo4j) si necesitas poner en marcha el Neo4j. Además, Tinkerpop está incluido y es compatible con Neo4j, y el visualizador en el componente Servidor Neo4j es solo una visualización basada en Arbor.js predeterminada que se ejecuta contra la API REST y es impulsada por subprocesos del navegador (no en proceso con el servidor). Para gráficos pequeños, creo que un modelo en memoria como Tinkergraph está totalmente bien. –

+0

@Pridkett Acerca de la licencia de Neo4j: He visto que Neo4j viene con licencia GPL y AGPL. ¿Qué problemas trae esto sobre la licencia de Apache? ... Echaré un vistazo a TinkerGraph. La cantidad de datos es como dije unos pocos miles de nodos con pocas propiedades y unas miles de relaciones. Será un proceso de servidor localizado con una interfaz web front-end. No sé si va a ser en memoria o persistente. ¿Cuáles son los pros y los contras? ¿Debería el tamaño del db determinar esto? – user579674

+0

@PeterNeubauer Necesito ayuda para decidir si neo4j puede hacer lo que tengo en mente. ¿Hay alguna manera de contactarte en privado? Mis preguntas están básicamente relacionadas con cómo empezar a usar neo4j como una base de datos back-end en una página web. – user579674

Cuestiones relacionadas