CONOCIENDO NEO4J

En estos meses hemos estado revisando esta útil herramienta que tal vez para muchos sea desconocida o simplemente no la han logrado comprender del todo y quisieran saber más sobre ella, con un posible punto de vista distinto a lo que han encontrado hasta ahora, mientras que para algunos otros sea muy conocida y la manejen de manera excelente. Esta entrada está enfocada para los primerizos o novicios, aunque es posible que alguno de los experimentados en esta herramienta encuentre algo de valor o refuerce su conocimiento.

Neo4j es una base de datos, basada en la teoría de grafos, en la cual se almacena y gestionan datos los cuales están organizados por nodos y conexiones que llamaremos relaciones; muy parecida a Dgraph. Neo4j nos ofrece una buena optimización de uso de memoria.
El lenguaje que se utiliza, que es muy parecido a SQL, se llama Cypher y este nos sirve para cargar los datos o escribir en la base, al igual que hacer queries, realizar algoritmos desde centralidad como closeness, betweeness, page rank, hasta similaridad, entre algunas otras funciones.

Existen 2 versiones de neo4j, la versión community y la versión enterprise:

Community – Es una versión completamente funcional y enfocada al aprendizaje de neo4j, ya que se busca que tenga un despliegue en un sólo equipo y no en una infraestructura completa. Se recomienda para equipos pequeños y trabajo más de prueba.

Enterprise – Mejora mucho la escalabilidad y también el desempeño del software, para poder obtener respaldo de datos en línea, arquitectura de clusterización, soporte, control de accesos por rol y soporte para LDAP. Es altamente recomendado para ambientes de producción, en donde se requiere alta disponibilidad y escalabilidad.
Algo muy interesante que recalcar sobre la versión enterprise, es que puedes acceder a un servicio de seguridad por medio de kerberos.

Para saber más sobre las características y especificaciones del programa, se puede acceder a la documentación de neo4j que dejaremos en las fuentes de esta entrada.

Neo4j tiene soporte para sistemas x86_64, no importa si son on-premise, de uso personal, en servicios cloud, virtuales o containerized. Les dejamos a continuación un ejemplo de los requisitos mínimos del sistema para uso personal, ya que, para otro tipo de usos, se puede encontrar en la documentación oficial.

CPUIntel Core i3 minimum, Intel Core i7 recommended.
Memory2GB minimum, 16GB or more recommended.
Storage10GB SATA Minimum, SSD with SATA Express or NVMe recommended.
Tabla 2.2 Requisitos mínimos y recomendaciones de hardware.

Este tipo de base de datos gráfica puede resultar extremadamente útil para los científicos de datos, ya que te permite ver de una manera visual los datos, te muestra las tablas y los datos, mostrando relaciones y facilitando comprender cosas de clientes o buscar inconsistencias que nos pueden ayudar a conseguir de una manera tal vez un poco más simple insights.

Un ejemplo de un caso de uso es saber sobre una base de datos sobre influencers o en una red social, conforme a sus relaciones e interacciones, quién es la persona que tiene mayor impacto o el más importante de la red. Otro ejemplo es para saber quiénes tienen una alta probabilidad de conocerse y hacer recomendaciones en redes sociales.

Tiene una amplia gama de oportunidades de uso este software y es altamente recomendado por las facilidades que da y lo sencillo que es de usar. Un ejemplo de esto es Neuler, una app interna de neo4j que sirve para poder realizar los algoritmos sin tener que codificarlos en Cypher.

Por último, los dejamos con unos ejemplos visuales de cómo se ve una query.

Resultado de imagen para neo4j
Resultado de imagen para neo4j

Esperamos que esta entrada alimentara la curiosidad de muchos y ayudara a otros a encontrar o entender esa herramienta que resulta ser muy útil para los científicos de datos y que está creciendo de manera exponencial por su sencillez.

By: José Luis Rodríguez.

References:
Neo4j. (2017). Dcouments. febrero 2020, de Neo4j Sitio web: https://neo4j.com/docs/
Neo4j. (2017). Operations Manual. febrero 2020, de Neo4j Sitio web: https://neo4j.com/docs/operations-manual/4.0/
Neo4j. (2017). Cypher Manual. febrero 2020, de Neo4j Sitio web: https://neo4j.com/docs/cypher-manual/4.0/

Deja un comentario