Ultipa | Aprende un poco sobre bases de datos gráficas en un artículo

Este artículo incluye los siguientes puntos de contenido:
· Principales clasificaciones técnicas de bases de datos
· ¿Qué es un gráfico?
· Patrón de gráficos
· Base de datos de gráficos versus base de datos relacional
· Base de datos de gráficos versus comparación de otros NOSQL
· ¡No todas las bases de datos de gráficos son iguales!

Según las predicciones de Gartner, "para 2025, la proporción de innovación en datos y análisis utilizando tecnología gráfica aumentará del 10% en 2021 al 80%, lo que promoverá en gran medida la rápida toma de decisiones por parte de las empresas".

Figura: Diagrama de clasificación de la base de datos

La imagen de arriba es la clasificación simple del autor de las principales pistas técnicas de la base de datos. También puede combinarla con mi artículo anterior [Ying Figure | ¿Un artículo para comprender cuáles son los hitos en el desarrollo de la base de datos? - Zhihu (zhihu.com) ] Miremos juntos. No es difícil descubrir que en los más de 50 años de historia del desarrollo de la tecnología de bases de datos, su vigorosa vitalidad y los desafíos que plantean las nuevas bases de datos a las tradicionales, los factores impulsores detrás de esto son principalmente la necesidad urgente de una base de datos nueva y eficiente. En la industria y el mundo académico, surge una arquitectura flexible y de alta dimensión para satisfacer el rápido crecimiento del volumen de datos (Volumen), la diversidad de tipos de datos (Volumen), el rápido aumento en la velocidad de generación de datos (Volumen) y la atención de las personas a valor de los datos (Volumen) ——Por lo tanto, podemos entender por qué GQL se ha convertido en el único estándar internacional después de SQL desde 1983. Esto también ilustra claramente la influencia y la importancia de la tecnología de bases de datos gráficas en el futuro.

Figura: Tipos de motores de bases de datos clasificados según la complejidad de los datos

Tabla 1: Análisis de 5 tipos de productos de bases de datos convencionales

Clasificación

actuación

Escalabilidad

flexibilidad

Complejidad

Base de datos de almacenamiento de valores clave

alto

alto

alto

ninguno

base de datos de documentos

alto

variable

alto

Bajo

Base de datos del almacén de columnas

alto

variable

generalmente

Bajo

base de datos gráfica

variable

alto

alto

alto

Base de datos relacional

variable

variable

Bajo

generalmente

Graph Database es una base de datos NoSQL implementada en base a la teoría de grafos. Puede almacenar información de atributos de entidades e información de relaciones entre entidades. Tiene modelado simple, rendimiento sólido, funciones de búsqueda enriquecidas y gran escalabilidad.

Un gráfico se compone de vértices y aristas que conectan cada par de vértices:

Punto (nodo): Se llama vértice (Vertex) o punto (nodo), y también se puede llamar entidad (Entidad).

Borde: un borde que conecta dos puntos (nodo). A menudo también se le llama relación (relación, relación) en la categoría de gráfico de conocimiento.

Por ejemplo, cuando buscas la relación entre Leonardo da Vinci y el Louvre, puedes correlacionar un diagrama muy simple entre personas y objetos: la "teoría de los seis grados de separación" se originó a partir del diagrama.

Renacimiento (figura representativa) - Leonardo da Vinci - (obra representativa) Mona Lisa - (colección) Museo del Louvre - Entrada de cristal de la pirámide (arquitecto) I.M. Pei - Francois I (Colección)—Mona Lisa (pintura)—Renacimiento (influencia)]

Otro ejemplo es el metro, una herramienta de transporte que utilizamos casi todos los días en nuestra vida diaria. Si una estación se considera un "punto" y dos estaciones adyacentes están conectadas por "bordes", esto también se puede conectar en un "gráfico" típico.

