Sistemas e formas de armazenamento de dados

O Big Data é conhecido generalizadamente por seus 4 V’s: Volume, Variedade, Velocidade e Veracidade, embora hoje existam muitas pessoas que abordam outros V’s dentro deste conceito. Neste artigo, o dataholic Rodrigo Santana vai abordar o seguinte tema: Sistemas de Armazenamento de Dados, o que consequentemente nos leva ao V de Volume, já que retrata a grande quantidade de informações que o mundo recebe diariamente. Continue lendo!

Armazenando Grandes Volumes de Dados

O Volume em Big Data é um dos fatores críticos e importantes a serem analisados dentro de uma empresa que deseja trabalhar de forma orientada a dados, e consequentemente com grandes volumes de dados, pois este em questão pode impactar diretamente os custos da empresa.

Como armazenar grandes volumes de dados?

Para essa pergunta já temos vários fatores a serem apontados, como o custo gerado devido ao armazenamento dos dados, storage, instalações elétricas tais como ar-condicionado e manutenção, e se porventura não optar por realizar toda infraestrutura de forma local, e partir para serviços em cloud, existem valores de cobranças dos serviços contratados.


Acessando Grande Volume de Dados

Como realizar o acesso a grandes conjuntos de dados armazenados?

Realizar buscas dos dados armazenados de forma rápida, mas ao mesmo tempo de forma confiável, faz com que seja necessário o uso de recursos complementares.

Esses recursos precisam ter controle de manipulação de forma assertiva para execução de cada tarefa, pois de nada adianta armazenar dados brutos se você não puder realizar posteriores análises e retirar insights, ou seja, obter o verdadeiro valor que estes dados possuem para facilitar a tomada de decisão. E o controle por traz deste armazenamento e busca do local de armazenamento, geram custos para que se mantenha seguro e eficiente.


É Necessário Armazenar Todos os Dados?

Não, afinal como foi citado acima, armazenamento gera custo. Não quer dizer que não possa realizar o armazenamento de tudo que for extraído das fontes de dados, mas tenha em mente que tudo que for armazenado será cobrado posteriormente.

Leve em consideração a premissa para o uso dos seus dados, ou seja, entenda o seu negócio e a entrega de valor que o projeto levará ao fim do processo, com isso você conseguirá filtrar de forma mais assertiva os dados necessários para cada trabalho. Afinal, entre os 4 V’s está um que julgo de suma importância, o V de Valor. De nada adianta ter dados armazenados se não conseguir tratá-los e retirar informações necessárias para tomada de decisão mostrando assim seu verdadeiro Valor.


Formas de Armazenamento no Big Data

Mais uma vez caímos no ponto crucial, que por muitas vezes é negligenciado. Antes de definirmos a forma de armazenar, devemos considerar a regra de negócio, mas abaixo vamos tentar apontar um pouco da visão e possibilidades de armazenamento em Big Data.

  • Data Warehouse:


Esta é a forma mais conhecida, por proporcionar o armazenamento e conexão de diversas fontes de dados no processamento tipo batch, ou seja, um armazenamento feito em lotes/conjuntos que foram processados por um período, segue o padrão de dados em forma tabular e estruturada. Porém, hoje com o grande volume de dados, os Data Warehouse mais modernos já estão possibilitando o tipo de armazenamento de dados não estruturados, embora essa ainda não seja a melhor opção para esse tipo de dados.

Os dados processados no tipo batch, definem seus schemas (esquemas) antes do armazenamento dos dados. Esse procedimento realiza conexões entre as tabelas e torna possível gerar conexões através de chaves primarias, chaves estrangeiras e índices através de um SGBD, como por exemplo um SQL Server. Todo esse procedimento realizado tem como objetivo auxiliar as áreas de negócio com informações para gerar relatórios e análises para tomada de decisão.



  • Data Lake:

O conceito a ser seguido para o Data Lake difere do Data Warehouse pela possibilidade de armazenamento com processamento do tipo batch, que é carregado após um período de dados armazenados/coletados, no Data Lake os arquivos são processados de forma rápida e dinâmica. Assim, são armazenados de forma crua, o qual recebe o nome de processamento do tipo: streaming. Porém, existem alguns cuidados a serem tomados durante o armazenamento, por exemplo, o processo de armazenamento deve ser realizado com cuidado no uso de mecanismos que garantam padrões onde os dados serão catalogados. Caso contrário, os dados podem se tornar lixo, ou Data Swamp, ou seja, “Pântano de Dados”, pois devido a sua alta velocidade de dados processados é inviável qualquer tipo de tratamento quando são gerados.

Este tipo de ação poderia levar a perda de informações importantes dos dados, ou até mesmo ao concluir qualquer tipo de análise com os dados colhidos, ao fim do processo de ETL (Extração, Transformação e Carregamento) a análise gerada já estaria defasada já que o recebimento de dados é constante e os insights obtidos durante a análise não seriam condizentes com a realidade.

