solução de data warehouse
O que é um data warehouse?
Data warehouse é um sistema de gerenciamento de dados que armazena dados atuais e históricos de várias fontes para as empresas obterem facilmente insights e relatórios. Os data warehouses são normalmente usados para business intelligence (BI), relatórios e análise de dados.
Os data warehouses possibilitam a análise rápida e fácil de dados empresariais carregados de sistemas operacionais, como sistemas de ponto de venda, sistemas de gerenciamento de estoque ou bancos de dados de vendas ou marketing. Os dados podem passar por um armazenamento de dados operacional e exigir limpeza de dados para garantir a qualidade antes de serem usados no data warehouse para geração de relatórios.
Para que são usados os data warehouses?
Os data warehouses são usados em BI, relatórios e análise de dados para extrair e resumir dados de bancos de dados operacionais. Informações difíceis de obter diretamente de bancos de dados transacionais podem ser adquiridas por meio de data warehouses. Por exemplo, a gerência quer saber as receitas totais geradas mensalmente por vendedor para cada categoria de produto. Os bancos de dados transacionais podem não conseguir capturar esses dados, mas o data warehouse consegue.
ETL e ELT no data warehouse
ETL (Extrair, Transformar e Carregar) e ELT (Extrair, Carregar e Transformar) são duas formas diferentes de transformar dados. Data engineers geralmente usam ETL para extrair dados de diferentes fontes de dados e movê-los para o data warehouse, onde podem limpá-los e estruturá-los facilmente. O ELT, por outro lado, carrega primeiro os dados no warehouse em seu formato original e os limpa e estrutura à medida que são processados.
Normalmente, o ETL é feito de forma mais centralizada por equipes de data engineering empresarial, que aplicam regras de limpeza e conformidade de dados em toda a empresa. O ELT implica que as transformações sejam feitas em um estágio posterior, que normalmente é mais específico do projeto ou da equipe de negócios, para permitir análises de autoatendimento.
Processamento de transações (OLTP) e processamento analítico (OLAP)
Um sistema OLTP (sigla em inglês para Processamento de Transações Online) captura e mantém dados transacionais em uma base de dados. As transações envolvem registros de bases de dados individuais compostas por vários campos ou colunas. As bases de dados OLTP são geralmente usadas em aplicativos como serviços bancários online, sistemas ERP ou gerenciamento de estoque, permitindo atualizações rápidas nos dados em nível de linha, que são processados quase instantaneamente.
Um sistema OLAP (sigla em inglês para Processamento Analítico Online) aplica consultas complexas a grandes quantidades de dados históricos, agregados de bases de dados OLTP e outras fontes, para projetos de mineração de dados, análises e business intelligence. Data warehouses são sistemas OLAP. As bases de dados e os data warehouses OLAP oferecem aos analistas e tomadores de decisão a capacidade de usar ferramentas personalizadas de geração de relatórios para transformar dados em informações e ações. A falha de consulta em uma base de dados OLAP não interrompe nem atrasa o processamento de transações para os clientes, mas pode atrasar ou afetar a precisão dos insights de business intelligence.
Data lake e data warehouse
Qual é a diferença entre data lake e data warehouse?
Data lake e data warehouse são duas abordagens diferentes para gerenciar e armazenar dados.
Data lake é um repositório de dados não estruturados ou semiestruturados que permite o armazenamento de grandes quantidades de dados brutos em seu formato original. Os data lakes são projetados para ingerir e armazenar todos os tipos de dados — estruturados, semiestruturados ou não estruturados — sem qualquer esquema predefinido. Geralmente, os dados são armazenados em seu formato nativo e não são limpos, transformados ou integrados, facilitando o armazenamento e o acesso a grandes quantidades de dados.
Data warehouse, por outro lado, é um repositório estruturado que armazena dados de várias fontes de maneira bem organizada, com o objetivo de fornecer uma única fonte da verdade para business intelligence e análise de dados. Os dados são limpos, transformados e integrados em um esquema otimizado para consulta e análise.
Qual a diferença entre data lake, data warehouse e data lakehouse?
Data lakehouse é uma abordagem híbrida que combina o melhor dos dois mundos. É uma arquitetura de dados moderna que integra os recursos de um data warehouse e um data lake em uma plataforma unificada. Ele permite o armazenamento de dados brutos em seu formato original, como um data lake, além de fornecer recursos de processamento e análise de dados, como um data warehouse.
Em resumo, a principal diferença entre data lake, data warehouse e data lakehouse é a abordagem para gerenciar e armazenar dados. O data warehouse armazena dados estruturados em um esquema predefinido, o data lake armazena dados brutos em seu formato original e o data lakehouse é uma abordagem híbrida que combina os recursos de ambos.
Data lake | Data lakehouse | solução de data warehouse | |
---|---|---|---|
Tipos de dados | Todos os tipos: dados estruturados, dados semiestruturados, dados não estruturados (brutos) | Todos os tipos: dados estruturados, dados semiestruturados, dados não estruturados (brutos) | Somente dados estruturados |
Custo | $ | $ | $$$ |
Formato | Formato aberto | Formato aberto | Formato fechado e proprietário |
Escalabilidade | Pode ser dimensionado para armazenar qualquer quantidade de dados a baixo custo, independentemente do tipo | Pode ser dimensionado para armazenar qualquer quantidade de dados a baixo custo, independentemente do tipo | A expansão torna-se exponencialmente mais cara devido aos custos do fornecedor |
Público-alvo | Limitado: data scientists | Unificado: analistas de dados, data lakehouse, engenheiros de machine learning | Limitado: analistas de dados |
Confiabilidade | Baixa qualidade, data swamp | Dados confiáveis e de alta qualidade | Dados confiáveis e de alta qualidade |
Facilidade de uso | Dificuldade: pode ser difícil explorar grandes quantidades de dados brutos sem ferramentas para organizar e catalogar os dados | Simples: oferece a simplicidade e a estrutura de um data warehouse com os casos de uso mais amplos de um data lake | Simples: a estrutura de um data warehouse permite que os usuários acessem dados de forma rápida e fácil para relatórios e análises |
Desempenho | Fraco | Alta | Alta |
Um data lake pode substituir um data warehouse?
Data lake e data warehouse são duas abordagens diferentes para gerenciar e armazenar dados, cada uma com seus próprios pontos fortes e fracos. Embora um data lake possa complementar um data warehouse, fornecendo dados brutos para análises avançadas, ele não pode, em seu sentido tradicional, substituir totalmente um data warehouse. Em vez disso, o data lake e o data warehouse podem se complementar, com o data lake servindo como fonte de dados brutos para análises avançadas e o data warehouse fornecendo uma fonte estruturada, organizada e confiável de dados comerciais para relatórios e análises.
Um data lakehouse pode substituir um data warehouse?
Um data lakehouse, no entanto, é uma arquitetura de dados moderna que combina os benefícios de um data warehouse e de um data lake em uma plataforma unificada. Um data lakehouse pode servir como substituto para um data warehouse tradicional porque fornece os recursos de um data lake e de um data warehouse em uma única plataforma.
Um data lakehouse permite o armazenamento de dados brutos em seu formato original, como um data lake, além de fornecer recursos de processamento e análise de dados, como um data warehouse. Ele também oferece uma abordagem de schema-on-read, o que permite flexibilidade no processamento e na consulta de dados. A combinação de um data lake e um data warehouse em uma única plataforma proporciona maior flexibilidade, escalabilidade e economia.
Qual é a diferença entre data lake e base de dados?
Base de dados é um repositório estruturado que armazena dados em um esquema predefinido, otimizado para processamento transacional e aplicativos de negócios. As bases de dados são projetadas para lidar com dados estruturados e oferecer recursos de consulta e processamento de dados rápidos, eficientes e confiáveis. Elas usam uma abordagem de schema-on-write, o que significa que os dados devem ser estruturados e definidos antes de serem armazenados na base de dados. As bases de dados são usadas com frequência em aplicações como comércio eletrônico, bancos e gerenciamento de estoque, em que o processamento transacional é essencial para as operações comerciais.
Data lake é um repositório de dados não estruturados ou semiestruturados projetado para ingerir e armazenar todos os tipos de dados em seu formato original — estruturado, semiestruturado ou não estruturado — sem qualquer esquema predefinido. Os dados armazenados em seu formato nativo geralmente não são limpos, transformados ou integrados, facilitando o armazenamento e o acesso a grandes quantidades de dados. Os data lakes são muito usados para análises avançadas e aplicações de machine learning, onde a exploração e a descoberta de dados são essenciais para obter insights e criar modelos preditivos.
Qual é a diferença entre data lake e ETL?
Data lake e ETL (Extrair, Transformar e Carregar) são dois conceitos diferentes relacionados ao gerenciamento e à integração de dados. A principal diferença é que o data lake é um repositório centralizado para armazenar e processar grandes quantidades de dados brutos, enquanto o ETL é um processo para extrair, transformar e carregar dados estruturados de várias fontes em um repositório de dados de destino. O data lake permite o armazenamento e processamento de todos os tipos de dados, sem qualquer esquema pré-definido, enquanto ETL é normalmente usado para integrar dados estruturados em um esquema pré-definido.
Benefícios dos data warehouses
- Consolidar dados obtidos de muitas fontes; agir como ponto de acesso único para todos os dados, em vez de exigir que os usuários se conectem a dezenas ou mesmo centenas de armazenamentos de dados individuais.
- Inteligência histórica. Um data warehouse integra dados de muitas fontes para mostrar tendências históricas.
- Separar o processamento analítico das bases de dados transacionais, melhorando o desempenho de ambos os sistemas.
- Qualidade, consistência e precisão dos dados. Os data warehouses usam um conjunto padrão de semântica em torno dos dados, incluindo consistência em convenções de nomenclatura, códigos para vários tipos de produtos, idiomas, moedas etc.
Desafios dos data warehouses
- Sem suporte para dados não estruturados, como imagens, texto, dados de IoT ou frameworks de mensagens, como HL7, JSON e XML. Os data warehouses tradicionais só conseguem armazenar dados limpos e altamente estruturados, embora a Gartner estime que até 80% dos dados de uma organização não sejam estruturados. As organizações que desejam usar seus dados não estruturados para desbloquear o poder da IA precisam procurar outra solução.
- Sem suporte para IA e machine learning. Os data warehouses são criados e otimizados especificamente para cargas de trabalho DWH comuns, incluindo relatórios históricos, BI e consultas; eles nunca foram projetados nem tiveram como finalidade dar suporte a cargas de trabalho de machine learning.
- Somente SQL: os DWHs normalmente não oferecem suporte para Python ou R, as linguagens de escolha para desenvolvedores de aplicativos, data scientists e engenheiros de machine learning.
- Dados duplicados: muitas empresas têm data warehouses e data marts temáticos (departamentais), além de um data lake, o que resulta em dados duplicados, muito ETL redundante e nenhuma fonte de verdade única.
- Dificuldade em manter a sincronia: manter duas cópias dos dados sincronizados entre o lake e o warehouse aumenta a complexidade e a fragilidade, dificultando o gerenciamento. O desvio de dados pode levar a relatórios inconsistentes e análises incorretas.
- Formatos fechados e proprietários aumentam a dependência do fornecedor: a maioria dos data warehouses corporativos usa seu próprio formato de dados proprietário, em vez de formatos baseados em código aberto e padrões abertos. Isso aumenta a dependência do fornecedor, dificulta ou impossibilita a análise de seus dados com outras ferramentas e dificulta a migração dos dados.
- Alto custo: os data warehouses comerciais cobram tanto pelo armazenamento quanto pela análise de seus dados. Assim, os custos de armazenamento e compute ainda estão fortemente interligados. A separação de compute e armazenamento com um lakehouse significa que você pode escalar de forma independente, conforme necessário.
Como os lakehouses resolvem esses desafios
As arquiteturas lakehouse resolvem esses desafios específicos para oferecer o melhor em data lakes e warehouses. Veja o valor de uma arquitetura lakehouse na Databricks.
Databricks Lakehouse para armazenamento de dados
Para construir um lakehouse de sucesso, as organizações recorrem ao Delta Lake, uma camada de governança e gerenciamento de dados em formato aberto e de código aberto que combina o melhor dos data lakes e data warehouses. A Plataforma Databricks Lakehouse usa o Delta Lake para oferecer:
- Melhor desempenho global de data warehouse na economia de data lake.
- Serverless SQL compute que elimina a necessidade de gerenciamento da infraestrutura.
- Integração perfeita com a pilha de dados moderna, como dbt, Tableau, PowerBI e Fivetran, para ingerir, consultar e transformar dados no local.
- Uma experiência de desenvolvimento SQL de primeira classe para todos os profissionais de dados em sua organização com suporte aos padrões ANSI-SQL.
- Governança refinada com linhagem de dados, tags em nível de tabela/linha, controles de acesso baseados em funções e muito mais.
Recursos adicionais
- Página do produto do Databricks SQL
- eBook - Why Is the Lakehouse Your Next Data Warehouse?
- Databricks estabelece recorde oficial de desempenho para armazenamento de dados
- Databricks nomeada líder no Quadrante Mágico da Gartner de 2021 para Plataformas de Data Science e Machine Learning
- Bill Inmon - Building the Data Lakehouse