Saltar al contenido

¿Cuál es la diferencia entre la base de datos de gráficos Titan y Neo4j?

Solución:

Titán originalmente fue respaldado por Aurelius, que fue comprado por DataStax en 2015. Este movimiento fue diseñado para dar a DataStax un impulso en el mundo Graph DB, ya que ahora ofrecen su propio producto empresarial “DSE Graph”. Desde entonces, Titán se bifurcó (como se mencionó anteriormente) en JanusGraph.

Lo bueno de Titan / Janus (IMO) es que es “conectable” con otras tecnologías de back-end y de búsqueda existentes. Así que “funcionará bien” con cosas como Cassandra, HBase, Hadoop, Solr y ElasticSearch.

El inconveniente es que el apoyo de la comunidad es duro. El proyecto Titán ha sido efectivamente eliminado, y Janus obtiene la friolera de 0.23 en DBEngines. Eso lo convierte en el decimosexto Graph DB más popular (el 231 en general), lo cual es bastante bajo.

Neo4j está respaldado por Neo Technology y es considerado el líder en la comunidad Graph DB (puntaje de 38.52 en este momento, primer gráfico DB y 21 en general). Es de código abierto, pero está controlado por Neo Technologies, por lo que pueden marcar la diferencia en el conjunto de características entre el código abierto y la empresa.

Lo bueno de Neo4j es que tienen muchos tutoriales y ayudas de aprendizaje integradas directamente en el navegador Neo4j, que es una interfaz web agradable y fácil de usar. Su documentación es de primera categoría, fácil de leer y buscar, y tienen muchos seguidores aquí en Stack Overflow.

Captura de pantalla del navegador Neo4j:

ingrese la descripción de la imagen aquí

El inconveniente de Neo4j es que algunas funciones (como la agrupación en clústeres) solo están disponibles en la versión empresarial. Pero si trabaja para una gran empresa a la que no le importa desembolsar dólares por una licencia empresarial, puede que no sea un gran problema.

Consistencia: Titan / Janus es parte de la multitud de “consistencia eventual”, mientras que Neo4j apunta a ser fuerte-consistente (especialmente en un escenario de agrupamiento causal). Aunque la consistencia se puede ajustar con la configuración en ambos, con Titan / Janus, eso puede depender de su elección de backend conectable (por ejemplo: generalmente fuerte-consistente con HBase, aunque eventualmente consistente con Cassandra).

Recomendación:

Si recién está comenzando a aprender a modelar y bases de datos de gráficos, no puede equivocarse con Neo4j. Simplemente descargue / instale la edición comunitaria, ejecútela y ejecute :play movies como su primer comando (tutorial que lo guía a través de la carga, el modelado y la consulta de relaciones de películas).

Si tiene algo de experiencia con gráficos y no le importa solucionar problemas / buscar en Google para averiguar cosas (como establecer el tamaño máximo de fotograma para Thrift), entonces probablemente podría hacer algunas cosas realmente interesantes con Titan.

Pruebe cada uno y vea cuál funciona para usted.

Un enfoque es simplemente intentar elegir una base de datos sobre la otra. Por ejemplo, puede buscar rápidamente para encontrar que Titan se ha bifurcado a JanusGraph donde se mantiene más activamente. En su investigación, puede encontrar que existen otras bases de datos de gráficos de código abierto, así como OrientDb, ChronoGraph o Sqlg, así como alternativas comerciales como CosmosDb de Microsoft, DSE Graph o IBM Graph. ¿Cómo te decides ahora?

Hay un marco gráfico que une todos estos gráficos, incluido Neo4j / Titan (y más de los que se enumeran aquí): Apache TinkerPop. TinkerPop proporciona una abstracción sobre diferentes bases de datos de gráficos y procesadores de gráficos, lo que permite utilizar el mismo código con diferentes backends configurables. Este patrón es bastante similar al que se encuentra en SQL con JDBC, lo que ayuda a que su proveedor de código sea independiente.

Puede probar todas las diferentes bases de datos de gráficos compatibles antes de tomar una decisión y puede hacer este tipo de creación de prototipos / evaluación comparativa con bastante rapidez con la Consola Gremlin. Podrá tomar una decisión autoinformada sobre cuál es la mejor manera de llevar a cabo su proyecto.

