Revolución de la base de datos: el almacén de datos en la nube de HashData logra un rendimiento en tiempo real a nivel de transacciones

Del 16 al 18 de agosto se celebró en Beijing la 14ª Conferencia sobre tecnología de bases de datos de China (DTCC 2023). Chen Yixian, arquitecto senior de soluciones de Kuker Data, pronunció un discurso titulado "Exploración de las capacidades de TP del almacén de datos distribuido: HashData UnionStore" en la sesión especial de "Innovación técnica del kernel de base de datos", presentando el uso de la idea de Log por parte de HashData. es una base de datos en almacenes de datos distribuidos Mejorar las soluciones técnicas y los planes de desarrollo futuros en la transformación del rendimiento de TP.

Puntos destacados del discurso:

1. En el contexto de la empresarialización de datos, las empresas plantean requisitos cada vez mayores para las capacidades en tiempo real de los almacenes de datos, y OLAP y OLTP se integrarán aún más.

2. La arquitectura de separación de almacenamiento e informática se convertirá en el requisito básico de la futura arquitectura de datos. El concepto central de la arquitectura nativa de la nube es separar el almacenamiento y la informática y utilizar el almacenamiento de objetos para guardar datos globales. Todos los grupos informáticos no tienen estado y se puede utilizar bajo demanda. También puede ser compatible con varios motores informáticos para satisfacer las necesidades de diversas empresas.

3. Después de desacoplar el almacenamiento y la informática, es posible utilizar diferentes motores para procesar datos por separado: el concepto de registro como base de datos puede optimizar en gran medida la capacidad OLTP del almacén de datos. Al eliminar la operación de escribir datos aleatoriamente y utilizar el registro Los datos como portador intermediario, reducen las operaciones complejas de bloqueo y sincronización, mejoran en gran medida la concurrencia y reducen el costo del acceso aleatorio.

La siguiente es la transcripción del discurso (extracto):

En los últimos años, con la evolución de la construcción de TI empresarial desde la informatización a la digitalización, la demanda empresarial de aplicaciones de datos también ha pasado por tres etapas:

  • En la etapa 1.0, se centra en consultas y estadísticas de datos, y construye un sistema correspondiente sobre esta base para servir aplicaciones a nivel de departamento.

  • En la etapa 2.0, las empresas integran datos de aplicaciones remotas a través de almacenes de datos y luego los procesan aún más para realizar inteligencia empresarial y brindar soporte para la toma de decisiones empresariales.

  • Con el desarrollo de la tecnología de big data, las aplicaciones de datos empresariales han entrado en la etapa 3.0. En esta etapa, las aplicaciones de datos son cada vez más abundantes y pueden servir mejor a todos los empleados de la empresa.

Las tres etapas anteriores todavía se encuentran en la etapa de informatización y los datos son solo un subproducto generado en la operación del sistema empresarial. A medida que aumenta el valor derivado de los datos empresariales, las empresas deben considerar cómo gestionar mejor los activos de datos antes de diseñar sistemas.

En este contexto, el sistema de aplicaciones se ha convertido en un medio para mapear el mundo físico y el mundo digital. Al mismo tiempo, con la madurez de la tecnología de inteligencia artificial, las futuras aplicaciones de datos empresariales serán cada vez más inteligentes y automatizadas, capaces de optimizar automáticamente las estrategias operativas y los procesos comerciales de la empresa, y lograr capacidades comerciales ágiles.

Con el desarrollo del negocio de datos, se plantean mayores requisitos para la puntualidad, precisión y coherencia de la plataforma de datos, y OLTP y OLAP se integrarán aún más.

Un intento de mejorar las capacidades OLTP de los almacenes de datos distribuidos MPP tradicionales

En la actualidad, los almacenes de datos MPP se dividen principalmente en dos rutas técnicas para mejorar las capacidades OLTP: la primera es cambiar de 2PC a distribución directa en escenarios de aplicaciones TP, reduciendo la espera de instancia en la etapa de preparación y mejorando así el rendimiento de la adición de datos únicos. , supresión y modificación. La desventaja de este método es que a medida que aumenta la carga de análisis de datos, aumentará la sobrecarga del sistema y provocará retrasos relativamente grandes.

Otra forma es utilizar una tabla de almacenamiento de filas para agregar, eliminar y modificar un único registro para mejorar el rendimiento de la simultaneidad.