Podemos extendernos infinitamente con nuestro propio pensamiento y, al conectar nodos con nodos, podemos construir directamente atributos y relaciones en el mundo real a través de datos gráficos al alcance de nuestra mano [Para obtener más información, consulte la biblioteca | ¿Qué es un gráfico ? 】.

Hay tres tipos de modos de gráficos, a saber, gráficos de atributos, hipergráficos y tripletes, porque los datos del gráfico deben almacenarse en una base de datos de gráficos específica antes de que finalmente puedan implementarse en un archivo de datos específico, y este proceso naturalmente implica qué método de implementación se utiliza. para guardar datos del gráfico. Tome Ultipa Graph como ejemplo. Al igual que Nejo4, es un gráfico de propiedades (Property Graphs): el modelo de gráfico de propiedades es más fácil de entender y puede describir la mayoría de los escenarios de uso de gráficos.

¿Por qué las ventajas de las bases de datos gráficas son cada vez más destacadas? Por ejemplo, en las bases de datos relacionales tradicionales, una vez que se involucran consultas de correlación de varias tablas, la cantidad de cálculo aumenta en proporción al producto cartesiano de la cantidad de datos en la tabla. Cuanto mayor es la cantidad de datos, más correlaciones de la tabla, mayor Más complejo y menor será la eficiencia. Porque busca registros de clave primaria coincidentes en la tabla principal a través de claves externas para realizar operaciones de cálculo de búsqueda y coincidencia. Si se utiliza una relación de muchos a muchos, se debe agregar una tabla intermedia para guardar la correspondencia de clave externa entre los dos participantes. tablas relación, lo que aumenta aún más el costo de la operación de unión.

La base de datos de gráficos es muy flexible: no solo puede mostrar de manera sucinta la relación entre los datos de la estructura de las personas a través de puntos y bordes, sino que la lógica de cálculo utilizada es el modo de cálculo (consulta) de asociación de vecinos más cercanos, que tiene una baja complejidad computacional y una eficiencia exponencialmente mejorada. . Vea la imagen a continuación.

Figura: Diferencias arquitectónicas entre bases de datos gráficas y bases de datos relacionales

Por ejemplo, si utiliza una base de datos relacional y una base de datos gráfica para realizar una penetración profunda, desde las capas 2 a 5, la diferencia de rendimiento en realidad aumenta exponencialmente. Por ejemplo, al realizar la penetración de la capa 1, es posible que no haya una diferencia esencial entre las dos. A partir de la capa 2, habrá cambios exponenciales (más de 10 veces). Ya no puede devolver ningún resultado, es decir, ha excedido el alcance computacional de la máquina y se ha detenido. (Los lectores interesados ​​pueden leer en detalle: La diferencia entre bases de datos gráficas y bases de datos relacionales⁴ ).

A juzgar por la cuota de mercado actual de los principales tipos de bases de datos, las bases de datos relacionales siguen siendo la corriente principal, pero esto es en el contexto del pasado cuando faltaban alternativas. Con cada vez más escenarios en los que no se pueden mantener, las bases de datos gráficas son su Las ventajas genéticas naturales se convertirán en un arma para adelantar en las curvas.

Tabla 2: Comparación de las principales bases de datos de gráficos

Nejo4j

JanusGraph

Gráfico Ultipa

Reputación

más alto

alto

generalmente

Ecosistema de código abierto

La versión comunitaria es de código abierto, pero tiene más restricciones; la versión comercial es de código cerrado:

Código abierto; compatible con el ecosistema Apache Tinkerpop, servicios en la nube proporcionados principalmente por AWS e IBM

Los servicios de nube de código cerrado son proporcionados principalmente por Ultipa Cloud

lenguaje de consulta de gráficos

Cifrar

Duendecillo

UQL

Escala de datos de soporte

La versión comunitaria está clasificada en mil millones de niveles; la versión empresarial está clasificada en más de 100 mil millones de niveles.

Nivel de diez mil millones o superior

Más de 100 mil millones de nivel

Rendimiento de escritura de datos a gran escala

La importación en línea es lenta

Más lento

Importación rápida en línea

Rendimiento de consultas de datos a gran escala

Rápido y más estable

más rápido

Rápido y súper estable

Perfección funcional

Completo

Completo

Completo

Herramienta de importación de datos

Admite importación en línea CSV; admite formatos enriquecidos

No se proporciona soporte

Ultipa Transporter admite la ejecución en todas las plataformas, admite una variedad de formatos y proporciona capacidades de importación de datos para archivos como TSV, CSV, Mysql, BigQuery y capacidades de exportación CSV.

interfaz visual

Soporte, funciones ricas, soporte para modelado de datos visuales, importación, análisis, etc.

No compatible, el usuario necesita integrar una interfaz de terceros

Soporte, rico en funciones, admite conversión 2D y 3D; admite modelado, importación, análisis de datos visuales, etc.

Algoritmos gráficos integrados de uso común

Proporciona un paquete de algoritmos de instalación que proporciona una gran cantidad de algoritmos gráficos básicos.

no apoyo

Proporciona paquetes de algoritmos de instalación y tiene una rica biblioteca de algoritmos, que se puede proporcionar a los usuarios en forma de paquetes de algoritmos independientes.

Funciones básicas (agregar, eliminar, verificar y modificar gráficos de atributos, mantenimiento de planes, metadatos, transacciones, almacenamiento en caché, optimización de consultas, actualización incremental de gráficos, etc.)

apoyo

apoyo

apoyo

Transacciones ácidas

apoyo

Parcialmente compatible, dependiendo del almacenamiento backend.

apoyo

restricciones químicas

Soporte de versión comercial, también soporta Schema-Free

Compatible y también compatible con Schema-Free

Compatible y también compatible con Schema-Free

Tipo de almacenamiento de gráficos

Admite almacenamiento local, admite almacenamiento distribuido, admite almacenamiento administrado en la nube

Vuele el almacenamiento local y admita el almacenamiento distribuido

partición gráfica

apoyo

apoyo

apoyo

HA de alta disponibilidad

Soporte de versión empresarial

No se proporciona soporte

apoyo

Como sabemos por lo anterior, la razón por la que las bases de datos NoSQL se han vuelto populares es que pueden resolver los desafíos de la mayoría de los tipos de datos, colecciones de datos a gran escala, etc., pero ¿cuáles son las diferencias entre ellas (simplemente hable de clave-valor? pares y documentos) ¿Qué pasa con la comparación?

El almacenamiento de documentos es una estructura jerárquica y los datos se pueden almacenar fácilmente como una estructura de árbol. Sin embargo, debido a esto, solo puede expresar una relación subordinada de arriba a abajo, y la forma de árbol es solo una de ellas en las bases de datos de gráficos. el rendimiento es más rico. Además, la estructura de almacenamiento en árbol tendrá datos redundantes incrustados varias veces, lo que aumentará la dificultad de actualizar los datos y no garantizará la coherencia de los datos.

La base de datos clave-valor es más adecuada para aplicaciones con una pequeña cantidad de relaciones de datos, porque está organizada, indexada y almacenada en forma de pares clave-valor. Cuando la cantidad de datos es pequeña, puede reducir efectivamente la cantidad de lecturas. y escribe en el disco y tiene un alto rendimiento, pero por el contrario, una vez que la cantidad de datos es grande, el gráfico obvio puede expresar mejor la compleja relación entre los datos.

Finalmente, es importante tener en cuenta que no todas las bases de datos de gráficos son iguales. Algunas bases de datos de gráficos solo tienen capacidades de almacenamiento pero carecen de capacidades informáticas, mientras que otras pueden realizar cálculos, pero son muy ineficientes cuando se trata de migración de datos. También existen algunas bases de datos de gráficos implementadas utilizando arquitecturas NoSQL o MapReduce, pero no han optimizado total y profundamente las características de la computación de gráficos, el efecto final es que cuanto más horizontal es la distribución, menor es la eficiencia. Algunos fabricantes mueven ciegamente todos los datos a la memoria, lo que genera un aumento repentino en el uso de la memoria, lo que también crea el problema negativo de OOM frecuente y, como resultado, tiempo de inactividad. La ruta de implementación correcta es "distribución + almacenamiento e integración informática + optimización de almacenamiento multinivel + optimización de profundidad de consulta de gráficos". Hay muchos puntos de conocimiento y desafíos involucrados en las bases de datos de gráficos, sobre cómo diseñar e implementar un gráfico distribuido verdaderamente de alto rendimiento. Base de datos, los lectores interesados ​​pueden consultar ¿ Cómo implementar un sistema de base de datos de gráficos de alta concurrencia? ³. [Texto/Nezha Emma]

Supongo que te gusta

Origin blog.csdn.net/Ultipa/article/details/132584678
Recomendado
Clasificación