Cuando llego al final de esta publicación, se me ocurre que no he respondido directamente a su pregunta. Si recién está comenzando y solo está interesado en aprender sobre bases de datos de gráficos, probablemente no recomendaría comenzar con Titan / JanusGraph, ya que requiere un poco de configuración para comenzar (esquemas, selección de backend, etc.). Comience con TinkerGraph o Neo4j usando la Consola Gremlin para probar algunos recorridos de gráficos simples y continúe desde allí.

Hay muchas más de dos bases de datos de gráficos, hay docenas. Dicho esto, hay dos con participación de mercado real: Neo4j y Titan / JanusGraph. Pero hay docenas de otros datos gráficos, cada uno con interesantes puntos fuertes para diferentes espacios de aplicación específicos. Dicho esto, para empezar, no profundizaría en todos los jugadores de nicho: aprender la idea básica de las bases de datos de gráficos se puede hacer con uno de los dos jugadores principales.

Neo4j es el más maduro, con la instalación y documentación más bien empaquetadas, toneladas de código de referencia y soporte de una amplia gama de socios.

Titan / JanusGraph es el siguiente en popularidad, ya que es gratuito / de código abierto y tiene un soporte muy sólido (por ejemplo, IBM, Google, Hortonworks, AWS, …). Hay una complejidad reciente en el hecho de que se adquirieron los líderes del proyecto Titán, congelando el proyecto Titán. Pero la comunidad bifurcó el proyecto en JanusGraph. Entonces, si bien JanusGraph es un proyecto nuevo, es literalmente el mismo código de Titan, con un soporte de la industria aún más amplio que el que tenía Titan.

Relacionado con los dos está el lenguaje utilizado para trabajar con los gráficos. Neo4j usa su lenguaje propietario, Cypher, mientras que casi todos los demás usan Gremlin y el conjunto de herramientas de código abierto TinkerPop (que es parte del conjunto de proyectos de código abierto de Apache). Casi todas las bases de datos de gráficos, incluido Neo4j, admiten Gremlin y TinkerPop. Entonces, por ejemplo, puede usar Cypher o Gremlin para consultar a Neo4j, aunque Neo (y algunos otros proveedores de bases de datos de gráficos patentados) admiten a Gremlin como un ciudadano de segunda clase, por así decirlo. Por ejemplo, puede conectarse a Neo usando Gremlin desde la consola (externa) Gremlin, pero no puede usar Gremlin en la (muy agradable) consola Neo4j.

Tenga en cuenta que hay muchas bases de datos de gráficos que admiten Gremlin además de Titan / JanusGraph. Un nuevo participante que es muy interesante es Azure Cosmos DB de Microsoft, que es una base de datos de gráficos administrada que es “barata y fácil” si ya usa Azure. Y hay varios proveedores que ofrecen JanusGraph administrado.

Para el aprendizaje personal, diría que Neo4j es el más fácil de configurar y aprender: lo descarga y lo ejecuta, y abre un navegador web en su consola basada en web, lo que solo toma unos minutos. Dicho esto, si te sientes cómodo con una línea de comandos, JanusGraph solo tardó media hora en instalarse y empezar a funcionar, así que no es demasiado difícil.

Para aprender los conceptos, Neo4j es genial. El lenguaje de consulta de Neo4j, Cypher, y el lenguaje de consulta de JanusGraph, Gremlin, son semánticamente idénticos, simplemente se escriben de manera diferente, por lo que aprenderá los conceptos de cualquier manera.

Para construir un sistema real, cualquiera de los dos podría funcionar (y hay muchos exitosos siguiendo ambos enfoques).

Para lo que elija, querrá pensar si desea estar estratégicamente vinculado a un solo proveedor (Neo4j) o en una comunidad más amplia basada en estándares. Existe un nivel de comodidad al elegir al líder del mercado con el producto más maduro: Neo4j. Y hay un nivel de comodidad al elegir estándares abiertos con un fuerte apoyo de la industria: JanusGraph. Entonces, en mi opinión, no hay una respuesta “incorrecta”: las personas que usan cualquiera de los dos son felices y tienen éxito. Pero como tienes que elegir, tendrás que pensar con cuál te sientes más cómodo a largo plazo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *