Quando pensamos nos usos dos dados que utilizamos diariamente, devemos levar em consideração que esses dados, na grande maioria das vezes, devem ser utilizados para diversas funções e não devem ser considerados produtos descartáveis, sejam dados mais antigos ou mais recentes.
Toda essa quantidade de dados são informações que, consequentemente, acabam sendo estratégicas para as mais diversas tomadas de decisões e para as mais diversas finalidades.
De alguns anos para cá, passamos a valorizar ainda mais os dados que as empresas utilizam diariamente, tendo como base um futuro não muito distante em que somos obrigados a otimizar processos para tomada de decisões e usos cada vez mais rápidos.
Neste caminho vimos surgir a ideia dos data lakehouses, que nada mais são do que a combinação de data lakes (grandes repositórios de dados brutos em sua forma original) e data warehouses (conjuntos organizados de dados estruturados), que utilizam o que as arquiteturas apresentam de melhor em cada um deles para criar um espaço gigantesco de armazenamento de dados brutos com custos mais baixos.
Além dos custos reduzidos, este novo caminho para as arquiteturas de armazenamento, é atraente para empresas que buscam empregar várias soluções para diferentes usos em seu dia a dia, pois elas podem substituir vários sistemas por um único lakehouse. Porém, é importante ressaltar que neste modelo de arquitetura, não podemos esperar uma única fonte de informações e acaba sendo um excelente trunfo para as empresas quando combinado com a tecnologia da Starburst ou Starburst Galaxy, por exemplo.
Abaixo iremos explorar um pouco mais sobre cada uma destas arquiteturas, trazendo uma visão geral sobre os seus benefícios e limitações que tornam os data lakehouses uma opção de arquitetura para grandes volumes de informações.
Banco de Dados:
Os bancos de dados representam a base tradicional da tecnologia de dados. Embora possam assumir várias formas, todos os bancos de dados facilitam a coleta estruturada de dados. Esses dados são organizados e armazenados de forma sistemática para permitir a recuperação, o gerenciamento e a manipulação eficientes das informações.
As tecnologias de banco de dados geralmente são categorizadas por sua funcionalidade, finalidade e recursos, como por exemplo:
Sistemas de gerenciamento de banco de dados (DBMS): São a espinha dorsal quando falamos em soluções de dados, sendo utilizados, principalmente, para execução de operações de criação, leitura, atualização e exclusão (CRUD) apoiando diversas outras aplicações de negócios.
OLTP (Online Transactional Processing): Sistemas usados para a criação de dados transacionais. São comumente utilizados para fazer o registro de transações financeiras e dados de log, por exemplo.
Conformidade com ACID: Podemos definir ACID como Atomicidade, Consistência, Isolamento e Durabilidade. Esse sistema funciona para validação de dados transacionais, quando utilizados, eles funcionam com 100% de precisão ou falham totalmente. Com este tipo de autenticidade os dados evitam qualquer tipo de perda ou não conformidade.
Data Warehouses:
Os Data Warehouses são um dos modelos de armazenamento de dados mais tradicionais e empregam um repositório centralizado, estruturado e integrado, projetado especificamente para consultas, relatórios e análises. Se em um momento anterior esses bancos de dados eram utilizados de forma local, de alguns anos para cá este processo de armazenamento de dados vem sendo transferido para a nuvem.
Porém é importante ressaltar que mesmo os data warehouses locais ou aqueles que estão alocados na nuvem possuem as mesmas vantagens e desvantagens. Abaixo iremos explorar um pouco mais sobre os data warehouses.
Dados Estruturados: Para que os data warehouses consigam funcionar de forma correta, é importante que os dados armazenados estejam estruturados de forma correta, por meio de padrões estabelecidos previamente.
Performance: Quando falamos especificamente sobre dados estruturados, os data warehouses possuem um alto desempenho, sendo assim, dependendo da carga de trabalho ainda é recomendado o uso de data warehouses.
Pontos Negativos: Quando falamos de dados não estruturados, os data warehouses acabam não suportando esse tipo de informação, que acaba tendo um desempenho melhor em data lakes, por exemplo. Além disso, quando falamos em recursos, os data warehouses acabam exigindo uma carga muito grande de recursos financeiros e tecnológicos, tornando-se inviável para parte das empresas.
Data Lakes:
Os Data Lakes são um dos modelos de armazenamento mais modernos atualmente, sendo utilizados para armazenar dados estruturados, não estruturados e semiestruturados, além disso, são projetados para armazenar grandes volumes de informações e em processos de Machine Learning (ML) e Inteligência Artificial (IA). Normalmente são utilizados em processos de leitura e acabam tendo um custo muito mais reduzido quando comparado com os data warehouses.
Vários Formatos de Dados: Diferentemente dos data warehouses, os data lakes possuem uma abrangência muito maior de formatos de dados, sendo assim, acabam sendo muito mais abrangentes. Além disso, em relação aos custos, os data lakes possuem um custo de tecnologia muito mais baixo do que outras soluções.
Otimizado para Aprendizado de Máquina (ML) e IA: Os data lakes armazenam uma grande quantidade de dados brutos. Isso os torna ideais para a ingestão de estruturas de aprendizado de máquina, muitas vezes orientadas por modelos criados com Python, Scala ou R. Eles também são uma tecnologia essencial usada no treinamento de modelos emergentes de inteligência artificial (IA).
Por que os Data Lakes acabam sendo muito mais utilizados?
Quando analisamos de forma mais aprofundada, percebemos que o uso do Data Lake por parte das empresas está diretamente relacionado com a facilidade que os Data Lakes possuem quando o assunto é escalabilidade e custos. Quando pensamos em grandes empresas, é impossível armazenar informações em grandes volumes utilizando uma arquitetura que não possa ser escalada, ainda mais quando estamos falando em multinacionais, por exemplo.
Neste sentido, os Data Lakes, quando falamos em capacidade de armazenamento e custos, fornecem uma arquitetura de baixo custo e que consegue armazenar grandes volumes de dados brutos. Além disso, é importante ressaltar que neste tipo de armazenamento, a capacidade de computação e armazenamento são separadas, permitindo que elas sejam reduzidas ou aumentadas independentemente.
Com isso, o Data Lake permite que os arquitetos aloquem recursos conforme a necessidade e no momento necessário. Por exemplo, se uma organização precisar de armazenamento adicional, ela poderá adquiri-lo de forma rápida e eficiente, sem precisar adquirir também recursos de computação que talvez não sejam necessários. Em vez disso, as necessidades de computação ou armazenamento são dimensionadas individualmente, em tempo real, economizando muito tempo, esforço e dinheiro.
Por fim, quando olhamos de forma mais aprofundada para os custos, vemos que os data lakes possuem um armazenamento muito mais barato, quando comparado com outras formas de armazenamento. Além disso, com o avanço das tecnologias, o seu desempenho cresceu e atualmente pode ser equiparado aos data warehouses tradicionais.
A combinação de um sistema dimensionável, econômico e eficiente é uma vitória clara para muitas organizações, definindo uma sobreposição ideal entre diferentes fatores.
Qual a diferença entre Data Lake e um Data Lakehouse?
Nos últimos anos, os data lakes amadureceram a um ponto em que os data lakes modernos incluem muitos recursos que não existiam nas iterações anteriores. Esses lagos de dados modernos são definidos por formatos de tabela modernos e abertos, como Iceberg, Delta Lake ou Hudi. Eles incluem suporte transacional aprimorado, rivalizando com os melhores bancos de dados OLTP, e recursos como evolução de esquema, evolução de partição e viagem no tempo. Isso reduziu ainda mais a lacuna entre data lakes, data warehouses e bancos de dados. Essa convergência deu origem ao termo data lakehouse para descrever os data lakes modernos, nomeado devido à mistura de data lake e data warehouses.
Os data lakehouses incluem vários recursos importantes que os diferenciam dos data lakes tradicionais. Esses recursos incluem:
Camada de Governança Aprimorada e Coleta de Metadados:
Em comparação com um data lake tradicional, um data lakehouse lida com a governança de dados de uma maneira superior. Esse é o resultado de uma abordagem mais avançada para a coleta de metadados, que é capaz de construir melhor um registro preciso das alterações na tabela a qualquer momento. Esse é o principal recurso que permite recursos aprimorados e a adoção de funcionalidades que apagam a distinção entre data lake, data warehouse e banco de dados.
Data Lake Tradicional:
Os data lakes, especialmente os que usam armazenamento de objetos em nuvem, normalmente utilizam uma camada de armazenamento imutável. Ela pode ser criada usando o AWS S3, o Azure ADLS, o Google Cloud Storage ou outro sistema semelhante. Nesses sistemas, os dados podem ser lidos e gravados, mas normalmente não podem ser totalmente excluídos ou atualizados. Esse problema geralmente afeta os usuários do Hive, que podem se encontrar em situações em que acreditam que os dados do usuário foram excluídos quando, na verdade, eles persistiram.
Formatos de Tabela Modernos:
Todos esses recursos e benefícios são possíveis por meio da adoção de um dos formatos modernos de tabela de lakehouse, como Iceberg, Delta Lake ou Hudi. Esses formatos adicionam uma camada de metadados sobre as tabelas em um data lakehouse que permite recursos do tipo data warehouse.
Uso de Formatos de Arquivo Modernos:
É importante observar que os data lakehouses também usam formatos de arquivos modernos da maneira que se espera de um data lake. Isso inclui formatos de arquivos populares e modernos, como Parquet, ORC e Avro.
Aprimoramentos com um Lakehouse:
Em um data lakehouse, os aprimoramentos na camada de governança melhoram a coleta de metadados, permitindo que os dados sejam totalmente atualizados e excluídos conforme necessário. Isso abre novos casos de uso anteriormente fechados para os data lakes tradicionais. Por exemplo, garante que os requisitos regulatórios, como o GDPR, possam ser totalmente implementados usando a tecnologia de data lake. A governança do GDPR geralmente exige a capacidade de excluir dados do usuário mediante solicitação.
Este é o Fim dos Data Lakes?
De modo geral, você deve pensar no data lakehouse como uma evolução do data lake, não como um substituto. Por isso, a adoção de um data lakehouse pode ser gradual. Não se trata de uma tecnologia em que os usuários tenham que repensar tudo o que estão fazendo ou acabar com os processos estabelecidos. Em vez disso, um data lakehouse pode se adequar à evolução natural do padrão de uso de dados de uma organização, ao mesmo tempo em que oferece muitos aprimoramentos ao longo do caminho.
Se você gostou deste conteúdo, te convidamos a ficar atento ao blog da Digiage e, em caso de dúvidas, estamos à disposição para te ajudar!