Arquitectura de conjuntos de datos en un almacén de datos en la nube
Qlik Talend Data Integration le permite crear, administrar y controlar una canalización de datos analíticos, entregando datos hasta los consumidores. Cuando genera conjuntos de datos en un almacén de datos en la nube con Qlik Talend Data Integration, se generan tablas de almacenamiento, tablas de cambios y vistas.
Una interfaz de usuario intuitiva y guiada le ayuda a construir, modelar y ejecutar canalizaciones de datos. Genere automáticamente esquemas para almacenes de datos operativos (ODS) y almacenes de datos históricos (HDS) sin codificación manual.
-
Destino de aterrizaje
La tarea de ubicación de destino en Qlik Talend Data Integration controla el aterrizaje continuo de datos desde las fuentes de datos hasta la zona de aterrizaje. El ejemplo en el diagrama describe el uso de Pasarela de datos de Qlik - Data Movement para acceder a las fuentes de datos usando CDC para mantener los datos actualizados. También puede utilizar las conexiones de origen de Qlik Cloud para realizar cargas completas que pueden programarse para recargarse periódicamente.
Para obtener información sobre cuándo debe usar Pasarela Data Movement, vea ¿Cuándo es obligatorio Pasarela Data Movement?
Nota informativaLas tablas en la zona de aterrizaje se generan para uso interno de las tareas de datos de almacenamiento de Qlik Talend Data Integration. No utilice las tablas de destino en ningún otro proceso posterior. -
Almacenamiento
La tarea de almacenamiento controla cuándo se aplican los datos a las tablas de almacenamiento y crea y administra las tablas y las vistas externas.
-
Vistas externas
Cuando consumimos datos, la mejor práctica es utilizar vistas. Las vistas ofrecen varias ventajas sobre las tablas, como una mejor concurrencia de datos.
Usar vistas en vivo
Puede acceder tanto a datos actuales (ODS) como a datos históricos (HDS) mediante las vistas en vivo. Las vistas en vivo incluyen datos de las tablas de cambios que aún no se han aplicado a las tablas actuales o anteriores. Esto le permite ver datos con menor latencia sin tener que aplicar datos modificados con frecuencia. La capacidad de retrasar la fusión permite reducir los costes y los requisitos de procesamiento en la plataforma de destino.
Otro beneficio de las vistas en vivo es que el nivel de cómputo no necesita ejecutarse todo el tiempo.
-
El aterrizaje puede apuntar a un almacén explícito que puede ser pequeño, ya que solo realiza operaciones INSERT para una ejecución rápida.
-
El proceso de almacenamiento, que se ejecuta una vez al día, por ejemplo, puede despertar una gran capa de cómputo para el procesamiento.
-
La latencia es mejorable, ya que no necesitamos aplicar cambios a lo largo del día. Cuando los nuevos registros insertados están disponibles en la tabla de cambios, están disponibles de inmediato en las vistas en vivo.
Esquemas
Los artefactos se generan en un esquema interno y un esquema de tarea de datos.
-
El esquema interno contiene las tablas de datos físicas.
-
El esquema de tarea de datos contiene las vistas que puede usar para consumir los datos.
Cuando un esquema de base de datos está asociada a más de una tarea de datos, cada tarea de datos ha de utilizar un prefijo único para tablas y vistas. Puede fijar el prefijo en la configuración de la tarea de datos.
Solo los esquemas internos se comprueban en busca de conflictos de nombres. Para los demás esquemas, debe asegurarse de que no haya conflictos de nombres en los nombres de las tablas. La práctica recomendada es asignar al esquema interno el mismo nombre que al esquema de la tarea de datos y añadir _interno. De esta forma, se garantizará que todas las combinaciones de esquema y prefijo serán únicas.
Tablas
Las tablas siguientes se crean en el esquema interno.
-
Tabla actual (ODS)
Esta tabla contiene la réplica de la fuente de datos actualizada con cambios durante el último intervalo de aplicación.
-
Tabla previa (HDS)
Esta tabla contiene datos históricos de tipo 2. Solo se genera si Historial está habilitado en la configuración de la tarea de datos.
Cuando se actualiza un registro de la tabla de origen, cada vez se agrega un nuevo registro a la tabla anterior. El registro histórico es una copia del registro actual anterior, que también incluye lo que se actualizó y cuándo era válido.
Use una vista de historial o una vista de historial en vivo para ver datos históricos. Para más información, vea Vista de historial y Vista en vivo del historial.
-
Tabla de cambios
Esta tabla contiene todos los cambios que aún no se han aplicado a la tabla actual. Solo se genera si se utiliza el modo de aterrizaje Carga completa y CDC .
Vistas
Las siguientes vistas se crean en el esquema de destino de la tarea de datos. Las vistas que se crean dependen de si ha habilitado las vistas en vivo y el historial, y si utiliza la gestión de cambios.
-
Vista actual
-
Vista en vivo
-
Vista de cambios
-
Vista de historial
-
Vista en vivo del historial
Vista actual
Denominación: <ESQUEMA_EXTERNO>.[<PREFIJO>]<NOMBRE_TABLA>_actual
Las siguientes columnas de encabezado se agregan a la estructura de la tabla.
Campo | Tipo | Descripción |
---|---|---|
hdr__key_hash | varbinary(20) |
Hash de todas las claves primarias del registro. El formato de hash es SHA1. Las columnas van separadas por un carácter de retroceso. Esta columna no se genera en las tareas de datos del Data mart. |
hdr__key_id | int64 |
Secuencia incrementada por registro. Esta columna solo se genera en tareas de datos del Data mart. |
hdr__from_timestamp | fecha-hora |
Una fecha y una hora en UTC
|
hdr__operation | string(1) |
Última operación de este registro.
|
hdr__inserted_timestamp | fecha-hora | Marca de tiempo UTC de la primera vez que se agregó la clave. Cuando se usa carga completa, la hora de inicio de la carga completa. |
hdr__modified_timestamp | fecha-hora | Marca de tiempo UTC de cuando se aplicó la última actualización. |
Vistas en vivo
Las vistas en vivo muestran una vista por cada tabla de origen seleccionada. Dicha vista fusiona la tabla con los cambios de la tabla de cambios. Esto proporciona a las consultas una vista en vivo de los datos sin tener que esperar al siguiente ciclo de solicitud. Los cambios fusionados desde la vista de la tabla de cambios son transacciones sistemáticas entre tablas.
Las vistas en vivo solo se crean si habilita las Vistas en vivo en la configuración de la tarea de datos.
El nombre debe ser: <ESQUEMA_EXTERNO>.[<PREFIJO>]<NOMBRE_TABLA>< Sufijo para las vistas en vivo>
Campo | Tipo | Descripción |
---|---|---|
hdr__key_hash | varbinary(20) |
Hash de todas las claves primarias del registro. El formato de hash es SHA1. Las columnas van separadas por un carácter de retroceso. Esta columna no se genera en las tareas de datos del Data mart. |
hdr__key_id | int64 |
Secuencia incrementada por registro. Esta columna solo se genera en tareas de datos del Data mart. |
hdr__from_timestamp | fecha-hora |
Una fecha y una hora en UTC
|
hdr__operation | string(1) |
Última operación de este registro.
|
hdr__inserted_timestamp | fecha-hora | Marca de tiempo UTC de la primera vez que se agregó la clave. Cuando se usa carga completa, la hora de inicio de la carga completa. |
hdr__modified_timestamp | fecha-hora | Marca de tiempo UTC de cuando se aplicó la última actualización. |
hdr__store | varchar(10) |
Esto indica dónde reside el registro.
|
Vista de cambios
Esta es una vista de la tabla de cambios en el esquema de destino para cada tabla de origen seleccionada.
El nombre debe ser: <ESQUEMA_EXTERNO>.[<PREFIJO>]<NOMBRE_TABLA>_cambios
Los siguientes campos de encabezado se añaden a la estructura de la tabla.
Campo | Tipo | Descripción |
---|---|---|
hdr__change_identifier | string(50) |
El identificador de cambio es una cadena con dos partes:
|
hdr__from_timestamp | fecha-hora |
Una fecha y una hora en UTC
|
hdr__to_timestamp | fecha-hora |
Una fecha y una hora en UTC
|
hdr__operation | string(1) |
Última operación de este registro.
|
hdr__timestamp | timestamp |
Una marca de tiempo (fecha y hora) en UTC. |
hdr__key_hash | binary(20) |
Hash de todas las claves primarias del registro. Esta columna no se genera en las tareas de datos del Data mart. |
hdr__key_id | int64 |
Secuencia incrementada por registro. Esta columna solo se genera en tareas de datos del Data mart. |
Vista de historial
Se genera una vista de historial en el esquema de activos de datos para cada tabla de origen seleccionada si Historial está habilitado en la configuración de la tarea de datos. Se agregan los siguientes campos de encabezado.
El nombre debe ser: <ESQUEMA_EXTERNO>.[<PREFIJO>]<NOMBRE_TABLA>< Sufijo para las vistas del historial>
Campo | Tipo | Descripción |
---|---|---|
hdr__key_hash | binary(20) |
Hash de todas las claves primarias del registro. Esta columna no se genera en las tareas de datos del Data mart. |
hdr__key_id | int64 |
Secuencia incrementada por registro. Esta columna solo se genera en tareas de datos del Data mart. |
hdr__store | varchar(10) |
Esto indica dónde reside el registro.
|
hdr__operation | string(1) |
Última operación de este registro.
|
hdr__deleted | bit |
Indica si el registro se elimina temporalmente, en función de si la operación hdr__ es D o d. |
hdr__was _current_from_timestamp | fecha-hora |
La marca de tiempo en UTC para el primer registro de tiempo era actual. |
hdr__was _current_to_timestamp | fecha-hora |
La marca de tiempo en UTC para el primer registro de tiempo era actual. |
Vista en vivo del historial
Se genera una vista en vivo del historial en el esquema de activos de datos para cada tabla de origen seleccionada fusionada con los cambios de la tabla de cambios. Se agregan los siguientes campos de encabezado.
El nombre debe ser: <ESQUEMA_EXTERNO>.[<PREFIJO>]<NOMBRE_TABLA><Sufijo para las vistas del historial>
Campo | Tipo | Descripción |
---|---|---|
hdr__key_hash | binary(20) |
Hash de todas las claves primarias del registro. Esta columna no se genera en las tareas de datos del Data mart. |
hdr__key_id | int64 |
Secuencia incrementada por registro. Esta columna solo se genera en tareas de datos del Data mart. |
hdr__store | varchar(10) |
Esto indica dónde reside el registro.
|
hdr__operation | string(1) |
Última operación de este registro.
|
hdr__deleted | bit |
Indica si el registro se elimina temporalmente, en función de si la operación hdr__ es D o d. |