La base de datos de arquitectura MPP distribuida tradicional distribuirá tareas a múltiples servidores y nodos en paralelo y, una vez completado el cálculo, los resultados se devolverán y resumirán para completar el análisis y procesamiento de datos masivos. A medida que el negocio crece, las empresas necesitan agregar servidores para mejorar las capacidades de procesamiento de datos de todo el clúster.

Debido al estrecho acoplamiento entre computación y almacenamiento en la arquitectura MPP distribuida tradicional, cuando un solo clúster alcanza una cierta escala (generalmente 200), incluso si se agregan nuevos nodos informáticos, el rendimiento general del clúster estará sujeto a los nodos antiguos. , no sólo no aumentará, sino que parecerá disminuir.

La arquitectura de separación de almacenamiento e informática se convertirá en el requisito básico de la futura arquitectura de datos

La aparición de la tecnología de "separación de almacenamiento y cálculo" ha resuelto bien los "puntos débiles" de la base de datos de la arquitectura MPP tradicional. El concepto central de la arquitectura nativa de la nube es la separación del almacenamiento y la computación. El almacenamiento de objetos se utiliza para guardar datos globales. Todos los clústeres de computación no tienen estado y se pueden usar bajo demanda. También es compatible con varios motores de computación para satisfacer las necesidades. de diversos negocios. .

imagen

Figura 1: Diagrama esquemático de la separación de depósito y cálculo de HashData en un gran banco estatal

Tomando como ejemplo el almacén de datos en la nube de HashData, varios clústeres comparten metadatos unificados y almacenamiento de datos unificados, y el clúster de metadatos unificado proporciona una conexión dinámica con el catálogo de activos de datos. Cuando los datos subyacentes cambian, el catálogo de activos de datos se puede actualizar sincrónicamente, proporcionando las capacidades de soporte correspondientes para las operaciones de activos de datos empresariales, el gobierno de datos y la gestión de la seguridad de los datos.

Al mismo tiempo, gracias a la arquitectura de separación de almacenamiento y computación, HashData evita la re-agrupación lógica de datos mediante hash consistente, evita la re-distribución física de datos a través del almacenamiento compartido y puede realizar la expansión y contracción automática de segundo nivel del clúster. .

Innovación tecnológica de HashData UnionStore

Después de desacoplar el almacenamiento y el cálculo, es posible utilizar diferentes motores para procesar datos por separado: "El registro es una base de datos" (el registro es una base de datos) es una idea de arquitectura de base de datos basada en registros que puede mejorar el rendimiento de los sistemas OLTP.

El registro es una base de datos que elimina la operación de escritura aleatoria de datos, el clúster informático solo envía el registro WAL al clúster HashData UnionStore, y el clúster UnionStore procesa los datos del registro y los reproduce para generar nuevos datos de página, lo que reduce las operaciones complejas de bloqueo y sincronización. Puede mejorar en gran medida la capacidad de concurrencia y reducir el acceso aleatorio.

El registro de la base de datos mejora el rendimiento de TP del almacén de datos en los siguientes aspectos:

  • Reducir el acceso aleatorio al disco: los sistemas de bases de datos tradicionales necesitan escribir datos en el disco en archivos de datos, lo que puede generar un acceso aleatorio frecuente al disco y afectar negativamente el rendimiento. La base de datos de registro agrega todas las operaciones de cambio de datos al registro, lo que puede convertir las operaciones de escritura en disco en operaciones de escritura secuenciales continuas, lo que reduce en gran medida el acceso aleatorio al disco y mejora el rendimiento.

  • Confirmación asincrónica: los sistemas de bases de datos tradicionales necesitan escribir datos en el disco cuando se confirma cada transacción, lo que introduce una alta latencia. La base de datos de registros adopta un método de envío asincrónico, es decir, primero escribe la operación de cambio de datos en el registro y luego escribe de forma asincrónica las operaciones en el registro en el disco en lotes. Este enfoque puede reducir la cantidad de escrituras y retrasos en el disco, mejorando aún más el rendimiento.

  • Optimización del control de concurrencia: las bases de datos de registros pueden utilizar las características de las operaciones de transacciones de registros de registros para optimizar el control de concurrencia. Se pueden escribir varias transacciones en el registro simultáneamente sin operaciones complejas de bloqueo y sincronización. Esta optimización del control de concurrencia puede mejorar el rendimiento de concurrencia y el rendimiento del sistema.

  • Optimización por lotes : las bases de datos de registros generalmente combinan múltiples operaciones en operaciones por lotes para su procesamiento. Mediante operaciones por lotes, se puede reducir la cantidad de escrituras en el disco, lo que mejora aún más el rendimiento. Por ejemplo, combinar varias operaciones de actualización en una sola operación por lotes reduce la sobrecarga y la cantidad de accesos al disco para cada operación.

  • Optimización de reproducción: las bases de datos de registros pueden restaurar y reconstruir el estado de la base de datos mediante la reproducción de registros. Cuando se inicia el sistema, los cambios de datos se pueden aplicar a la base de datos en orden reproduciendo las operaciones en el registro, para restaurar rápidamente el estado consistente de la base de datos sin realizar una gran cantidad de operaciones de acceso aleatorio y recuperación de datos.

