Neo4j, una base de datos de grafos
Neo4j es un motor de persistencia robusto, escalable y empotrado para la gestión eficiente de datos semiestructurados y orientados a redes.

- Orientado a redes. Al igual que el modelo relacional está basado en tablas, columnas y filas, Neo está basado en nodos, propiedades y relaciones, que pueden formar una gran red o grafo.
- Especialmente indicado para datos semiestructurados. Donde sólo algunas propiedades son obligatorias y la gran mayoría son opcionales.
- Está empotrado. Es una librería Java no intrusiva y de poco peso.
- Rendimiento y escalabilidad. A sido diseñado teniendo en mente estas cuestiones y ha sido probado con grandes redes (de más de 100 millones de nodos, propiedades y relaciones).
- Robusto. Soporta JTA y JTS. Es maduro, hasta 3 años en producción en sistemas 24x7.
- La API es muy sencilla, y permite representar los datos de una manera flexible e intuitiva.
- Las consultas están basadas en la navegación por los nodos y relaciones. También permite usar "Transversers", que son objetos para realizar consultas del tipo: "dime todos los amigos de Morfeo y los amigos de sus amigos", o "¿cónoce Trinity a alguien que esté emparentado con un agente?".
- Cuenta con versiones comerciales y de software libre.
- Requiere cierta curva de aprendizaje. No hay demasiada gente que sepa de modelos orientados a redes.
- Las herramientas existentes de consulta son muy rudimentarias.
- Es mucho peor que el modelo relacional para datos estructurados que requieren consultas arbitrarias.
(Vía InfoQ).

0 comentarios
Publicar un comentario en la entrada