Primera opción para construir un almacén de datos en tiempo real, descifrar la tecnología de almacenamiento de datos nativa de la nube

La base de datos analíticos de Alibaba Cloud lanzó la versión básica, que redujo considerablemente el umbral para que los usuarios construyan almacenes de datos. Altamente compatible con MySQL, costo de uso extremadamente bajo y rendimiento extremadamente alto, para que las pequeñas y medianas empresas puedan construir fácilmente un conjunto de almacenamiento de datos en tiempo real para obtener el valor en línea de los datos empresariales.

La serie de productos de AnalyticDB para MySQL incluye la versión básica (versión independiente) y la versión de clúster. La versión básica proporciona servicios para un solo nodo, y la arquitectura minimalista reduce en gran medida el costo de la versión básica. La arquitectura de separación de almacenamiento y computación, la tecnología de almacenamiento mixto de filas y columnas, el método de construcción de índices livianos y el motor de computación híbrido distribuido aseguran el poderoso rendimiento de análisis de la versión básica. Puede construir un almacén de datos en tiempo real con un costo anual de menos de 10,000, sin la necesidad de establecer un equipo especial de big data, ahorrando millones de costos para las empresas.

1. Arquitectura técnica de la versión básica

La siguiente es la versión básica del diagrama de arquitectura: el conjunto está compuesto por Coordinador y Trabajador, y sus respectivas responsabilidades se presentan de la siguiente manera.

img

1.1 Coordinador: nodo de control front-end, las responsabilidades incluyen

(1) Acceso a la capa de protocolo MySQL, análisis SQL

(2) Autenticación y autenticación, que proporciona un modelo de sistema de permisos más completo y detallado, lista blanca y control de RAM a nivel de clúster, y registros de auditoría y cumplimiento de todas las operaciones de SQL.

(3) Gestión de clústeres: gestión de miembros, metadatos, consistencia de datos, sincronización de rutas, copia de seguridad y recuperación (gestión de datos y registros)

(4) Gestión de tareas asíncronas en segundo plano

(5) Gestión de transacciones

(6) Optimizador, generación del plan de ejecución

(7) Programación informática, responsable de la programación de tareas

1.2 Trabajador: nodos de almacenamiento e informática, incluidos

(1) Módulo de cálculo

El optimizado motor y optimizador de cómputo MPP + DAG distribuido ha logrado un mayor poder de cómputo complejo y capacidades de administración de carga mixta. Utilizando las ventajas de la programación flexible de recursos en la plataforma informática Alibaba Cloud, se logra una programación flexible de los recursos informáticos. El nodo de trabajo informático se puede extraer individualmente y se puede expandir en minutos o incluso segundos en respuesta a las necesidades comerciales para lograr el uso más eficiente de los recursos.

(2) módulo de almacenamiento

El módulo de almacenamiento es más liviano, con capacidades de escritura y lectura en tiempo real que transportan datos de mayor rendimiento. El rendimiento de escritura es aproximadamente un 50% más alto que las mismas especificaciones de la versión anterior. Es visible en milisegundos para satisfacer las necesidades de análisis en tiempo real del cliente.

Los nodos de almacenamiento proporcionan capacidades de copia de seguridad y recuperación completas e incrementales.Las instantáneas periódicas y los registros de los discos en la nube se sincronizarán y guardarán en OSS en tiempo real, proporcionando una mayor seguridad para los datos del usuario y ayudando a los usuarios a recuperarse al máximo cuando se producen problemas en la base de datos.

(3) Grupo de trabajadores

Los nodos de trabajo con módulos de almacenamiento se dividen en grupos de trabajo. La versión de clúster proporciona tres copias de almacenamiento. Funciona como un todo a través del protocolo de consistencia distribuida de Raft, permitiendo que algunos de los nodos de trabajo continúen proporcionando fallas. Servicios, la versión básica solo proporciona una copia única del servicio.

2. Optimizador de versión básica

