Red de conocimiento de recetas - Tipos de cerveza - Diseño de arquitectura de sistema ETL de almacén de datos de centro comercial

Diseño de arquitectura de sistema ETL de almacén de datos de centro comercial

Diseño de la arquitectura del sistema ETL del almacén de datos del centro comercial

Se planea que la implementación de codificación de la arquitectura del sistema ETL del almacén de datos del centro comercial basada en CWM utilice el lenguaje Java. La razón por la que elegí el lenguaje Java no es solo porque es un lenguaje distribuido simple, orientado a objetos, sino también porque tiene las ventajas de independencia de plataforma y seguridad. ¡Ven a descubrirlo conmigo!

1. Descripción general de ETL

ETL es la abreviatura de extracción, transformación y carga de datos. Se refiere a extraer datos de varias fuentes de datos heterogéneas, convertir e integrar datos de diferentes fuentes de datos, obtener datos consistentes y luego cargarlos en el almacén de datos. Las herramientas ETL son una parte importante del sistema de almacenamiento de datos. Es la clave del éxito o del fracaso de un sistema de almacenamiento de datos.

Hay dos formas de obtener herramientas ETL: el uso de herramientas ETL comerciales existentes puede acortar el ciclo de desarrollo del sistema, pero existen problemas como altos costos de inversión y poca pertinencia, versatilidad y compatibilidad del software. Diseñar y desarrollar una herramienta ETL estándar y universal es de gran importancia para mejorar el valor práctico de ETL y reducir el costo y el riesgo de la implementación del proyecto.

Debido a que existen grandes diferencias en los formatos y modelos de datos entre los almacenes de datos y los sistemas de fuentes de datos, es difícil formar objetivamente el proceso de implementación ETL del almacén de datos. En el proceso ETL, cada paso está estrechamente relacionado con los metadatos del almacén de datos.

Según la definición tradicional, los metadatos son datos sobre datos. Los metadatos respaldan todo el proceso de desarrollo y aplicación del almacén de datos, convirtiéndose en un puente entre las fuentes de datos y los almacenes de datos.

En la etapa de extracción de datos, no existe una regla de mapeo correspondiente y es imposible saber qué tipo de datos deben extraerse al convertir el formato de almacenamiento de datos de origen al formato de almacenamiento de datos de destino; para conocer el formato de almacenamiento de origen y la información de almacenamiento de destino, así como las reglas de conversión entre los formatos de almacenamiento correspondientes, durante la etapa de carga de datos, es necesario comprender la estructura de datos y la información relacionada del almacén de datos de destino. Toda esta información requiere metadatos.

Por lo tanto, el proceso ETL requiere soporte y control de metadatos de principio a fin. Por esta razón, para resolver problemas en el desarrollo de ETL, debemos comenzar con metadatos relevantes.

2. Acerca de la lechada de carbón y agua y su mecanismo de funcionamiento

CWM (Common Warehouse Metamodel) es una especificación de gestión de metadatos de almacén de datos propuesta por la Organización Internacional de Gestión de Objetos OMG. El objetivo principal de CWM es facilitar el intercambio de metadatos de almacenamiento de datos entre herramientas de almacenamiento de datos, plataformas de trabajo y bases de datos de metadatos en entornos heterogéneos distribuidos.

CWM se basa en los siguientes tres estándares de la industria:

1. Lenguaje de modelado unificado

UML, como el lenguaje de modelado más popular en la actualidad, se utiliza para describir un metamodelo general para la arquitectura de almacén de datos.

2. Herramienta Meta-Object Facility

MOF es el estándar de almacenamiento para metamodelos y metadatos OMG, que se utiliza para definir reglas de mapeo para la estructura del repositorio, las interfaces externas y el intercambio. formatos.

3.XMI (Intercambio de metadatos XML)

XMI es un intercambio de metadatos basado en XML. Este artículo define cómo representar metadatos basados ​​en MOF en XML para que los metadatos se puedan intercambiar en forma de una secuencia de archivos XML.

Basado en los tres estándares anteriores, CWM ha desarrollado un conjunto de esquemas, sintaxis y especificaciones semánticas para compartir metadatos entre herramientas de almacenamiento de datos. Incluye principalmente:

(1) Metamodelo CWM: describe el metamodelo del sistema de almacenamiento de datos. Consta de una serie de submodelos.

(2)CWM XML: Representación XML del metamodelo CWM.

(3)CWM DTD: DW/BI*** disfruta del formato de intercambio de metadatos.

(4)CWM IDL: Interfaz de acceso a aplicaciones DW/BI*** para disfrutar de metadatos.

El modelo de gestión y conversión de metadatos del almacén de datos basado en CWM se puede representar en la Figura 1. Es fácil entender en la Figura 1 que la metabase de datos también se basa en el estándar CWM y se construye mediante el mapeo de metamodelos CWM.

CWM se basa en el metamodelo de UML y utiliza metaclases y metarelaciones específicas para convertir metadatos de fuentes de datos heterogéneas y componentes de almacén de datos en documentos XML a través de tres especificaciones: CWM XML, CWM DTD y CWMDL. Proporciona un archivo XML para la gestión de metadatos del almacén de datos, cumple con las especificaciones sintácticas y semánticas necesarias para el intercambio de metadatos y facilita el intercambio y el almacenamiento de metadatos.

En tercer lugar, arquitectura del sistema ETL de almacén de datos basada en CWM

1. Arquitectura del sistema ETL basada en CWM

Basado en el estudio de ETL y CWM, diseñe el. Se propone la arquitectura del sistema del proceso ETL del almacén de datos basado en CWM.

2. Análisis estructural de la arquitectura del sistema

(1) Estructura del subsistema ETL

La estructura del subsistema ETL consta de cinco módulos. A saber: módulo de programación del sistema, módulo de gestión de metadatos, módulo de extracción de datos, módulo de conversión de datos y módulo de carga de datos. Entre ellos, el módulo de extracción de datos es responsable de extraer los datos originales del sistema comercial del supermercado y guardarlos en una base de datos temporal; el módulo de conversión de datos es responsable de limpiar, convertir y calcular los datos extraídos; convertir los datos limpios y convertidos en el modelo de datos de destino. Cargar en la base de datos de destino. Las actividades de los tres módulos anteriores son programadas de manera uniforme por el módulo de programación del sistema, combinado con el módulo de gestión de metadatos, para controlar de manera uniforme todo el proceso ETL y realizar el proceso de activación de tiempo, ejecución normal y control de excepciones de cada paso de ETL.

(2)Especificación de metadatos del sistema de CWM

Toda la arquitectura se basa en la biblioteca de metamodelos de CWM. A través del mecanismo de trabajo CWM, los metadatos en todos los niveles se estandarizan y almacenan en la base de datos de metadatos, y luego el módulo de gestión de metadatos admite y controla el funcionamiento de toda la arquitectura.

(3) Establecer una base de datos de metadatos centralizada.

Para gestionar eficazmente los metadatos del almacén de datos, se establece una base de datos de metadatos centralizada de acuerdo con estándares comunes de gestión de metadatos. ¿En la metabase establecida, creando? ¿Modelo de información? Utilice un enfoque basado en red para clasificar metadatos y establecer un catálogo de información común. Almacene metadatos técnicos y metadatos comerciales en catálogos de información separados. Es fácil de adaptar al almacenamiento y gestión de diferentes objetos de servicio y diferentes estructuras de metadatos. El catálogo de información de metadatos es una aplicación de almacenamiento de datos. Las aplicaciones pueden usar, almacenar y administrar metadatos accediendo al directorio; los usuarios también pueden explorar, consultar y usar metadatos a través del directorio. Toda la arquitectura está centralizada bajo el control unificado de metadatos.

