# Data Lakehouse

*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;">, como um conceito moderno de armazenamento de dados em formato nativo, foi apresentado como um substituto para </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">. No entanto, com o passar do tempo, ficou claro que </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> pode ser utilizado em complementação ao </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">, não como substituto (OREŠČANIN e HLUPIĆ, 2021).</span>

*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;"> (DW) surgiram com o intuito de auxiliar usuários de negócio a obterem </span>*<span style="font-weight: 400;">insights</span>*<span style="font-weight: 400;"> analíticos através da centralização de dados provenientes de diversas fontes, principalmente de bancos de dados operacionais. Os dados em um DW são utilizados como suporte à tomada de decisão por meio de aplicações de </span>*<span style="font-weight: 400;">Business Intelligence</span>*<span style="font-weight: 400;"> (BI). Os dados em um DW são armazenados em uma estrutura fixa, em </span>*<span style="font-weight: 400;">schemas</span>*<span style="font-weight: 400;"> pré-definidos (</span>*<span style="font-weight: 400;">schema-on-write</span>*<span style="font-weight: 400;">), de modo a garantir segurança e performance. Este tipo de solução é chamado de plataforma de análise de dados de **primeira geração** (ARMBRUST, GHODSI, XIN e ZAHARIA, 2021).</span>

<span style="font-weight: 400;">Com o surgimento do </span>*<span style="font-weight: 400;">Big Data</span>*<span style="font-weight: 400;"> (grande volume de dados, em grande velocidade e variedade de fontes e múltiplos formatos), os </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;"> passaram a não conseguir suprir as necessidades de algumas organizações, surgindo então a **segunda geração** de plataforma de análise de dados, os </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> (ARMBRUST, GHODSI, XIN e ZAHARIA, 2021). </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> utilizam formas de armazenamento de baixo custo (HDFS do Apache Hadoop, por exemplo) e, geralmente, com formatos de armazenamento abertos, como Apache Parquet e ORC. </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> possuem arquitetura </span>*<span style="font-weight: 400;">schema-on-read</span>*<span style="font-weight: 400;">, ou seja, os dados não são armazenados em estruturas rígidas pré-definidas, e sim em seu formato original. Fornecendo flexibilidade e agilidade no armazenamento e acesso aos dados. Porém, por outro lado, a flexibilidade trazida por </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> traz problemas de qualidade e governança de dados, como já apontado por Khine e Wang (2018) e Sawadogo e Darmont (2021).</span>

<span style="font-weight: 400;">De 2015 em diante surgiu uma nova forma de organização das plataformas de dados, com a utilização complementar de </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> e </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">. </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> em nuvem, como S3, ADLS e GCS têm substituído o Apache HDFS, com o armazenamento posterior de parcela dos dados em </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">, como Redshift e Snowflake (ARMBRUST, GHODSI, XIN e ZAHARIA, 2021). **Esta arquitetura de duas camadas,** </span>***Data Lake* + *Data Warehouse* é, segundo Armbrust, Ghodsi, Xin e Zaharia (2021), dominante no mercado (aparentemente utilizado por todas as empresas do ranking Fortune 500).**

<span style="font-weight: 400;">Esta arquitetura de duas camadas possui alta complexidade de manutenção. Primeiramente os dados são carregados em um </span>*<span style="font-weight: 400;">Data Lake</span>*<span style="font-weight: 400;">, e depois em um </span>*<span style="font-weight: 400;">Data Warehouse</span>*<span style="font-weight: 400;">, exigindo portanto duas etapas de ETL até a sua disponibilização para análise por usuários de BI. A nova arquitetura, portanto, aumentou a complexidade, os atrasos e os pontos de falha se comparada à estratégia de inclusão de dados diretamente no </span>*<span style="font-weight: 400;">Data Warehouse</span>*<span style="font-weight: 400;">, por exemplo (ARMBRUST, GHODSI, XIN e ZAHARIA, 2021).</span>

<span style="font-weight: 400;">Diante dos problemas ainda não solucionados por </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;"> e/ou </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;">, surge um novo conceito de arquitetura denominado </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;">, com o objetivo de superar tais problemas (OREŠČANIN e HLUPIĆ, 2021).</span>

<span style="font-weight: 400;">Um </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;"> busca combinar as vantagens das arquiteturas presentes em </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> e </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">, contendo tanto estruturas de dados pré-definidas (</span>*<span style="font-weight: 400;">schema-on-write</span>*<span style="font-weight: 400;">), quanto não pré-definidas (</span>*<span style="font-weight: 400;">schema-on-read</span>*<span style="font-weight: 400;">) (OREŠČANIN e HLUPIĆ, 2021).</span>

