# Data Lake

Data lake é um repositório utilizado para armazenar todos os dados estruturados e não estruturados. Ao armazená-los de forma não estruturada pode-se realizar diferentes tipos de análise, incluindo processamento de big data, análise em tempo real e machine learning, a fim de adquirir melhores decisões. Além disso, o data lake aproveita mais dados, de mais fontes, em menos tempo e todos os dados são mantidos, mesmo depois de finalizados eles ficam armazenados para próximas análises.
Dessa forma, as empresas podem utilizar os dados da maneira que preferem e estão investindo no Data Lake cada vez mais.

## Passado

James Dixon, então diretor de tecnologia da Pentaho, supostamente cunhou o termo para dar contraste com o data mart, que é um repositório menor de atributos interessantes derivados de dados brutos. Ao promover data lake, ele argumentou que os data marts têm vários problemas inerentes, como a silagem de informações . A PricewaterhouseCoopers disse que os data lake podem "acabar com os silos de dados". Em seu estudo sobre lagos de dados, eles observaram que as empresas estavam "começando a extrair e colocar dados para análise em um único repositório baseado no Hadoop". Hortonworks, Google, Oracle, Microsoft, Zaloni, Teradata, Impetus Technologies, Cloudera e Amazon agora possuem ofertas de data lake.

## Exemplos

Muitas empresas usam serviços de armazenamento em nuvem, como o Azure Data Lake e Amazon S3, ou um sistema de arquivos distribuído, como o Apache Hadoop . Há um interesse acadêmico gradual no conceito de lagos de dados. Por exemplo, o Personal DataLake da Cardiff University é um novo tipo de data lake que visa gerenciar o big data de usuários individuais, fornecendo um ponto único de coleta, organização e compartilhamento de dados pessoais. A versão anterior do data lake (Hadoop 1.0) tinha recursos limitados com seu processamento orientado a lotes ( MapReduce ) e era o único paradigma de processamento associado a ele. Interagir com o data lake significava que era necessário ter conhecimento em Java com ferramentas de redução de mapa e de nível superior, como Apache Pig, Apache Spark e Apache Hive (que por si só eram orientados a lotes).

## Crítica

Em junho de 2015, David Needle caracterizou "os chamados lagos de dados" como "uma das maneiras mais controversas de gerenciar big data ". A PricewaterhouseCoopers também teve o cuidado de observar em suas pesquisas que nem todas as iniciativas de data lake são bem-sucedidas. Eles descrevem as empresas que constroem data lakes bem-sucedidos, amadurecendo gradualmente seu lago ao descobrir quais dados e metadados são importantes para a organização. Outra crítica é que o conceito é nebuloso e arbitrário. Refere-se a qualquer ferramenta ou prática de gerenciamento de dados que não se encaixe na arquitetura tradicional do armazém de dados . O data lake foi referido como uma tecnologia específica. O data lake foi rotulado como um reservatório de dados brutos ou um hub para descarga de ETL. O data lake foi definido como um hub central para análise de autoatendimento. O conceito de data lake foi sobrecarregado de significados, o que coloca em dúvida a utilidade do termo.
Embora sejam necessárias as críticas aos lagos de dados, em muitos casos elas são excessivamente amplas e podem ser aplicadas a qualquer empreendimento tecnológico em geral e a projetos de dados especificamente. Por exemplo, o termo “data warehouse” atualmente sofre da mesma definição opaca e alterada que um data lake. Também se pode dizer que nem todos os esforços de armazenamento de dados foram bem-sucedidos. Em resposta a várias críticas, McKinsey observou que o data lake deve ser visto como um modelo de serviço para agregar valor comercial à empresa, não um resultado de tecnologia.

## Comparações entre data lake e data ware house

Muito se especula quando o assunto é data lake e data warehouse e um erro comum é afirmar que ambos são a mesma coisa.
O data lake tem uma proporção maior com relação ao data warehouse, os dados podem vir de várias fontes diferentes e se encontrar no “lago”, é importante lembrar que no data lake, todos os tipos de dados são permitidos, assim como, dados estruturados, os dados não estruturados entram também. Por armazenar dados brutos, não é necessário ter uma finalidade específica para essas informações, é possível coletar os dados instantaneamente e depois descobrir uma finalidade para eles. Uma observação é que aqui, os dados podem ser de vários formatos diferentes, podem ser vídeos, imagens, dados coletados em tempo real, etc.
Já quando falamos de data warehouse, estamos falando de um local centralizado de armazenamento de dados, falamos também apenas de dados estruturados, com características conhecidas com antecedência para o processo de extração e lapidação dos dados. Um detalhe importante é que antes de colocar dados nesse modelo de repositório de big data, é necessário processá-los, sendo preciso decidir quais dados serão incluídos. O data warehouse oferece um modelo de dados estruturados projetado para a geração de relatórios.
Um ponto negativo desse modelo é que refinar os dados antes de armazenar é um processo demorado e trabalhoso, podendo demorar meses impossibilitando assim uma coleta imediata.

## Considerações para adoção do datalake dentro de ambiente corporativo

É cada vez mais comum, mais empresas investirem em DataLake, e para isso, as empresas precisam considerar alguns recursos importantes antes de implementar um datalake:
Movimentação de dados: Garantir um processo de importação de uma grande quantidade de dados dos bancos transacionais com certa periodicidade, garantindo a integridade dos sistemas e o funcionamento das aplicações que consomem o banco transacional, mesmo durante a importação.
Armazenamento e catalogação de dados com segurança: é importante pensar em aspectos de segurança da informação e armazenamento de informações sensíveis. Protegendo e anonimizando os dados.
Análises: Planejar a estruturação dos dados de forma a facilitar o acesso aos dados a nível analítico, ou seja, de forma que os dados consigam trazer dados de forma informacional.
Machine learning: Estruturar os dados pensando na geração de massa de dados para alimentar modelos de IA e machine learning.