He estado involucrado en el almacenamiento de datos de una forma u otra durante más de 15 años y, en ese tiempo, me gané la reputación de saber un poco sobre el tema. Dudo en llamarme a mí mismo "experto", pero la gente a menudo busca mis pensamientos sobre el almacenamiento de datos. Siempre estoy encantado de complacerte. Dicho esto, la experiencia más gratificante es cuando leo otros consejos de expertos de la industria.
De hecho, uno de mis recientes descubrimientos fue "5 Best Practices for Data Warehouse Deployment" de Kent Graziano, Chief Tech Evangelist de Snowflake, uno de los socios industriales de Qlik. Kent ofrece algunos grandes consejos que son de data warehouse agnóstico, así que le animo a que lodescargue y lo lea.
Estas cinco mejores prácticas de almacenamiento de datos, tal y como se exponen en el eBook, se alinean de muchas maneras con lo que hacemos aquí en Qlik. Los exploro y amplío en esta entrada del blog, tomando citas clave de Kent sobre esas prácticas y dando mi opinión sobre cada una de ellas.
1. Crear un modelo de datos
"El primer paso clave en el desarrollo del data warehouse es crear un modelo de datos [....] Tener un modelo de datos le da una forma de documentar los conjuntos de datos que serán incorporados al data warehouse, la relación entre esos conjuntos de datos, y los requerimientos de negocio del data warehouse".
No podría estar más de acuerdo con esta buena práctica. Se necesita una persona muy valiente o tonta para embarcarse en un proyecto de data warehouse sin un modelo de datos, aunque ciertamente es posible. Sin embargo, es completamente comprensible por qué muchos proceden sin él. Al principio, la cantidad de datos y tablas numéricas son manejables, y el modelado parece exagerado. Además, muchos profesionales sienten que no tienen tiempo o experiencia para utilizar enfoques arquitectónicos estandarizados, como Kimball, Inmon o Data Vault. Por último, muchas empresas simplemente carecen de las herramientas y el apoyo adecuados. Independientemente de la razón, el modelado de datos hará que su almacén sea más fácil de mantener, más eficiente para operar y mejorar la colaboración entre los implementadores del almacén de datos y los consumidores por igual.
2. Adoptar una Metodología Ágil de Almacén de Datos
"En el pasado, la creación de almacenes de datos era un esfuerzo grande, monolítico, multitrimestral (o multianual), sujeto al proceso tradicional de "cascada". En la era moderna, esa ya no es la norma, ya que muchas organizaciones están optando por adoptar un enfoque de diseño más flexible e iterativo, o ágil".
Me encuentro, una vez más, asintiendo violentamente con la cabeza de acuerdo con Kent. Simplemente, ya no tenemos el lujo de disponer de tiempo para las técnicas tradicionales de almacenamiento de datos. De hecho, los desarrolladores de software han sabido esto durante años, y sería difícil encontrar un equipo de desarrollo que no utilice técnicas ágiles hoy en día. Sin embargo, también es justo admitir que la comunidad de almacenamiento de datos tiene un largo camino por recorrer: no hemos llegado a la sofisticación de convertir en una práctica estándar el uso de técnicas de implementación de color azul-verde, respaldadas por herramientas de integración continua/entrega continua (CI/CD). (Si quieres leer más de lo que pienso sobre este punto, lee mi libro escrito en colaboración con Microsoft:"Automatización de Data Warehouse en Azure para maniquíes".)
3. Favorecer al ELT sobre el ETL
"En el pasado, el desarrollo del data warehousing tomaba un enfoque de extracción-transformación-carga (ETL), extrayendo los datos que se iban a importar al data warehouse desde los sistemas fuente, limpiándolos o aplicándoles reglas de negocio en un servidor externo, y luego cargándolos en el data warehouse de destino. El aumento de la potencia y las capacidades informáticas de almacenamiento de datos ha dado lugar a un nuevo enfoque preferido: la transformación de la carga de extracción (ELT)".
Tengo tanto que añadir a este tema. En primer lugar, el ELT se ha convertido en el estándar de facto para la carga de datos, ya que los enormes volúmenes de datos que necesitamos ahora son a menudo demasiado grandes para las ventanas por lotes de ETL (es decir, la actualización nocturna de 8 horas no es lo suficientemente larga como para cargar actualizaciones).
Segundo, ELT es más rápido para cargar datos porque no se producen procesos de transformación durante la actualización. Los datos brutos se replican simplemente, como es el caso, en tablas de "aterrizaje" en el almacén, que luego se "transforman" por otros medios más adelante en el proceso de canalización de datos. Por el contrario, el ETL se une a tablas dispares antes de la carga, lo que consume tiempo y recursos informáticos adicionales.
Finalmente, ELT representa la filosofía de las soluciones de captura de datos de cambio (CDC), como Qlik Replicate.. Cuando los almacenes de datos utilizan los CDC, entonces las zonas de aterrizaje están continuamente ingiriendo pequeñas actualizaciones de datos en tiempo real, asegurando así que el almacén de datos siempre contenga la información más actualizada.
4. Adopte una herramienta de automatización de almacenes de datos
"El objetivo del almacén de datos es activar y entregar los datos más rápidamente para que puedan informar las decisiones de negocio y generar mayor valor. Una forma de aumentar la velocidad de entrega es adoptar la metodología Ágil. Otra es adoptar herramientas de automatización que puedan ayudar a desarrollar e implementar el código más rápidamente".
El almacenamiento ágil de datos requiere algo más que un cambio en el proceso manual. También requiere una nueva cadena de herramientas que pueda proporcionar ganancias de productividad mediante la automatización de tareas manuales, mundanas y repetitivas. Las áreas maduras para la automatización son: (1) modelado de datos, (2) creación de tablas de data warehouse, (3) creación de data mart, (4) documentación, y (5) ingesta y actualización de datos. Al automatizar una, algunas o todas esas actividades pagarán dividendos de eficiencia y productividad que aumentarán la agilidad del almacenamiento de datos. Por suerte, para nosotros, Qlik Compose automatiza todas esas tareas y también ofrece funciones adicionales para gestionar las actividades operativas del almacén de datos.
5. Capacite a su personal en nuevos enfoques
"Un cambio a la metodología Ágil o al desarrollo de código automatizado no es sólo un cambio en el conjunto de habilidades, es un cambio en la mentalidad. Se requiere capacitación y educación para asegurar que un equipo de almacenamiento de datos esté aprovechando estos nuevos enfoques y tecnologías de manera efectiva".
Hay un viejo chiste que dice algo así: CEO "¿Qué pasa si entrenamos a nuestra gente y se van?" Director de TI "¿Y si no lo hacemos y se quedan?" Este dilema pone claramente de manifiesto que pasar a un modelo ágil de almacenamiento de datos no sólo significa implementar nuevas herramientas y tecnología, sino que también requiere una inversión en personas y habilidades. Sólo entonces alcanzará el objetivo de una entrega de datos más oportuna que ayude a la empresa a impulsar el conocimiento.
Próximos pasos
Kent ciertamente tuvo algunos buenos consejos para los profesionales del almacén de datos, y espero que mis comentarios hayan añadido ideas adicionales a la conversación. Sin embargo, mi último consejo es realmente un atractivo. Si su almacén de datos está luchando para mantenerse al día con las demandas del negocio, requiriendo demasiados recursos o fallando en entregar valor al negocio, entonces por favor considere reconsiderar su estrategia. Tal vez es hora de modernizar su enfoque. Pero, sea lo que sea que decidas, no sigas mi consejo, toma el de Snowflake.
Comentarios para esta entrada
Sección en desarrollo...