Bases de datos de gráficos: ¿Cuál es la ventaja única y las características de matar de GraphSQL?

Graph DB resuelve un propósito diferente y es adecuado para un conjunto diferente de problemas. Antes de entrar en detalles al respecto, me gustaría revisar los problemas de RDBMS que conducen a la necesidad de GraphDB.

en RDBMS:

Las uniones son una de las características más potentes, pero con el aumento de los datos y las consultas con autouniones (o uniones recursivas de tablas), esta operación es lenta y consume mucha memoria.

Más datos significa más lento, aunque la indexación puede reducir este dolor hasta cierto punto y retrasarlo por algún tiempo en el futuro.

Considere las consultas que se comportan como una operación de ruta, por ejemplo, encontrar (amigos de amigos)

GraphDB es adecuado para este tipo de escenarios determinados, donde la naturaleza de la consulta emula un gráfico en sí mismo,

Dónde:

  • Para datos conectados como redes sociales
  • Para estructuras complejas irregulares.

Cuándo: Almacenar todas las relaciones en el nivel de registro individual solo tiene sentido si hay mucha variación en las relaciones, de lo contrario solo se duplican las mismas cosas para cada fila,

Ventajas:

  • Sin esquema
  • Teorema de CAP: consistencia y disponibilidad
  • Graph DB es mucho más rápido y las consultas se pueden optimizar limitando el nivel de profundidad de la consulta
  • Podemos consultar patrones y realizar consultas de profundidad primero de manera más eficiente.

Los acertijos que necesitan emular una estructura compleja y / o la naturaleza de un gráfico en sus consultas (por ejemplo, encontrar un camino en un maje o un maje escaso, deberían preferir usar GraphDB, ya que GraphDB puede ser más lento para el estilo tradicional de relaciones (RDBMS), uno debe identificar cuidadosamente el área para aplicar GraphDB en el sistema y sería una mejor opción usar GraphDB solo para una parte del sistema y luego adoptar según sea necesario.