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.
- Cómo vincular Word con Excel
- ¿Cuáles son las ventajas y desventajas de utilizar un sistema de automatización de flujo de trabajo integrado?
- ¿Pueden los programas de seguimiento de anuncios saltar de un navegador a otro si una persona usa dos a la vez?
- Cómo agregar un número brasileño de 10 dígitos a WhatsApp
- ¿Qué software se usa para los juegos de píxeles?
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.