Investigación del sistema de almacenamiento de datos (3): capa histórica

Como se mencionó anteriormente, el almacén de datos básico se divide en capa de origen, capa de historial y capa de modelo de datos.

Este artículo habla principalmente de él desde los siguientes tres aspectos.

1. Limpieza de datos de la capa histórica

2. Almacenamiento de datos de la capa histórica

3. La capa histórica, como su nombre indica, guarda todos los datos históricos. Sabemos que un principio del almacén de datos es que los datos no se pueden cambiar, lo que significa que los datos entrantes no se cambiarán ni eliminarán, por lo que este elemento no se cambiará ni eliminará, lo que se refleja principalmente en la capa histórica.

El sistema de almacén de datos es un sistema OLAP, que se utiliza principalmente para analizar datos históricos, por lo que la preservación de los datos históricos es extremadamente importante.

1. Limpieza de datos de la capa histórica

En la capa histórica, los requisitos de limpieza no son muy altos. Si la capa ODS se limpia básicamente, la capa de historial se limpiará menos. Debido a que la capa histórica es para guardar datos históricos, una comprensión simple es guardar todos los datos ODS, y es mejor mantener la granularidad de la capa histórica en la granularidad más fina. En la capa histórica, el almacenamiento es relativamente más importante. Este artículo también se centra en el almacenamiento de la capa histórica.

2. Almacenamiento de datos a nivel histórico

Hay cuatro tipos de almacenamiento de datos en la capa histórica, 1. Completo, 2. Rebanado incremental,3. Completamente rebanado y 4. cremallera.

1. Cantidad total

Como se mencionó en el ODS anterior, si importamos todos los datos al ODS, lo haremos, según las necesidades del negocio, si el cambio es lento, o lo confirmaremos. El cambio El impacto posterior en nuestro negocio será básicamente insignificante, por lo que almacenaremos todos los datos, que en realidad son los mismos que en ODS.

2. Corte completo

Como se menciona en ODS, si importamos los datos completamente a ODS, si la cantidad de datos no es muy grande, generalmente consideramos el método de corte completo. . Simplemente guarde todos los datos extraídos cada vez y luego agregue un campo de tiempo de operación al final.

Aquí quiero hablar sobre la cuestión de elegir almacenamiento completo o almacenamiento completo en sectores.

Para los almacenes de datos, debido a que queremos guardar datos históricos y cambios históricos, según este principio, se debe dar prioridad al almacenamiento completo de los sectores. Sin embargo, también debemos considerar otras condiciones comerciales y de almacenamiento del mundo real.

(1) Es un problema de espacio de almacenamiento. Supongamos que se extrae completamente una tabla grande del sistema fuente, 1 t por día, 365 t por año, y luego se multiplica por 3 en la colmena, el espacio de almacenamiento requerido es demasiado grande. Quizás los campos que cambian en esta tabla sean campos que se utilizan una vez al año. En términos de almacenamiento y relación de uso, no es rentable.

(2) Los problemas de uso están bien en Hive, un sistema de almacenamiento de datos particionado. Si se trata de un almacén de datos como Oracle o TD, si esta tabla almacena datos durante un año y quiero verificar una determinada parte de los datos en un día determinado, es posible que no pueda encontrarlos de todos modos.

Entonces los principios habituales son: 1. Es una tabla pequeña, una tabla que cambia con frecuencia, una tabla con campos cambiantes relativamente importantes y una tabla que a menudo requiere una comparación histórica. Considere la división completa.

Si los cambios son lentos y los campos modificados rara vez se utilizan, simplemente guárdelos todos. Por ejemplo, si una tabla de dimensiones regionales se cambia de Beijing a Beijing, no es necesario almacenarla todos los días.

(3). Incluso si la cantidad de datos es grande y los campos cambian lentamente, considere usar la escala completa.

Entonces aquí viene el problema. Si los datos son grandes, ¿qué campos cambiantes son más importantes?

Tal vez esto sea realmente un problema de almacenamiento de datos. Hoy en día, la cantidad de datos es grande y cambia rápidamente, por lo que se puede utilizar principalmente la división incremental.

3. La división incremental se utiliza para almacenar datos nuevos o modificados. En general, esta es actualmente una forma importante de almacenamiento.

Hay dos ventajas principales:

1 gt; en comparación con los datos totales, los datos incrementales serán de magnitud mucho menor, lo que ahorrará mucho espacio de almacenamiento.

2 gt Será más eficiente almacenar valores cambiantes todos los días, y cuando hagamos usos relacionados, la cantidad total de datos será menor.

4. Reloj con cremallera

Es posible que muchas personas no estén familiarizadas con los relojes con cremallera. En términos generales, si no ha trabajado en un almacén de datos durante un año, es posible que no esté expuesto a este tipo de tablas. En la actualidad, hay relativamente pocos casos en los que se considera el almacenamiento de esta tabla. Hay dos puntos aquí: 1. Las tablas de cremallera son intrínsecamente adecuadas para conjuntos de datos grandes y que cambian lentamente2. Es muy incómodo de usar.

Tres. Verificación de datos de capas históricas

La precisión de los datos históricos es la base del análisis del almacén de datos. Para la verificación de datos históricos también se siguen otros métodos de verificación generales. Debido a que hay muchos datos históricos, se pueden agregar algunos métodos de verificación de tendencias, como la cantidad total de datos año tras año y mes a mes y los umbrales de cambio de ciertos indicadores. sobre datos históricos.