<span style="font-weight: 400;">Conceitualmente, um </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;"> promete conciliar as demandas de armazenamento de dados heterogêneos de modo eficiente e econômico, permitindo o acesso aos mesmos por meio de diversos tipos de aplicações, desde aquelas baseadas em aprendizado de máquina àquelas baseadas em SQL. De modo geral, </span>*<span style="font-weight: 400;">Data Lakehouses</span>*<span style="font-weight: 400;"> buscam solucionar os problemas de confiabilidade e obsolescência de dados, suporte limitado a análises avançadas e diminuição do custo total de propriedade das arquiteturas de dados (BEGOLI, GOETHERT E KNIGHT, 2021).</span>

**Definição**

<span style="font-weight: 400;">Armbrust, Ghodsi, Xin e Zaharia (2021) definem um </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;"> como um sistema de gerenciamento de dados baseado em armazenamento de baixo custo e de acesso direto, que também fornece recursos de desempenho e gerenciamento analíticos tradicionais de SGBDs, como transações ACID, controle de versão de dados, auditoria, indexação, armazenamento em cache e otimização de consultas. Deste modo, </span>*<span style="font-weight: 400;">Lakehouses </span>*<span style="font-weight: 400;">combinam os principais benefícios de </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> e </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">: armazenamento de baixo custo em formatos abertos e acessíveis, e poderosos recursos de gerenciamento e otimização. A questão-chave é se é possível combinar esses benefícios de maneira eficaz: em particular, o suporte de </span>*<span style="font-weight: 400;">Lakehouses </span>*<span style="font-weight: 400;">para acesso direto aos dados significa que eles abrem mão de alguns aspectos de independência de dados, que tem sido um dos pilares do design de SGBDs relacionais.</span>

<span style="font-weight: 400;">Begoli, Goethert e Knight (2021) afirmam que o conceito de </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;"> ainda é vago, não materializado. De acordo com os autores, não há ainda uma solução completa definitiva, “fora da prateleira”, para o conceito de </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;">. Ou seja, é ainda um conceito em evolução, que parte das seguintes premissas:</span>

- *<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;"> oferecem suporte a uma gestão de dados eficiente;</span>
- <span style="font-weight: 400;">Formatos abertos (Apache Parquet, OCR, etc.) provêem suporte a ferramentas e bibliotecas de inteligência artificial / aprendizado de máquina;</span>
- <span style="font-weight: 400;">O estado da arte em performance SQL pode ser reproduzido sobre formatos abertos.</span>

**Direcionamento da indústria**

<span style="font-weight: 400;">Armbrust, Ghodsi, Xin e Zaharia (2021) argumentam que a arquitetura de </span>*<span style="font-weight: 400;">Data Warehouse</span>*<span style="font-weight: 400;"> como a conhecemos hoje tende a perder importância nos próximos anos, e deverá ser substituída por um novo padrão arquitetônico, o </span>*<span style="font-weight: 400;">Data Lakehouse</span>*<span style="font-weight: 400;"> que:</span>

- <span style="font-weight: 400;">Será baseado em formatos de dados abertos de acesso direto, como Apache Parquet;</span>
- <span style="font-weight: 400;">Terá suporte de primeira classe para aprendizado de máquina e ciência de dados;</span>
- <span style="font-weight: 400;">Oferecerá desempenho de última geração.</span>

<span style="font-weight: 400;">De acordo com </span><span style="font-weight: 400;">Armbrust, Ghodsi, Xin e Zaharia (2021)</span>*<span style="font-weight: 400;">, Data</span>* *<span style="font-weight: 400;">Lakehouses </span>*<span style="font-weight: 400;">podem ajudar a enfrentar vários desafios importantes enfrentados atualmente com Data Lakes e </span>*<span style="font-weight: 400;">Data Warehouses</span>*<span style="font-weight: 400;">, incluindo:</span>

- <span style="font-weight: 400;">Dados desatualizados;</span>
- <span style="font-weight: 400;">Confiabilidade;</span>
- <span style="font-weight: 400;">Custo total de propriedade;</span>
- <span style="font-weight: 400;">Aprisionamento de dados;</span>
- <span style="font-weight: 400;">Suporte limitado a casos de uso específicos.</span>

<span style="font-weight: 400;">Armbrust, Ghodsi, Xin e Zaharia (2021) concluem que a indústria tende a convergir para a adoção de </span>*<span style="font-weight: 400;">Data Lakehouses</span>*<span style="font-weight: 400;"> devido à vasta quantidade de dados já depositados atualmente em </span>*<span style="font-weight: 400;">Data Lakes</span>*<span style="font-weight: 400;">, e devido à grande oportunidade de simplificação das suas arquiteturas de dados.</span>

[![image-1647025671823.png](https://kb.ufla.br/uploads/images/gallery/2022-03/scaled-1680-/Axwz7rLv1wxXb48L-image-1647025671823.png)](https://kb.ufla.br/uploads/images/gallery/2022-03/Axwz7rLv1wxXb48L-image-1647025671823.png)

**Figrua 1: Evolução das arquiteturas de plataforma de dados. Fonte: (ARMBRUST, GHODSI, XIN e ZAHARIA, 2021).**