Autor: Ying
Tabla de contenido
1. Antecedentes
-
¿Qué es una base de datos de grafos?
Una base de datos de gráficos (GDB) es una base de datos que utiliza una estructura de gráfico para consultas semánticas y utiliza nodos, bordes y atributos para representar y almacenar datos.
-
¿Cuál es la diferencia entre una base de datos gráfica y una base de datos relacional?
-
método de modelado
Las bases de datos de gráficos utilizan estructuras de gráficos para representar y almacenar datos. Los gráficos se componen de nodos, bordes y atributos, que pueden reflejar intuitivamente la relación entre entidades. Las bases de datos relacionales utilizan tablas bidimensionales para almacenar datos y la relación entre tablas se establece a través de claves primarias y externas, lo que requiere un mayor nivel de abstracción.
-
lenguaje de consulta
Las bases de datos de gráficos utilizan lenguajes de consulta de gráficos especializados, como Cypher y Gremlin, que pueden limitar las condiciones de consulta de una manera más natural, lo que facilita la expresión de los requisitos de consulta. Las bases de datos relacionales utilizan el lenguaje de consulta SQL y, para las consultas Join relacionales de varias capas, las declaraciones son muy complejas e ineficaces.
-
Capacidad de consulta de relaciones complejas
Las bases de datos de gráficos utilizan entidades y relaciones como unidades básicas y son especialmente adecuadas para consultar y analizar relaciones complejas diversas y de varios niveles; las bases de datos relacionales se ven abrumadas en las consultas de relaciones complejas, especialmente cuando se trata de asociaciones de varias tablas o consultas recursivas.
-
tamaño de datos
La implementación de la base de datos de gráficos puede basarse en el almacenamiento KV, como Titan (Janus), HugeGraph y otras bases de datos de gráficos, que pueden almacenar de manera eficiente y conveniente miles de millones o miles de millones de datos; las bases de datos relacionales a esta escala deben llevar a cabo complejas subbases de datos y diseño de subtabla, de lo contrario no se puede hacer en absoluto.
-
Flexibilidad y Agilidad
Las bases de datos de gráficos son intrínsecamente flexibles y escalables, y se pueden agregar nuevos bordes, nodos, etiquetas y subgráficos a las estructuras de gráficos existentes sin interrumpir las funciones de consulta y aplicación existentes. Las bases de datos relacionales requieren operaciones de gestión costosas, como los cambios de esquema.
-
-
¿Cuáles son las ventajas de la base de datos de gráficos AgensGraph?
AgensGraph es una nueva generación de base de datos de gráficos multimodelo basada en PostgreSQL, que puede admitir tanto el modelo de gráfico como el modelo relacional, así como el modelo de documento y el modelo KV.
- Proporciona un entorno de análisis gráfico donde los usuarios pueden escribir, editar y ejecutar consultas SQL y Cypher al mismo tiempo para lograr un procesamiento de consultas híbrido.
- Con la compatibilidad con PostgreSQL y las extensiones de PostgreSQL, puede ayudar a los usuarios de PostgreSQL a deshacerse del dolor de la migración de datos y desarrollar fácilmente servicios que brinden análisis de datos avanzados.
- Admite funciones de nivel empresarial, como transacciones ACID, alta disponibilidad, almacenamiento distribuido y optimización de consultas.
- Puede aprovechar otras funciones de PostgreSQL, como PostGIS o el aislamiento de transacciones de la propia base de datos.
2. Preparación del entorno
Sistema operativo/Software | Versión | enlace de descarga | describir |
---|---|---|---|
CentOS | 7.6 | Dirección de descarga espejo de CentOS 7.6 | CentOS 7.6 es la séptima distribución de CentOS Linux 7, lanzada en noviembre de 2018. Es una plataforma estable, manejable y predecible basada en el código fuente de Red Hat Enterprise Linux 7.6. Admite múltiples arquitecturas, incluidas x86_64, aarch64, ppc64le, s390x, etc. |
Yukon_2.0-Agensgraph | 2.0 | Dirección de descarga Yukon_2.0-Agensgraph | Admite la capacidad de almacenamiento de datos gráficos, realiza el almacenamiento integrado de gráficos y espacio |
AgensGraph | 2.13 | Dirección de descarga de AgensGraph 2.13.0 | AgensGraph 2.13 es una base de datos de gráficos multimodelo de próxima generación, lanzada en octubre de 2022. Se basa en PostgreSQL, una base de datos relacional confiable de código abierto que admite modelos de datos relacionales y de gráficos, lo que permite a los desarrolladores integrar modelos de datos relacionales tradicionales y modelos de datos de gráficos flexibles en una base de datos. AgensGraph es compatible con ANSI-SQL y openCypher, y puede integrar declaraciones SQL y Cypher en una consulta |
3. Proceso de instalación
3.1 Configuración del entorno del sistema operativo
-
Comprobar el nombre de host actual
sudo vim /etc/hostname
- Si el nombre de host actual es localhost.localdomain , modifíquelo; de lo contrario, la instalación posterior de Yukon puede generar una excepción. Después de modificar el nombre de host, ejecute el siguiente comando para cargar el nuevo nombre de host
sudo systemctl restart systemd-hostnamed
- Si el nombre de host actual es localhost.localdomain , modifíquelo; de lo contrario, la instalación posterior de Yukon puede generar una excepción. Después de modificar el nombre de host, ejecute el siguiente comando para cargar el nuevo nombre de host
-
Verifique el estado del firewall del sistema actual, que se puede deshabilitar directamente para mayor comodidad, de lo contrario, no se puede acceder a la base de datos de forma remota más adelante
sudo systemctl status firewalld.service
sudo systemctl stop firewalld.service sudo systemctl status firewalld.service
sudo systemctl disable firewalld.service
Nota: También puede especificar el puerto de la base de datos de gráficos abiertos sin deshabilitar el firewall. Se recomienda Baidu para comandos de operación específicos, que no se explicarán en detalle aquí.
3.2 Instalar la base de datos de gráficos AgensGraph 2.13.0
-
La instalación de la base de datos de gráficos AgensGraph depende del entorno
sudo yum install -y gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison
-
Descomprima el paquete de instalación de la base de datos de gráficos AgensGraph e ingrese al directorio
tar -zxvf agensgraph-2.13.0.tar.gz
-
Configurar la base de datos de gráficos AgensGraph
./configure --prefix=/home/centos
-
Compile e instale la base de datos de gráficos AgensGraph
make make install
-
Configurar las variables de entorno de la base de datos de gráficos de AgensGraph
-
Editar archivo ~/.bashrc
vim ~/.bashrc
-
Agregue la configuración del entorno AgensGraph en el archivo ~/.bashrc
export AGHOME=/home/centos export AGDATA=$AGHOME/data export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$AGHOME/bin:$AGHOME/lib export PGDATA=$AGDATA
-
Aplicar la configuración del entorno AgensGraph
source ~/.bashrc
-
-
Inicializar la base de datos de gráficos AgensGraph
initdb -D $AGDATA
-
Ejecute el comando de inicio de la base de datos de gráficos AgensGraph después de que se complete el proceso de instalación
ag_ctl -D $AGDATA -l logfile start ag_ctl -D $AGDATA -l logfile status
-
Modificar la configuración de acceso remoto de la base de datos de gráficos AgensGraph después de cerrar la base de datos de gráficos AgensGraph
-
Deje de ejecutar la base de datos de gráficos AgensGraph
ag_ctl -D $AGDATA -l logfile stop
-
Ingrese al directorio de configuración de la base de datos de gráficos AgensGraph
cd /home/centos/data/ vim postgresql.conf vim pg_hba.conf
-
Modifique el archivo de configuración postgresql.conf
-
Modifique el archivo de configuración pg_hba.conf
-
3.3 Instale el complemento Yukon_2.0-AgensGraph
-
Descomprima el paquete de instalación de Yukon_2.0-Beta-Agensgraph_2.13-Centos_7.6.tar.gz e ingrese al directorio de instalación de Yukon
tar -zxvf Yukon_2.0-Beta-Agensgraph_2.13-Centos_7.6.tar.gz cd yukon
-
Instale el complemento Yukon
sh install -i
-
Configurar la biblioteca de vínculos dinámicos de la que depende Yukon
-
Edite el archivo de configuración /etc/ld.so.conf
sudo vim /etc/ld.so.conf
-
Agregue el siguiente contenido de configuración
/home/centos/lib
-
Ejecute el comando ldconfig después de guardar y salir
sudo ldconfig
-
-
Inicie la base de datos de gráficos AgensGraph
ag_ctl -D $AGDATA -l logfile start
-
Si "FATAL: no se pudo cargar la biblioteca "/home/centos/lib/postgresql/postgis-3.so": libgeos_c.so.1: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio, aparece el mensaje de excepción durante el inicio
-
Vuelva a ejecutar el siguiente comando para corregir
source ~/.bashrc sudo ldconfig
-
4. Tutoría
-
Nuevo Usuario
psql -d postgres CREATE USER supermap WITH SUPERUSER password 'SuperMap@123'; \q
-
Para crear un nuevo espacio de tablas, debe asegurarse de que exista el directorio del espacio de tablas. Si no existe, cree manualmente el directorio correspondiente y luego ejecute el siguiente comando
psql -d postgres -U supermap -w 'SuperMap@123' CREATE TABLESPACE supermapYukonspace LOCATION '/home/centos/data/supermap';
-
nueva base de datos
CREATE DATABASE supermap ENCODING='UTF8' TABLESPACE=supermapYukonspace; \q
-
Nuevo esquema
psql -d supermap -U supermap -w 'SuperMap@123' CREATE SCHEMA supermap;
-
Agregue la extensión Yukon en el nuevo esquema
CREATE EXTENSION postgis WITH SCHEMA supermap; CREATE EXTENSION postgis_raster WITH SCHEMA supermap; CREATE EXTENSION postgis_sfcgal WITH SCHEMA supermap; CREATE EXTENSION yukon_geomodel WITH SCHEMA supermap; CREATE EXTENSION yukon_geogridcoder WITH SCHEMA supermap; CREATE EXTENSION yukon_vector_pyramid WITH SCHEMA supermap;
-
nuevo mapa
CREATE GRAPH supermapgraph;
-
Use la función de mapa de conocimiento SuperMap iDesktopX para conectar la base de datos de gráficos Yukon_2.0-AgensGraph
-
Entrada de la función de mapa de conocimiento: Inicio > Gráfico
-
Configuración de parámetros de conexión
-
Después de que la conexión sea exitosa, se mostrará la barra de menú del mapa de conocimiento y el administrador de mapa de visualización predeterminado
-
Una vez que iDesktopX se conecta con éxito a Yukon, puede usar las capacidades relacionadas con el mapa de conocimiento proporcionadas por iDesktopX para crear un mapa de conocimiento adecuado para ayudar en el análisis del proyecto y la toma de decisiones.