O aumento de dados não estruturados é um grande desafio para as empresas.
Com o crescente número de dispositivos portáteis, podemos reconhecer a expansão de vários formatos de dados como:
- Dados binários (imagens, áudio/vídeo) CSV;
- Logs;
- XML;
- JSON;
- Dados não estruturados (e-mails, documentos).
Todos esses exemplos são um desafio para os sistemas de banco de dados. É aí que entra o tal do “Data Lake”.
Neste artigo, apresentaremos para você esse conceito interessante que pode ajudá-lo a enfrentar os desafios mencionados. Confira o conteúdo apresentado:
- O que é data lake e qual a importância?
- Quais as vantagens do data lake
- Qual a relação do data lake com o big data?
- Quais as desvantagens e pontos negativos do data lake?
- Quais as principais aplicações do data lake?
- Como é a estrutura do data lake?
- Quais as diferenças entre data lake, data warehouse e data hub?
- Quais as diferenças entre CDPs e data warehouse?
- Data lake Azure, Data lake on premises, Data lake cloud e Data lake AWS: qual o melhor?
- Como trabalhar com data lake?
O que é data lake e qual a importância?
Um data lake inclui todas as fontes de dados, como não estruturadas e semiestruturadas, de uma ampla variedade de fontes de dados, o que o torna muito mais flexível em seus possíveis casos de uso. Eles geralmente são construídos em servidores de baixo custo, tornando economicamente viável armazenar terabytes e até petabytes de dados.
Uma fonte de dados não estruturados representa um lugar da onde saem informações que não podem ser agrupadas facilmente e organizadas em tabelas comuns. Por serem tão diferentes, é um grande desafio colocá-los juntos em um banco de dados tradicional. Por isso, utiliza-se o data lake.
Ele fornece serviços de ponta a ponta que reduzem o tempo, o esforço e o custo necessários para executar pipelines de dados, análises de streaming e cargas de trabalho de aprendizado de máquina em qualquer nuvem.
Um data lake não requer nenhum trabalho inicial nos dados. Você pode simplesmente integrar e armazenar dados à medida que são transmitidos de várias fontes. Dependendo dos recursos do sistema que estiver usando, você poderá configurar a ingestão de dados em tempo real.
Conheça a história do data lake!
James Dixon, enquanto diretor de tecnologia da Pentaho, cunhou o termo em 2011 para diferenciá-lo do termo data mart, que é um repositório menor de atributos interessantes derivados de dados brutos. Ao promover os data lakes, ele argumentou que os data marts têm vários problemas inerentes, como o armazenamento de informações.
Empresas como Hortonworks, Google, Oracle, Microsoft, Zaloni, Teradata, Impetus Technologies, Cloudera, MongoDB e Amazon Web Services usam o termo desde 2016.
Quais as vantagens do data lake
Os principais benefícios que o data lake oferecem são:
- Armazenamento de dados em formato nativo: Um data lake elimina a necessidade de modelagem de dados no momento da ingestão. Podemos fazer isso no momento de encontrar e explorar dados para análise. Oferece uma grande flexibilidade para a sua regra de negócio.
- Escalabilidade: Oferece escalabilidade e é relativamente barato em comparação com outras formas de armazenamento, levando em conta a escalabilidade.
- Versatilidade: Um data lake pode armazenar dados multiestruturados de diversas fontes. Em palavras simples, ele pode armazenar logs, XML, multimídia, dados de sensores, binários, dados sociais, bate-papo e dados de pessoas.
- Suporta não apenas SQL, mas mais linguagens: Tradicionalmente, temos apenas o suporte para o SQL, que é adequado para análises simples. Entretanto, para casos de uso avançados, pode não atender tão bem. O Data Lake oferece várias opções e suporte a idiomas para análise. Possui Hive/Impala/Hawq que suporta SQL, mas também possui recursos para necessidades mais avançadas. Por exemplo, para analisar os dados em um fluxo, você pode usar o PIG ou para fazer o aprendizado de máquina, você pode usar o Spark MLlib.
- Análise avançada: Um data lake se destaca por utilizar a disponibilidade de grandes quantidades de dados coerentes junto com algoritmos de aprendizado profundo. Ele ajuda na análise de decisões em tempo real, ao contrário de outros métodos utilizados no mercado.
Qual a relação do data lake com o big data?
Muitas vezes, os termos big data e data lake são usados em conjunto, até mesmo de forma intercambiável. No entanto, elas não são identicas. Big Data é um conceito de tecnologia, data lake um conceito de negócios.
O data lake consegue ajudar o big data a resolver um dos problemas com processamento e análise de gigantescas montanhas de dados (estamos falando de dados na casa de petabytes).
Tradicionalmente, o modelo de warehouse não consegue suprir a demanda de informações e acabamos tendo uma enorme migração para os data lakes. O principal ponto que torna essa tecnologia tão poderosa é a descentralização dos processos e ao mesmo tempo a união para resolver um problema bem maior.
Quais as desvantagens e pontos negativos do data lake?
Dependendo de suas necessidades de armazenamento e análise de dados, os data lakes também apresentam algumas desvantagens. As desvantagens incluem:
- Implantação complexa no ambiente local: a criação de um data lake na nuvem é um processo simples. A implantação de um no ambiente local pode ser significativamente mais complexa. Soluções locais, como Hadoop ou Splunk, estão disponíveis, mas eles geralmente são criados para a nuvem.
- Curva de aprendizado: Há um pouco de curva de aprendizado pois estamos usando novas ferramentas e novos serviços com um data lake. Isso requer ajuda externa, treinamento ou recrutamento de membros da equipe com conjuntos de habilidades de data lake.
- Migração: Se você já está trabalhando com um data warehouse, a transição para um data lake exige um planejamento cuidadoso de sua estratégia de dados para gerenciar seus conjuntos de dados. Dependendo da sua infraestrutura, isso pode ser um desafio.
- Manipulação de consultas: É rápido e fácil ingerir dados, mas ele não é otimizado para consultas da mesma forma que os dados estruturados e semiestruturados estão em um data warehouse. O uso de práticas recomendadas para consultas de banco de dados pode ajudar, mas a recuperação de dados não é tão simples quanto em um data warehouse. Em um data lake, os dados são processados após serem carregados usando o processo Extract, Load, Transform (ELT).
- Governança, consistência semântica e controles de acesso são necessários, caso contrário, o data lake pode acabar com milhares de dados brutos e inutilizáveis.
Quais as principais aplicações do data lake?
Há várias maneiras de usar um data lake:
- Um data lake é uma ótima solução para armazenar dados do tipo IoT (Internet das Coisas) que tradicionalmente são mais difíceis de armazenar e podem suportar análises quase em tempo real.
- Análise experimental de dados antes que sua regra de negócio tenha sido totalmente definida. A agilidade é importante para todos os negócios nos dias de hoje, portanto, um data lake pode desempenhar um papel importante em situações que temos que desenvolver uma “prova de conceito” devido à sua abordagem flexível.
- Suporte analítico avançado. Um data lake é útil para cientistas e analistas de dados provisionarem e experimentarem dados.
- Armazenamento de dados arquivísticos e históricos. Às vezes, os dados são usados com pouca frequência, mas precisam estar disponíveis para análise.
- Armazenamento de todos os dados organizacionais para apoiar atividades de relatórios e análises downstream. Algumas organizações desejam obter um único repositório de armazenamento para todos os tipos de dados.
- Suporte a aplicativos. Além da análise por pessoas, um data lake pode ser uma fonte de dados para um aplicativo front-end. Ele também pode atuar como um editor para um aplicativo downstream (embora a ingestão de dados no data lake para fins de análise continue sendo o uso mais citado).
Como é a estrutura do data lake?
Um data lake armazena grandes volumes de dados estruturados, semiestruturados e não estruturados em seu formato nativo. Sua arquitetura evoluiu para atender melhor às demandas de empresas cada vez mais orientadas por dados, à medida que os volumes de dados continuam aumentando.
O ambiente moderno do data lake pode ser operado com ferramentas SQL conhecidas. Como todos os objetos de armazenamento e recursos de computação necessários são internos à plataforma da data lake, o acesso aos dados é rápido e a análise pode ser executada com eficiência e rapidez.
Isso difere significativamente das arquiteturas legadas, em que os dados eram armazenados em um ambiente de dados externo e precisavam ser copiados para outra camada de armazenamento para análise, afetando a velocidade das pesquisas e o desempenho geral.
Data lakes estruturados
Dados estruturados são os dados bem organizados que você mantém em bancos de dados, conjuntos de dados e planilhas. É fácil para as ferramentas de análise tradicionais lerem esses dados. Organizar dados não estruturados em dados estruturados é demorado, mas é possível com a solução certa. Envolve catalogação de dados, mapeamento de dados e transformação de dados.
Data lakes semiestruturados
Os dados semiestruturados têm alguma estrutura organizacional, mas não são fáceis de analisar. Com alguma organização ou limpeza, os dados semiestruturados podem ser importados para um banco de dados relacional, assim como os dados estruturados. Dados semiestruturados e dados estruturados podem ser analisados e visualizados com algumas soluções do mercado.
Data lakes não estruturados
Dados não estruturados, ou dados brutos, vêm tendo uma taxa maior de criação em comparação com dados estruturados. Algumas plataformas como o Facebook geram centenas de terabytes de informações por dia. Os dados não estruturados também podem incluir dados de pesquisa de clientes, notas e e-mails. Como os dados não estruturados estão crescendo, as tecnologias de big data que podem analisar esses dados perfeitamente serão cruciais para as empresas.
Quais as diferenças entre data lake, data warehouse e data hub?
As principais diferenças são:
Data Lake | Data Warehouse | Data Hub | |
Principal uso | Análise, relatórios e aprendizado de máquina | Análise e relatórios | Processos Operacionais |
Formato dos dados | Estruturado e não estruturado | Estruturado | Estruturado |
Gestão de dados | Abordagem de dados “Use por sua conta e risco”. Ligeiramente governado. | Governança pós-fato, pois consome dados operacionais existentes | Pilar principal para todas as regras de aplicação de governança de dados |
Qualidade dos dados | Qualidade média / baixa | Qualidade alta | Qualidade muito alta |
Processos operacionais da empresa | Atende principalmente processos de Machine Learning. | Serve principalmente para processos de análise. | Pode ser o principal condutor dos processos de negócios corporativos. |
Interações de usuários de negócios | Requer limpeza/preparação de dados antes do consumo. O acesso aos usuários corporativos é oferecido principalmente por meio de relatórios, painéis ou consultas ad-hoc. | Oferece acesso somente à leitura de dados agregados e reconciliados por meio de relatórios, painéis analíticos ou consultas ad-hoc. | Pode ser a fonte primária de autoria de elementos-chave de dados, como dados mestre e dados de referência. Expõe interfaces amigáveis para criação de dados, administração de dados e pesquisa. |
Quais as diferenças entre CDPs e data warehouse?
Um CDP é definido como um “software empacotado que cria um banco de dados de clientes unificado e persistente que é acessível a outros sistemas”.
Um data warehouse é um repositório centralizado de dados coletados de várias fontes diferentes. As empresas usam data warehouses como um componente central de sua infraestrutura de business intelligence, usando-os como sistemas para relatórios e análise de dados.
Embora seja verdade que a maioria dos CDPs e data warehouses usem as mesmas tecnologias para dados, há muito poucas semelhanças entre os dois. Aqui estão algumas diferenças importantes entre um CDP e um data warehouse:
CDP | Data Warehouse | |
Caso de uso | Sob medida para marketing | Ideal para Inteligência de Negócios |
Suporte principal | Suporta interações diretas com o cliente | Suporta análise de dados e relatórios |
Coleta e atualização de dados | Os dados (eventos do cliente) são ingeridos em tempo real | Os dados são atualizados com menos frequência – diariamente, semanalmente ou até mensalmente, conforme os requisitos de negócios |
Processamento de dados | Os dados são processados e limpos para criar um único registro unificado e confiável | Os dados são processados e limpos, mas não são desduplicados, combinados ou mesclados |
Normalização de dados | Os dados são transformados e normalizados especificamente para fins de marketing | Os dados não são padronizados e normalizados |
Data lake Azure, Data lake on premises, Data lake cloud e Data lake AWS: qual o melhor?
Data lake Azure
O Microsoft Azure fornece uma arquitetura de data lake que consiste em duas camadas, uma para armazenamento e outra para análise. A camada de armazenamento, chamada Azure Data Lake Store (ADLS), tem capacidade de armazenamento ilimitada e pode armazenar dados em praticamente qualquer formato. Ele é construído no padrão HDFS, o que facilita a migração de dados existentes do Hadoop.
A camada de análise compreende Azure Data Lake Analytics e HDInsight, que é um serviço de análise baseado em nuvem. Você pode escrever seu próprio código para personalizar as tarefas de análise e transformação de dados.
Data lake on premises
Os data lakes são tradicionalmente implementados no ambiente local, com armazenamento em HDFS e processamento (YARN) em clusters Hadoop. O Hadoop é escalável, de baixo custo e oferece bom desempenho com sua vantagem inerente de localidade de dados (dados e computação residem juntos).
No entanto, existem desafios para criar uma infraestrutura local:
- Espaço: Servidores volumosos ocupam imóveis que se tornam custosos.
- Configuração: A aquisição de hardware e a configuração de data centers não são simples e podem levar semanas ou meses para decolar.
- Escalabilidade: Se houver necessidade de aumentar a capacidade de armazenamento, isso leva tempo e esforço, devido ao aumento da necessidade de espaço.
- Custo: As estimativas de custo provaram ser mais altas no ambiente local do que as alternativas na nuvem.
Data lake google cloud
O Google Cloud Platform (GCP) oferece sua própria oferta de data lake. O Google Cloud Storage é um serviço de armazenamento de uso geral que oferece opções de custo mais baixo, adequadas para cenários de data lake. Além dessa camada de armazenamento, você pode usar ferramentas do GCP como Cloud Pub/Sub, Dataflow, Storage Transfer Service e Transfer Appliance para inserir dados em seu data lake.
No lado da análise, a oferta do GCP é menos madura do que a dos outros provedores. O GCP oferece um serviço Hive gerenciado como parte do Cloud Dataproc e também permite que você use o Google BigQuery para executar consultas de alto desempenho em grandes volumes de dados. Para mineração e exploração de dados, o Google sugere o uso do Cloud Datalab, que inclui um serviço gerenciado do Jupyter Notebook.
Data Lake AWS
A Amazon Web Services oferece várias soluções de data lake, incluindo Amazon Simple Storage Service (Amazon S3) e DynamoDB, que é um banco de dados NoSQL com baixa latência, usado para alguns cenários de data lake de ponta. Ferramentas de ingestão de dados como Kinesis Streams, Kinesis Firehose e Direct Connect permitem que você transfira grandes quantidades de dados para o S3.
O pacote da AWS também inclui um serviço de migração de banco de dados para facilitar a transferência de dados locais para a implementação de referência de nuvem e data lake. O Elasticsearch é fornecido como um serviço gerenciado, oferecendo um processo simplificado para consultar dados de log, e o Athena fornece consultas interativas sem servidor.
Data Lake Hadoop
O Hadoop é um elemento importante da arquitetura usada para construir data lakes. Um data lake Hadoop é aquele que foi construído em uma plataforma composta de clusters Hadoop. O Hadoop é particularmente popular na arquitetura de data lake, pois é de código aberto (como parte do projeto Apache Software Foundation). Isso significa que ele pode reduzir significativamente os custos de construção de armazenamentos de dados em grande escala.
Dados e informações armazenados em clusters de Hadoop não são relacionais e podem incluir objetos JSON, arquivos de log, imagens e postagens na web. Esse tipo de arquitetura não foi desenvolvido para processamento de transações, mas sim voltado para o suporte a aplicativos de análise.
Como trabalhar com data lake?
Trabalhar com data lake é trabalhar com dados, dessa maneira, a engenharia de dados é a prática de projetar e construir sistemas para coletar, armazenar e analisar dados em escala.
É um campo amplo com aplicações em praticamente todos os setores. As organizações têm a capacidade de coletar grandes quantidades de dados e precisam das pessoas e da tecnologia certas para garantir que os dados estejam em um estado altamente utilizável quando chegarem até as pessoas cientistas e analistas de dados.
Onde atua esse profissional?
Pessoas engenheiras de dados trabalham em uma variedade de configurações para construir sistemas que coletam, gerenciam e convertem dados brutos em informações utilizáveis para cientistas de dados e analistas de negócios interpretarem. Seu objetivo final é tornar os dados acessíveis para que as organizações possam usá-los para avaliar e otimizar seu desempenho.
Aqui estão algumas tarefas comuns que você pode realizar ao trabalhar com dados:
- Adquirir conjuntos de dados alinhados às necessidades de negócios.
- Desenvolver algoritmos para transformar dados em informações acionáveis e acionáveis.
- Criar, testar e manter arquiteturas de pipeline de banco de dados.
- Colaborar com a gestão para entender os objetivos da empresa.
- Criar novos métodos de validação de dados e ferramentas de análise de dados.
- Garantir a conformidade com as políticas de segurança e governança de dados.
Quais as habilidades necessárias para trabalhar com data lake?
Aprenda os fundamentos da computação em nuvem, habilidades de codificação e design de banco de dados como ponto de partida para uma carreira.
- Codificação: A proficiência em linguagens de codificação é essencial para essa função, portanto, considere fazer cursos para aprender e praticar suas habilidades. As linguagens de programação comuns incluem SQL, NoSQL, Python, Java, R e Scala.
- Bancos de dados relacionais e não relacionais: Os bancos de dados estão entre as soluções mais comuns para armazenamento de dados. Você deve estar familiarizado com bancos de dados relacionais e não relacionais e como eles funcionam.
- Sistemas ETL (extract, transform, and load, em português extrair, transformar e carregar): ETL é o processo pelo qual você moverá dados de bancos de dados e outras fontes para um único repositório, como um data warehouse. Ferramentas comuns de ETL incluem Xplenty, Stitch, Alooma e Talend.
- Armazenamento de dados: nem todos os tipos de dados devem ser armazenados da mesma maneira, especialmente quando se trata de big data. Ao projetar soluções de dados para uma empresa, você precisa saber quando usar um data lake ou um data warehouse, por exemplo.
- Automação e script. A automação é uma parte necessária do trabalho com big data simplesmente porque as organizações são capazes de coletar muitas informações. Você deve ser capaz de escrever scripts para automatizar tarefas repetitivas.
- Aprendizado de máquina: embora o aprendizado de máquina seja mais uma preocupação de cientistas de dados, pode ser útil ter uma compreensão dos conceitos básicos para entender melhor as necessidades dessas pessoas em sua equipe.
- Ferramentas de big data: pessoas engenheiras de dados não trabalham apenas com dados regulares. Eles geralmente são encarregados de gerenciar big data. Ferramentas e tecnologias estão evoluindo e variam de acordo com a empresa, mas algumas populares incluem Hadoop, MongoDB e Kafka.
- Computação em nuvem. Você precisará entender o armazenamento em nuvem e a computação em nuvem à medida que as empresas trocam cada vez mais servidores físicos por serviços em nuvem. Iniciantes podem considerar um curso na Amazon Web Services (AWS) ou Google Cloud.
- Segurança de dados: embora algumas empresas possam ter equipes de segurança de dados dedicadas, muitas pessoas engenheiras de dados ainda têm a tarefa de gerenciar e armazenar dados com segurança para protegê-los contra perda ou roubo.
Como está o mercado de trabalho e salário?
De acordo com o site Salário, a busca por profissionais que trabalham com dados (engenheiro de dados) cresceu em 23% no ano de 2021. Também, através do site, é possível visualizar que uma pessoa profissional júnior ganha por média R$ 9.299,98, a de nível pleno recebe cerca de R$ 10.520,42, e a Sênior tem uma média salarial de R$ 12.637,45 mensais.
A data lake está sendo cada vez mais popularizada e sendo utilizada nas maiores empresas de tecnologia no mundo. O motivo é simples: essa tecnologia é eficaz para gerir todos os tipos de dados, logo, conseguimos criar mecanismos para facilitar todo o processo de desenvolvimento, focado especialmente em aprendizado de máquina.
Além disso, é possível ter um data lake em diversos lugares, tanto num ambiente local como preferencialmente é escolhido, em um ambiente da nuvem, onde o usuário pode escolher entre vários provedores de empresas gigantes, como Google, Microsoft e Amazon.
Para o desenvolvimento, precisamos de pessoas engenheiras de dados para gerenciar os data lakes. Elas são responsáveis principalmente pelo controle e padronização de informações dos ambientes. Vale ressaltar que os ambientes em data lake, são amplamente flexíveis e abertos a melhorias.
Continue aprendendo sobre tecnologia, leia o nosso artigo sobre TI: Saiba tudo sobre a área de forma descomplicada