No Data Lake os schemas são definidos durante ou após o armazenamento dos dados, mas nunca deverá ser executada antes do processo em questão. Como o foco do Data Lake é armazenar dados que não possuem dados de forma estruturada é feito uso dos Bancos de Dados Não Relacionais (NoSQL), existem diversos tipos de banco de dados, mas os principais são: Key-Value (Chave-Valor), Graph DB (Banco de Dados Orientados a Grafos), Family Column (Família de Coluna) e Document (Documentos).



  • Data Store:

O conceito de Data Store é muito interessante, pois ele lhe permite criar um armazenamento de dados específicos, ou seja, é bem diferente de um Data Warehouse, onde é necessário realizar estruturação de dados em forma tabular e schemas, ou do Data Lake onde são armazenados todos os dados sejam eles semi-estruturados ou não estruturados sendo realizado o processo de transformação dos dados posteriormente. O armazenamento do Data Store por sua vez, lhe proporciona criar um repositório de armazenamento de dados estruturados, semi-estruturados ou não estruturados e gerenciar através de índices e sem a necessidade de armazenar tudo, coletando apenas as informações necessárias para cada aplicação. Para esse tipo de aplicação temos alguns tipos de aplicações que podem ser utilizadas, como por exemplo:

  1. Armazenamento de chave-valor (Redis, Memcached);

  2. Motor de pesquisa de texto completo (Elastic Search);

  3. Fila de mensagens (Apache Kafka);

  4. Sistema de arquivos distribuídos (Hadoop HDFS, AWS S3)


Benefícios dos Conceitos: DW, DL e DS


  • Data Warehouse:

Como vimos anteriormente o DW tem como premissa realizar o armazenamento de diversas fontes de dados e com isso centralizará todas as informações necessárias em um único local, consequentemente esses dados carregados de forma consolidada são processados de forma rápida, com a realização do ETL (Extração, Transformação e Carregamento). Os dados que forem carregados ao DW ficam prontos e disponíveis para uso das áreas interessadas para realização de análises de forma visual podendo gerar dados a nível histórico ou até mesmo criações de predição para prospectar ações futuras.

  • Data Lake:

Envio direto dos dados em seu formato bruto para armazenamento, não que essa seja uma regra padrão, existe a possibilidade de fazer transformações antes de enviar caso você conheça os seus dados, a fim de otimizar e economizar armazenamento de dados desnecessários. Porém, em sua grande maioria os dados são enviados de forma original e depois tratados, com a importação em tempo real e de diversas fontes diferentes, você economiza tempo com definições de estruturas, schemas e transformações. Hoje uma das características do conceito Data Lake é a possibilidade de diversos setores/profissionais, terem a possibilidade de trabalhar com a mesma base de dados, e cada um utilizando assim sua própria ferramenta para a execução da tarefa, garantindo assim confiabilidade e veracidade dos dados e tudo isso pode ser feito diretamente no Data Lake, para otimizar o desempenho quando os dados já tratados e transformados forem consumidos pelos stakeholders e tomadores de decisão.

  • Data Store:

Como vimos anteriormente, o Data Store é algo que lhe proporciona muita flexibilidade, e é algo que se mostra como uma ótima solução para situações especificas onde um Data Warehouse, ou um Data Lake não consegue ser tão viável e rentável. Sendo assim, vale analisar o seu case e aplicação final para entender o que pretende ser entregue e qual tipo de necessidade em que cada conceito melhor se aplica. Para dados do tipo semi-estruturados muitas vezes é necessário ser mantido em seu formato original, e nesta ocasião o Data Store também se faz presente. E por fim, saber identificar o tipo de necessidade também leva você à economizar durante execução da atividade, ou seja, tentar forçar o uso de uma aplicação em algo que não foi feito para tal finalidade, pode lhe acarretar problemas futuros como baixa performance ou dificuldade em manutenções caso seja necessário.


Conclusão

Por fim podemos concluir que com o grande volume de dados e a velocidade em que são gerados e processados, um único tipo de solução não será suficiente para dar conta de toda demanda que surgir no dia a dia de uma empresa.

Desempenhar atividades apenas com Data Warehouse realizando transformações e schemas, Data Lake para armazenamento de dados brutos e tratamentos posteriores ou Data Stores com casos específicos para determinada atividade não lhe garante sucesso, mas causará dificuldades.

Por isso as empresas já estão utilizando os chamados Sistemas Híbridos de Armazenamento, montando assim uma grande estrutura de armazenamento de dados, conhecida também como Data Hub, trabalhando com o maior número de opções de conceitos para que assim um auxilie na performance do outro e no fim gere melhores resultados.


O que achou deste conteúdo? Já conhecia esses sistemas de armazenamento? Comenta aqui se a gente deixou passar algum que você queira entender melhor, e compartilha com aquele amigo que vive com o armazenamento cheio! 💙🤣