with tutorial source open generally for databases cases built are graph nosql neo4j relationships titan

graph - source - neo4j tutorial



alguien intentó neo4j vs titan-pros y contras (2)

Es genial verte explorar bases de datos de gráficos. Hablaré a la parte de Neo4j de su pregunta:

Más de 30 de los Global 2000 ahora usan Neo4j en producción para una amplia gama de casos de uso, ¡muchos de ellos sorprendentes, incluso para nosotros! (¡Y nosotros inventamos el gráfico de propiedades!)

Se puede encontrar una lista parcial de clientes a continuación: www.neotechnology.com/customers

Neo4j ha estado en producción 24x7 durante 10 años, y aunque el producto ha evolucionado significativamente desde entonces, está construido sobre una base muy sólida.

La mayoría de las compañías que se mueven para graficar las bases de datos, hablando de Neo4j, que es lo que sé, lo hacen porque a) sus RDBMS no fueron capaces de manejar el alcance y la escala de sus requisitos de consulta conectados, y / o ) la inmensa conveniencia y velocidad que proviene de los dominios de modelado que son un gráfico (social, red y administración de centros de datos, fraude, portafolios, identidad, etc.) como un gráfico, no como tablas.

Para las patadas, puede encontrar una serie de charlas con los clientes aquí, de las cuatro (pronto cinco) conferencias GraphConnect que se llevaron a cabo este año en las principales ciudades del mundo:

http://watch.neo4j.org/

Si está en Londres, el último se llevará a cabo la próxima semana: http://www.graphconnect.com

Encontrará un resumen a continuación de algunas de las tecnologías detrás de Neo4j, con algunos ejemplos de clientes. Para hablar muy directamente sobre su pregunta sobre la escala: Neo4j tiene una arquitectura única diseñada para maximizar el tiempo de respuesta de las consultas y la previsibilidad de las consultas, permitiendo la escala horizontal horizontal de forma que cada instancia pueda acceder al gráfico sin tener que pasar por la red. (Necesita más rendimiento de lectura. Solo agregue instancias). Resulta que este enfoque funciona bien para el 95% de los gráficos que existen, incluidos algunos clientes de producción que tienen más de la mitad del gráfico social de Facebook ejecutándose en un solo clúster de Neo4j. respaldando un sitio web "siempre encendido" 24x7.

www.neotechnology.com/neo4j-scales-for-the-enterprise/

Uno de los servicios de entrega postal más grandes del mundo hace todo su enrutamiento de paquetes en tiempo real con Neo4j. Los ferrocarriles están construyendo sistemas de enrutamiento en Neo4j. Algunos de los clientes más grandes del mundo los están utilizando para gestión de recursos humanos y datos, enrutamiento de rutas alternativas, administración de redes y centros de datos, detección de fraudes en tiempo real, bioinformática, etc.

El lenguaje de consulta Cypher de Neo4j es el único lenguaje de consulta declarativo creado expresamente para gráficos de propiedades. Toma todas las lecciones aprendidas de nuestra API nativa de Java de 13 años (que fue la base de Blueprints, que algunas de las otras bases de datos de gráficos han adoptado desde entonces) y las envuelve en un lenguaje de próxima generación. Cypher es una excelente forma de aprender gráficos y desarrollar aplicaciones; y siempre existe la API nativa de Java si tiene necesidades especiales o valor de rendimiento "bare metal" (es decir, rendimiento inferior a milisegundos frente a milisegundos de un solo dígito) por encima de lo conveniente. Neo4j está construido desde cero para soportar gráficos, y tiene un motor de almacenamiento de gráficos que está construido para almacenar gráficos; a diferencia de algunas de las adiciones más recientes al ecosistema de base de datos de gráficos, que están diseñadas como bibliotecas de gráficos sobre bases de datos que no son de gráficos, y están sujetas a algunas de las limitaciones inherentes. (por ejemplo, FlockDB, porque está basado en MySQL, será muy lento para cualquier cosa mayor a un salto).

Definitivamente no dude en ponerse en contacto con el equipo de Neo si necesita algo más específico. ¡Estaremos más que felices de ayudarte! http://info.neotechnology.com/ContactUs.html

¡Buena suerte!

¿Alguien puede proporcionar o señalar una buena comparación entre Neo4j y Titan? Una cosa que puedo ver es en términos de escala: Titan es escalable y requiere un almacén de datos escalable subyacente como cassandra. Neo4j es solo para HA y tiene su propia base de datos integrada. ¿Algún otro pros y contra? Cualquier caso de uso específico. (¿Se está utilizando Titan en algún lugar actualmente?)

También tengo el siguiente enlace: http://architects.dzone.com/articles/16-graph-databases-compared que ofrece una comparación objetiva para las bases de datos de gráficos, pero no mucho sobre los pros y los contras entre Neo4j y Titan.


Tenemos un gráfico social en el que en un día agregamos casi 1 millón de nodos y el doble de bordes. Comenzamos con el gráfico neo4j porque sí, es muy rápido debido a que su almacenamiento está en la misma máquina en la que se ejecuta el motor gráfico. Pero a continuación están las experiencias que nos gustaría compartir con usted acerca de neo4j.

  1. No es adecuado para la consulta en tiempo real. Tenemos una estructura social como Twitter. Tenemos que mostrar las últimas 20 actividades (y sus actividades asociadas) de todos los usuarios que un usuario sigue en su línea de tiempo. Tenemos algunos usuarios que siguen a más de 1000 usuarios. La consulta de gremlin que escribimos para esto (si está interesado, podemos compartir la consulta de gremlin) produjo realmente tanto GC que un servidor con 8 CPU y 48 GB de RAM se congelaba y tuvimos que reiniciar el servidor para volver a conectarse. .
  2. Muchas veces se observó una partición de red.
  3. No hay un índice céntrico de vértices que sea muy necesario en la base de datos graoh.

En definitiva, nos hemos desvanecido tanto con el rendimiento del servidor con la consulta de gremlin que tuvimos que cambiar la base de datos a titan.

En titan estamos obteniendo un rendimiento razonable y también escalar es muy fácil ya que estamos usando cassandra como almacenamiento de back-end. Pero ten en cuenta que ... usar gremlin aquí tampoco es una buena idea ya que la consulta multiget es muy fea y sin multigeno su consulta se vuelve muy lenta.