Cuatro. Análisis del soporte técnico de CWM para ETL

1. Estructura del metamodelo CWM

Dado que la arquitectura del sistema se basa en el metamodelo CWM, CWM admite toda la arquitectura a través de especificaciones unificadas y gestión de metadatos.

Para facilitar el análisis del soporte de CWM para cada módulo en el subsistema ETL, la Figura 3 muestra un diagrama esquemático del metamodelo de CWM. En la estructura general de CWM, se puede dividir en cinco niveles, que constan de varios paquetes de submodelos diferentes pero estrechamente relacionados. La parte gris en la figura es el paquete de metamodelo CWM, que se conecta directamente y admite el subsistema ETL.

2. Admite módulo de extracción de datos

En la capa de recursos de CWM, cinco metamodelos modelan cinco fuentes de datos diferentes respectivamente. Estos cinco formatos de fuente de datos son: formato de datos orientado a objetos, formato de datos relacionales, formato de datos de registro, formato de datos multidimensional y formato de datos XML. Los formatos de datos descritos por estos cinco metamodelos son bastante completos y pueden usarse para describir todas las fuentes de datos históricas y de uso común en los centros comerciales. De esta manera, se pueden obtener metadatos de fuentes de datos en varios formatos para brindar soporte al proceso de extracción ETL de fuentes de datos.

3. Admite módulo de conversión de datos

¿Cuál es el núcleo de ETL? t? Este proceso es también un proceso de transformación. La extracción y la carga generalmente se pueden utilizar como entrada y salida de la conversión, por lo que nos centramos en el soporte de CWM para el proceso de conversión de datos.

En la capa de análisis CWM, el paquete de transformación describe en detalle el proceso ETL. La función principal del paquete de transformación es asociar la fuente de datos de una actividad de transformación con los cuasidatos de destino. ¿Caja negra? Entonces qué.

¿Caja blanca? Transformación, un conjunto de transformaciones se puede combinar en una unidad lógica. Una transformación convierte un conjunto de objetos de origen en un conjunto de objetos de destino. Una colección de objetos de datos puede ser cualquier elemento del modelo, pero suele ser una tabla, un campo o un objeto de memoria.

El paquete de operación del almacén de datos en la gestión de CWM registra tres eventos importantes del almacén de datos. Los eventos de ejecución de transformación definen clases que registran los resultados de las actividades de transformación. Una vez completada la conversión, la clase de ejecución de actividad y la clase de ejecución de pasos pueden registrar los resultados de la actividad de conversión. Este comportamiento de registro es una respuesta a un evento interno en el paquete de operación del almacén de datos u otros medios similares, registrando la hora de inicio y finalización de cada ejecución de transformación, varios indicadores de progreso y resultados. Fácil de consultar cuando sea necesario.

4. Módulo de programación de datos de soporte

El módulo de programación del sistema es responsable de la programación unificada y el control de excepciones del proceso ETL para garantizar el funcionamiento normal de ETL. En la gestión de CWM, el paquete de procesamiento del almacén de datos describe la información de programación del procesamiento del almacén de datos (en realidad, el proceso de transformación). En el paquete de procesamiento del data warehouse se definen una serie de eventos que pueden desencadenar la ejecución de actividades de transformación. Estos eventos controlan la programación del proceso de conversión de datos.

5. Admite el módulo de carga de datos

El módulo de carga de datos es responsable de cargar los datos limpios y convertidos que se ajusten al modelo de datos de destino en la base de datos de destino. Con el soporte de CWM, es extremadamente sencillo extraer y transformar datos de origen y cargar los datos correctos en el almacén de datos bajo el control de los metadatos del sistema.

En resumen, el soporte técnico proporcionado por CWM para ETL sienta las bases para la implementación de varios módulos funcionales de ETL. Proporciona las condiciones para la realización de la arquitectura del sistema. Al mismo tiempo, también garantiza la versatilidad y escalabilidad del subsistema ETL.