¿Qué es GaussDB(DWS)?
GaussDB(DWS) es una base de datos de procesamiento de datos en línea que se ejecuta en la Huawei Cloud infraestructura para proporcionar un servicio de base de datos analítico escalable, totalmente administrado y listo para usar, liberándole de la gestión y supervisión complejas de bases de datos. Es un servicio en la nube nativo basado en el almacén de datos convergentes GaussDB de Huawei, y es totalmente compatible con el estándar de ANSI SQL 99 y SQL 2003, así como con los ecosistemas PostgreSQL y Oracle. GaussDB(DWS) proporciona soluciones competitivas para el análisis de big data a nivel de PB en varias industrias.
Arquitectura
GaussDB(DWS) emplea la arquitectura de shared-nothing y el motor de procesamiento masivamente paralelo (MPP), y consiste en numerosos nodos lógicos independientes que no comparten los recursos del sistema, tales como CPUs, memoria y almacenamiento. En una arquitectura de sistema de este variante, los datos de servicio se almacenan por separado en numerosos nodos. Las tareas de análisis de datos se ejecutan en paralelo en los nodos donde se almacenan los datos. El procesamiento de datos masivamente paralelo mejora significativamente la velocidad de respuesta.
- Capa de aplicación
Las herramientas de carga de datos, las herramientas de extracción, transformación y carga (ETL), las herramientas de inteligencia empresarial (BI), así como las herramientas de análisis y excavación de datos, se pueden integrar con GaussDB(DWS) a través de estándar de APIs. GaussDB(DWS) es compatible con el ecosistema de PostgreSQL, y la sintaxis SQL es compatible con Oracle, MySQL, y Teradata. Las aplicaciones pueden migrarse sin problemas a GaussDB(DWS) con pocos cambios.
- API
Las aplicaciones pueden conectarse a GaussDB(DWS) a través del estándar de Java Database Connectivity (JDBC) 4.0 y Open Database Connectivity (ODBC) 3.5.
- GaussDB(DWS) (MPP cluster)
Un clúster de GaussDB(DWS) contiene nodos del mismo variante en la misma subred. Estos nodos proporcionan conjuntamente servicios. Los nodos de datos (DNs) en un clúster almacenan datos en discos. Los coordinadores (CNs) reciben solicitudes de acceso desde las aplicaciones y devuelven los resultados de la ejecución a los clientes. Además, un CN divide y distribuye tareas a los DNs para el procesamiento en paralelo.
- Copia de seguridad automática de datos
Las instantáneas de clúster se pueden hacer una copia automáticamente en Object Storage Service (OBS) de nivel EB, lo que facilita la copia de seguridad periódica del clúster durante las horas no pico y garantiza la recuperación de datos después de que se produzca una excepción de clúster.
Una instantánea es una copia de seguridad completa de GaussDB(DWS) en un punto de tiempo específico, incluidos los datos de configuración y los datos de servicio de un clúster.
- Cadena de herramientas
Se proporcionan la herramienta de carga de datos en paralelo General Data Service (GDS), la herramienta de migración de sintaxis SQL Database Schema Convertor (DSC) y la herramienta de desarrollo SQL Data Studio. La O&M del clúster se puede supervisar en una consola.
Arquitectura de clústeres lógicos
Figura 2 muestra la arquitectura lógica de un clúster de GaussDB(DWS). Para obtener más información sobre las instancias, consulte Tabla 1.
Nombre |
Descripción |
Comentarios |
---|---|---|
Global Transaction Manager (GTM) |
Genera y mantiene la información única globalmente, como el ID de la transacción, la instantánea de la transacción y la marca de tiempo. |
El clúster incluye solo un par de GTMs: un GTM primario y un GTM de reserva. |
Workload Manager (WLM) |
WLM controla la asignación de recursos del sistema para evitar la congestión del servicio y el bloqueo del sistema como resultado de una carga de trabajo excesiva. |
No necesita especificar los nombres de los hosts en los que se van a implementar WLMs, ya que el programa de instalación instala automáticamente un WLM en cada host. |
Coordinator (CN) |
Un CN recibe solicitudes de acceso desde aplicaciones y devuelve resultados de ejecución al cliente; divide tareas y asigna fragmentos de tarea a diferentes DNs para procesamiento paralelo. |
Los CNs en un clúster tienen funciones equivalentes y devuelven el mismo resultado para la misma instrucción DML. Se pueden añadir equilibradores de carga entre CNs y aplicaciones para garantizar que los CNs sean transparentes para las aplicaciones. Si un CN es defectuoso, el equilibrador de carga conecta sus aplicaciones a otro CN. Los CNs necesitan conectarse entre sí en la arquitectura de transacciones distribuidas. Para reducir la carga pesada causada por hilos excesivos en GTMs, no se deben configurar más de 10 CN en un clúster. GaussDB(DWS) maneja la carga de recursos globales en un clúster usando el Central Coordinator (CCN) para la gestión de carga dinámica adaptativa. Cuando se inicia el clúster por primera vez, el CM selecciona el CN con el ID más pequeño como el CCN. Si el CCN es defectuoso, CM lo reemplaza por uno nuevo. |
Datanode (DN) |
Un DN almacena datos de servicio por columna o fila o en el modo híbrido, ejecuta tareas de consulta de datos y devuelve los resultados de ejecución a los CNs. |
Un clúster consta de múltiples DNs y cada DN almacena parte de los datos. Si no hay ninguna solución de HA disponible para los DNs, no se puede acceder a los datos cuando un DN es defectuoso. |
Almacenamiento |
Funciona como recursos de almacenamiento local del servidor para almacenar datos de forma permanente. |
- |
Los DNs de un clúster almacenan datos en discos. Figura 3 describe los objetos en cada DN y las relaciones entre ellos lógicamente.
- Una base de datos gestiona varios objetos de datos y está aislada de otras bases de datos.
- Un segmento de archivo de datos almacena datos en una sola tabla. Una tabla que contiene más de 1 GB de datos se almacena en varios segmentos de archivo de datos.
- Una tabla pertenece solo a una base de datos.
- Un bloque es la unidad básica de gestión de bases de datos, con un tamaño predeterminado de 8 KB.
Los datos se pueden distribuir en modo de replicación, round-robin o hash. Puede especificar el modo de distribución durante la creación de la tabla.