Neo4j
Wilmer José Gómez Ospino
Julio Cesar Martinez Mesa
Jhonatan Gómez
Resumen
Neo4j es una base de datos dirigida a los grafos, que puede ser llevada a cabo, ya sea en Java o en
Scala, almacenando datos organizados en grafos en vez de tablas, En este ecosistema se encuentran
varios tipos: los que están conformados por vértices (que se esclarecen a través de círculos) y aristas
(demostrados por medio de líneas cruzadas), es decir, a través de intersecciones). En el interior de
estas figuras se encuentran diversos modelos de grafos, como por ejemplo, los no dirigidos, los
dirigidos, los que tienen alguna valoración numérica, los que tienen etiquetas, y por último, a los
que se les puede determinar propiedades en nodos y relaciones. (Communications, 2018) Puedes
también utilizar lenguajes de consulta (como Cypher), o gestionador de gráficos (como Gremlin).
Tiene un buen rendimiento a diferencia de las BD relacionales y no relacionales, es ágil para
gestionar muchas cantidades de datos, además de su flexibilidad y escalabilidad. Igualmente,
puedes acceder a datos desde consolas, un entorno web o por una API, haciéndola la BD más
popular en grafos desplegada por la empresa Neo Technology en el año 2007 hasta la actualidad,
estando disponible en Windows, Linux y Mac. (Emilio, 2020)
Palabras claves: Neo4j, NeoTechnology, grafos, nodos, relaciones.
Abstract
Neo4j is a database directed to graphs, which can be carried out, either in Java or Scala, storing data
organized in graphs instead of tables. In this ecosystem there are several types: those that are
formed by vertices (which are clarified through circles) and edges (shown by means of crossed
lines), that is, through intersections.) Within these figures there are various graph models, such as
undirected, directed, those with some numerical valuation, those with labels, and finally, those for
which properties can be determined in nodes and relations. You can also use query languages (such
as Cypher), or graph manager (such as Gremlin). It has a good performance unlike relational and
non-relational DBs, it is agile to manage large amounts of data, in addition to its flexibility and
scalability. Likewise, you can access data from consoles, a web environment or through an API,
making it the most popular graph DB deployed by the company Neo Technology in 2007 to date,
being available on Windows, Linux and Mac.
Keywords: Neo4j, NeoTechnology, grafos, nodos, relaciones.
Introducción
A medida que el NoSQL toma fuerza con el pasar de los años se ha propuesto usar distintas
bases de datos a las que son relacionales, ya sea por medio de columnas, o a archivos. Hoy en día
tenemos varias Hypertable, CouchDb o Cassandra, y la más interesante: Neo4j.
Hay momentos en los que se necesita guardar no únicamente datos aislados, sino que además
una gran parte están relacionadas con ellos, dónde todo lo anteriormente nombrado hace que sea
posible almacenarlo en una base de datos relacional. Las relaciones posiblemente sean de forma
bidireccional o unidireccional, poniendo por ejemplo el caso de la aplicación Twitter, que puedes
seguir a cualquier individuo a pesar de que no te siga a ti, y que puede haber personas que te siguen
1
aunque no las sigas. Si vamos a un nivel más complicado tenemos la tablaUsuarios,
RelacionarUsuarios, donde claramente no se ve muy natural.
Pues, aquí en este punto es dónde entra Neo4J, (Eza, 2010) porque es justamente para lo que esta
plataforma funciona: nodos y relaciones. Un nodo quizá podría ser un cibernauta, una fotografía, un
estado; y en el caso de las relaciones podría ser cuando a alguin le gusta las publicaciones de otra
persona, o cuando es amistad de un usuario, o cuando te etiquetan en algo en específico. Todo esto
se logra a través de bases de datos, con sus respectivos directorios.
Concepciones Neo4j
Manejar Neo4j como una base de datos es bastante habitual en la actualidad, su comunidad de
usuarios contribuye a la estructura de bocetos o diseños para ser solventados rápidamente, junto a
centenares de desarrolladores en empresas de calidad. (Anon., 2021)
Neo4j es muy utilizado ya que marcha con gran velocidad de lectura/escritura, sin desatender los
datos. Es una base de datos bien fortalecida con sus herramientas necesarias para fines, ya sea,
personal e empresarial, puesto que, acopla eficientemente los grafos locales y en que es escalable su
arquitectura, Neo4j se basa en su atomicidad, consistencia, aislamiento y durabilidad (ACID) en
donde examina estándares relacionales que se inspeccionan en medio de otros nodos sometidos a la
base de datos.
Su importancia se arraiga principalmente en que funciona sin índices, lo que implica en que tiene
superioridad al momento de calcular la duración de lectura en esta base de datos, especialmente
corto. Asimismo puede adquirirse una transacción de datos segura y rápida mientras tanto se
aumenta la data. Neo4j contesta de manera rápida a los informes renovando los nodos y relaciones
competentes a todo grafo que exista.
Esta BD usa Cypher, haciendo que sea poderoso y productivo, nos posibilita crear cantidades de
extensiones en donde sea necesario considerar un requerimiento exclusivo. Pueden escogerse
controladores que aumentan la experiencia y la posibilidad de ejecutar elementos singular, además
de vincular un usuario, producto o servicio, haciendo posible conquistar atraer clientela. En
Windows, Linux o Mac está la posibilidad de poder escoger el permiso de desarrollo y paquetes de
acuerdo a nuestros fondos y necesidad. (Anon., 2021)
Como se dijo anteriormente Neo4j nació de Neo Technology como una BD basada en grafos de
código abierto en Java y Scala. Su desarrollo inicia en 2003 y se pone a disposición del público en
el año 2007, además de que es utilizado por miles de empresas en grandes variedades, ya sea por
ejemplo Ebay, Wallmart o Telenor.
Tabla 1. Neo4J. Historia de Neo4j
Los fundadores de Neo4j encuentran problemas con
Año 2000
RDBMS y construyen el primer prototipo de Neo4j.
Año 2002 Desarrollo de la primera version de Neo4j.
Forman una empress sueca llamada Neo4j de código
Año 2007
abierto a través de GPL.
La empresa tiene su primer cliente llamado
Año 2009 “Sunstone and Conor” recaudando 2.5 millones de
dólares.
Año 2010 Lanzamiento de la version 1.0 de Neo4j.
Año 2011 La empresa se traslada a Sillicon Valley.
2
Recaudación de 11 millones de dólares de “Fidelily”,
“Sunstone and Conor” y crean Graph Connect,
Año 2012
primera conferencia sobre base de datos basada en
grafos.
Recaudan 20 millones de dólares de “Creandum with
Año 2015
Dawn” y llegan a las 2 millones de descargas.
Versión 3.0 de Neo4J y recaudan 36 millones de
Año 2016
dólares de “Greenbridge Investment”.
Versión de Neo4j para escritorio, y se anuncia la
Año 2017
primera industria de plataformas basada en grafos.
Año 2018 Lanzamiento de neo4j Bloom
Año 2019 Lanzamiento de Neo4j AuraDB
Reconocimiento como el líder de plataformas de
Año 2020 bases de datos en grafos, y se lanza Neo4j Graph
Data Science Library
Conclusiones
Texto aquí …
Referencias