El optimizador es responsable de procesar el árbol de sintaxis generado por Parser, y el costo óptimo generado por el algoritmo de optimización se proporciona al motor de cálculo. El costo del plan afecta directamente el rendimiento de la consulta, por lo que el optimizador es uno de los módulos principales de la base de datos. La versión básica utiliza el mismo optimizador potente que la versión de clúster, incluidas múltiples técnicas de optimización compuesta basadas en reglas, costos y modos.

image.png

Las consultas analíticas complejas a menudo incluyen combinaciones de varias tablas, y el orden de combinación de las tablas afecta directamente el rendimiento de la consulta. El optimizador AnalyticDB utiliza un algoritmo de optimización de orden de unión basado en la estimación de costos y la información de muestreo en tiempo real, que puede percibir la distribución de datos almacenados en el subyacente. El optimizador utiliza la función de índice completo AnalyticDB para mejorar la precisión de la estimación del factor de filtro. Para uniones complejas, el optimizador ajusta dinámicamente el orden de unión en función de la información de distribución de datos y, al mismo tiempo, evalúa el costo de la reorganización de datos para seleccionar el plan de ejecución óptimo de la dimensión del costo global.

El optimizador AnalyticDB agrega la estimación de costos y la optimización iterativa sobre la base del clásico optimizador basado en reglas (Optimizador basado en reglas) e integra el marco de optimización Cascades CBO (Optimizador basado en costos). El marco de búsqueda de CBO llamará al módulo de Aplicación de la Propiedad para generar un plan de ejecución distribuido, y luego llamará al módulo de estimación de costos para evaluar el costo de cada plan candidato y seleccionar el plan de ejecución distribuido óptimo. Para mejorar aún más el efecto de optimización y la eficiencia del orden de unión, el optimizador AnalyticDB también utiliza tecnología de optimización basada en el historial (Optimizador basado en el historial), tecnología de optimización dinámica (Optimizador basado en el patrón) basada en patrones SQL comunes e inteligencia basada en datos Tecnologías como el módulo Auto Analyze recopilan automáticamente información estadística para proporcionar un soporte de datos preciso para que el optimizador busque el mejor plan.

Además, el optimizador AnalyticDB también realiza una serie de procesos de optimización en las condiciones de filtro combinadas, operadores de agregación y subconsultas relacionadas que a menudo aparecen en consultas complejas para mejorar el rendimiento. Por ejemplo, la tecnología de optimización push-down empuja las condiciones de filtro planificadas y los operadores de agregación al módulo inferior de todo el enlace lo más posible para ejecutar, lo que no solo mejora la eficiencia del operador inferior, sino que también reduce la cantidad de datos a procesar por el operador ascendente y mejora la consulta general. Rendimiento Para las declaraciones de subconsultas relacionadas, el optimizador reescribe subconsultas relacionadas en planes no relacionados semánticamente equivalentes a través de la conversión de álgebra relacional, de modo que el motor de cálculo pueda canalizarse de manera eficiente.

3. Versión básica del motor de cálculo.

image.png

El motor de cálculo AnalyticDB adopta una arquitectura de procesamiento paralelo masivo MPP + DAG y un modo de ejecución de canalización basado en memoria, que tiene las características de alta concurrencia y baja latencia. Para acelerar la evaluación de expresiones complejas y optimizar el rendimiento de ejecución, el motor de cálculo genera el código de bytes JVM en tiempo de ejecución a través de Runtime Codegen, carga dinámicamente instancias de objetos generados, reduce las llamadas a funciones virtuales durante la ejecución y mejora las tareas intensivas de CPU. Eficiencia El motor de cálculo también usa el modelo de ejecución vectorizado para procesar la evaluación de expresiones, y usa el conjunto de instrucciones SIMD de la CPU para acelerar el cálculo de la evaluación.

4. Versión básica del motor de almacenamiento

image.png