imagen

Figura 2: Diagrama de arquitectura de HashData UnionStore

A nivel de kernel, HashData optimiza el clúster UnionStore de la siguiente manera:

Servicio Wal : en la base de datos, WAL es una tecnología de almacenamiento persistente que puede garantizar que la base de datos no pierda datos cuando se reinicie o falle. Según el mecanismo WAL, antes de que la base de datos escriba datos, primero escribirá un registro para registrar la información de los datos escritos. Para garantizar la confiabilidad del registro después de la persistencia, el registro generalmente guarda tres copias. El nodo líder es responsable de recibir la solicitud del clúster informático y envía el registro al nodo seguidor para su persistencia local. Una vez que todos los nodos hayan completado la persistencia del registro, el nodo líder regresará al clúster informático.

Safekeeper inicia el hilo Wal Writer para cada inquilino, que es responsable de la persistencia del registro, el monitoreo del estado y la elección. El líder de Safekeeper iniciará un hilo Wal Syncer para cada seguidor, que es responsable de sincronizar registros y enviar latidos.

Servicio de página : es el principal responsable de obtener y analizar el registro persistente del Servicio Wal (líder de protección) y modificar los datos de la página reproduciendo el registro; además, también proporcionará servicios de lectura de páginas actualizados para el clúster informático.

Formulario de almacenamiento de página : Se introduce el mecanismo de instantáneas. El servicio de páginas utiliza el registro actual como el registro delta de la página y crea múltiples versiones de la página correspondiente a través del método de página base + registro delta.

Viaje en el tiempo : HashData utiliza el diseño de instantáneas del almacenamiento de datos subyacente de UnionStore, combinado con registros de rehacer, para darle al almacén de datos la capacidad de " viajar en el tiempo ". Por ejemplo, si se usa LSN 700 para leer la página 1, el servicio de página primero obtendrá la página base, luego determinará el rango de registro delta de acuerdo con LSN 700 y luego aplicará los registros a la página base v2 para generar la versión de página correspondiente. y volver.

imagen

Figura 3: Diagrama de ejemplo de viaje en el tiempo

Time Travel se puede utilizar ampliamente en los siguientes escenarios, lo que proporciona una gran comodidad para la operación y gestión de bases de datos:

  • Restauración de objetos de base de datos : al rastrear la versión de la página y el LSN, los datos se pueden restaurar en cualquier momento. La tabla, el Shcema y la biblioteca eliminados por error pueden restaurar directamente los datos al momento anterior al mal funcionamiento.

  • Consultar datos históricos : puede consultar datos en cualquier momento, lo cual es simple y rápido. Obtenga el historial de cambios y las estadísticas incrementales de los datos en un determinado período de tiempo para el análisis de decisiones; por ejemplo, a través del almacenamiento de datos CDC, puede seleccionar directamente el punto temporal de los datos estadísticos sin crear una tabla con cremallera.

  • Clonación de datos históricos : cree una copia de los datos en cualquier momento para ayudar en el entrenamiento del modelo de datos. Cree múltiples copias de datos basadas en los resultados del entrenamiento en un momento determinado, use diferentes parámetros para el entrenamiento y compare los resultados del entrenamiento.

imagen

Figura 4: Plataforma de datos HTAP de arquitectura unificada nativa de la nube de HashData

A través de las innovaciones y optimizaciones técnicas anteriores, HashData podrá admitir escenarios de aplicaciones como datos que se ejecutan en lotes , computación en streaming , cargas mixtas y conversión eficiente de adiciones, eliminaciones y modificaciones de datos, etc. , para lograr datos casi en tiempo real. capacidades de almacén y ayudar mejor a las empresas a construir sistemas onedata.

Supongo que te gusta

Origin blog.csdn.net/m0_54979897/article/details/132367175
Recomendado
Clasificación