Este blog cobrirá holisticamente:
(a) O que é armazenamento de dados
(b) Abordagens de modelagem de dados para data warehouse
(c) Data warehouse na AWS e, por último
(d) Armazenamento de dados para redução da carga operacional utilizando Serviço Gerenciado.
Vamos entender da perspectiva de um leigo “ O que é um data warehouse ”
De acordo com a Wikipedia - um data warehouse (DW ou DWH), também conhecido como Enterprise Data Warehouse (EDW), é um sistema usado para relatórios e análise de dados e é considerado um componente central da inteligência de negócios . Os data warehouses são repositórios centrais de dados integrados de uma ou mais fontes distintas. Eles armazenam dados atuais e históricos em um único local que é usado para criar relatórios analíticos para trabalhadores de toda a empresa. Isto é benéfico para as empresas, pois permite-lhes interrogar e extrair insights dos seus dados e tomar decisões.
Em termos básicos, é a arte de coletar, armazenar e fornecer insights (business intelligence) de maneira eficiente para ajudar uma empresa a se tornar uma organização orientada por dados. Em certo sentido, é outro banco de dados de transações, mas otimizado para cargas de trabalho analíticas.
De acordo com o diagrama acima, os dados são coletados da fonte, transformados por uso (ETL/ELT) e armazenados em DWH/Data mart e Insights expostos por meio de ferramentas de business intelligence.
Tudo parecia simples na época da configuração local, quando ELT (ETL vs ELT), Cloud DWH (AWS Redshift, Google Big Query, Snowflake, Databricks) e outras soluções de dados gerenciados eram inexistentes, o que ultimamente simplificou e escalou o alcance do DWH. Neste blog vamos entender cada aspecto, um de cada vez.
Para simplificar, vamos partir da premissa de que não há computação e armazenamento infinitos e que o sistema transacional não pode processar consultas analíticas com eficiência. É aqui que foi necessária uma maneira eficiente de projetar um data warehouse que fosse ideal em armazenamento, lidasse com consultas analíticas com eficiência (fatiar/cortar em cubos/cubo, etc.) e fornecesse a latência necessária.
Por tudo isso, dois modelos teóricos de design para design de Datawarehouse entraram em cena:
(a) Bill Inmon – abordagem Top Down (EDW) e
(b) Ralph Kimball – Abordagem bottom-up (Data mart).
A abordagem de Inmon é construir centralmente em escala global e levar em consideração a construção lenta, enquanto a maneira de Kimball é criar um data mart independente por silo e conectá-los posteriormente. Não vamos nos aprofundar em qual modelo é melhor ou qual escolher. No meu caso, resumindo, os dois modelos funcionam e depende totalmente do caso de uso e da maturidade da organização. Outro ponto-chave neste design é a “Representação de Dados”, modelagem dimensional usando esquema Star, esquema Snowflake ou um híbrido de estrela e floco de neve que é um pivô chave para consultas e dimensionalidade mais rápidas.
A única conclusão importante é que, apesar da logística infinita, um bom design de Datawarehouse pode resolver um problema multidimensional. Então, é melhor não ignorar isso.
A próxima etapa na construção de um DW é a plataforma escolhida, que pode variar desde local (Teradata, IBM DB2, Oracle, etc) até Cloud DW (Snowflake, Redshift, BigQuery, etc). Construir um data warehouse tradicional é complexo, e o gerenciamento e a manutenção contínuos podem ser desafiadores e caros. Na próxima seção, vamos nos aprofundar em como construir com AWS Redshift (não há discussão se o local é melhor ou a nuvem ou qual nuvem DWH é melhor).
O Amazon Redshift é um data warehouse de nível empresarial totalmente gerenciado em escala de petabytes que oferece desempenho excepcional para consultas analíticas, simples de usar e econômico. O Amazon Redshift reduz a sobrecarga operacional exigida pelos data warehouses tradicionais, automatizando tarefas como aplicação de patches, backups e provisionamento de hardware. Você pode configurar um cluster do Amazon Redshift onde é possível personalizar a infraestrutura e as linhas de base de desempenho do seu data warehouse. O Amazon Redshift também fornece Redshift Spectrum, Datashare, Redshift ML e configuração sem servidor, que permite usar o cluster do Amazon Redshift além do DWH.
O caminho para a configuração,
Até agora, faz sentido usar o Cloud DWH, mas como isso se encaixa no grande esquema das coisas DWH + Data Lake/serviços gerenciados para solução de dados ? A imagem abaixo explica como Data Lakes e Data Warehouses funcionam perfeitamente juntos. O AWS RDS serve como fonte de dados, fornecendo uma solução econômica e durável, que alimenta o Amazon S3 . Os dados são então transformados usando processos ETL e integrados ao Redshift. Serviços adicionais da AWS, como Athena, Glue, Spectrum, Lake Formation e outros, desempenham um papel crucial na ponte para criar uma solução de dados abrangente.
Concluindo, este blog cobre os fundamentos do Data Warehousing, investiga a abordagem de implementação tanto teoricamente quanto com foco na pilha de tecnologia. Também obtemos uma visão panorâmica de como ele se integra perfeitamente ao cenário mais amplo de soluções de dados.