El motor de almacenamiento AnalyticDB utiliza un diseño de almacenamiento mixto. Como se muestra. Por cada k filas de datos en una tabla (Grupo de filas), cada columna de datos se almacena continuamente en un Bloque de datos separado, y el bloque de columnas de cada grupo de filas se almacena continuamente en el disco. Los datos de la columna Bloquear en el grupo de filas se pueden ordenar y almacenar de acuerdo con la columna especificada, lo que puede reducir significativamente el número de E / S aleatorias del disco cuando se consulta por esta columna. La ventaja única de este diseño es que tiene las ventajas del almacenamiento en filas (adecuado para la consulta de puntos OLTP) y el almacenamiento en columnas (adecuado para el análisis multidimensional OLAP), que satisface las necesidades de diferentes tipos de cargas de trabajo:

  • Para la consulta de puntos de tipo OLTP, debe seleccionar una fila completa de datos detallados. Bajo el diseño mixto de fila y columna, la lectura aleatoria completa del almacenamiento de la columna se convierte en lectura secuencial
  • Análisis multidimensional para el tipo OLAP: no solo resuelve el problema de leer y ampliar el almacenamiento descendente del análisis estadístico de datos masivos, sino que también convierte la lectura secuencial del almacenamiento de columnas en lectura de salto secuencial cuando se realiza una E / S de una sola fila, y convierte la lectura aleatoria en secuencial cuando se realiza una E / S de varias filas. Leer
  • Gran rendimiento de escritura: las escrituras aleatorias durante el almacenamiento de columnas se convierten en escrituras secuenciales

El motor de almacenamiento AnalyticDB utiliza un índice completo inteligente para crear un índice invertido de cada columna de datos desde el valor hasta el número de fila. Al realizar consultas, el AND y el OR de varias expresiones condicionales SQL se convierten en consulta booleana y se indexan al mismo tiempo, y el número de fila del conjunto de resultados que cumple con la condición where se obtiene a través de la búsqueda. Es compatible con la multiplexación rápida y puede encontrar el resultado que cumple la condición en el nivel de milisegundos. Conjunto.

5. Ventaja de la versión básica

La versión básica reduce en gran medida el umbral del usuario para construir un almacén de datos. En comparación con los métodos de construcción de almacenes de datos grandes (Hadoop, Spark y EMR) y OLTP, tiene un rendimiento de alto costo.

(1) Bajar el umbral de uso

La versión básica tiene un mínimo de 1.75 yuanes / hora y 860 yuanes / mes.En comparación con la versión de clúster, el precio inicial se reduce en aproximadamente un tercio. El espacio en disco es de solo 0,6 yuanes / GB, y el límite superior del espacio en disco es de 4 T. Se puede ampliar en cualquier momento según sea necesario, lo que reduce en gran medida el umbral para el análisis complejo y la construcción de almacenes de datos en tiempo real para las PYME.

(2) alto rendimiento

Bajo la misma configuración, su rendimiento de consulta de datos es aproximadamente 10 veces mayor que el de MySQL, lo que ayuda a los usuarios a resolver los puntos débiles del análisis complejo lento de MySQL.

(3) especificaciones ricas

La versión básica admite cuatro especificaciones: T8, T16, T32 y T52. Las especificaciones se pueden seleccionar y ajustar de acuerdo con los diferentes requisitos del negocio.

(4) Transparencia ecológica

Los ecosistemas aguas arriba y aguas abajo son totalmente compatibles con la versión de clúster y transparentes para los usuarios.

6. Adecuado para clientes

Especialmente adecuado para los siguientes grupos:

(1) Hadoop / Spark y otras pequeñas y medianas empresas que son demasiado complejas y desean realizar rápidamente la transformación de datos;

(2) La consulta de la base de datos de informes es lenta y las PYME con análisis de BI interactivos apelan;

(3) Usuarios que necesitan crear rápidamente un entorno de prueba para la selección de almacenes de datos;

(4) Grupos de aprendizaje, usuarios que pueden entender rápidamente AnalyticDB para MySQL;

Aprende más

Vea la transmisión en vivo: https://yq.aliyun.com/live/2527
Detalles del producto: https://promotion.aliyun.com/ntms/act/adbformysqljichuban.html

Enlace original
Este artículo es el contenido original de la comunidad Yunqi y no puede reproducirse sin permiso.

2315 artículos originales publicados · 2062 aprobado · 1.58 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/yunqiinsight/article/details/105420059
Recomendado
Clasificación