Introdução
Nesse texto vamos conversar um pouco sobre o BigData, passaremos pelos conceitos iniciais, o que ele resolve e como podemos iniciar. Não é mais possível lidar com os dados como lidávamos antigamente, o grande volume de dados que temos é hoje é muito superior ao que tínhamos no passado recente. Hoje uma empresa produz dados de diversas fontes diferentes, como: vídeos, imagens, postagens e comentários em redes sociais e claro seus sistemas internos.
Tirar proveito desses dados é essencial para qualquer empresa, tudo sempre está interligado, todas as ações nas redes sociais devem ter algum tipo de impacto na operação da empresa, e com os conceitos de BigData podemos ter uma visão bem mais realista e baseada em dados.
Conceitos Iniciais
Para que possamos dar início ao entendimento sobre BigData, precisamos entender suas características, características essas chamadas de 5Vs.
Vs | Descrição |
---|---|
Volumes | Quantidade de dados na escala de Terabytes ou mais |
Variedade | Capacidade de lidar com vários tipos de dados, sendo eles estruturados, semi estruturados ou não estruturados |
Velocidade | Velocidade em que essas dados são gerados, consumidos e armazenados |
Veracidade | Capacidade de cruzamento de dados com bases públicas para garantir que estamos sempre lidando com verdade, qualidade dos dados, onde todos os valores fazem sentido quando analisados juntos. |
Valor | Quando os dados são categorizados de forma que agreguem valor para o negócio |
O uso do BigData ainda é pouco entendido, ainda temos empresas com um grande volume de dados mas ainda não tira proveito desse modelo, podendo está ocasionando riscos ao negócio.
O que o BigData resolve ?
A abordagem de BigData trás um grande potencial de negócio para as empresas, como entendimento mais refinado do mercado com o uso de Machine Learn, com um bom volume de dados podemos rodar alguns algoritmos que executam tarefas como uma análise preditiva que nos ajuda a entender futuros comportamentos e tendências, facilitando assim a tomada de decisão, e tudo usando como base o dados históricos.
Como podemos iniciar ?
Para iniciar um projeto de BigData não é tarefa tão simples e nem tão rápida, podemos dividir as ferramentas sobe dois pontos de vista, de Analytics e o Infraestrutura, no ponto de Analytics, temos duas ferramentas principais que é o Hadoop e o MapReduce que lidam diretamente com o dado e no ponto de Infraestrutura, que é o que sustenta tudo, temos o destaque dos bancos não relacional, que são usados para conseguirmos lidar com todos os 5v pontuados no início.
Bancos de dados NoSQL
Para lidar melhor a variedade e velocidade que os dados chegam, usar banco de dados relacional pode ser um “gargalo” dando espaço para o surgimento de banco de dados NoSQL, que são banco de dados mais flexíveis.
Existem alguns tipos de bancos NoSQL, esses tipo são:
Tipo | Exemplo |
---|---|
Colunares | Cassandra |
Chave Valor | Redis |
Documento | MongoDB |
Grafos | Neo4J |
Referência: https://aws.amazon.com/pt/nosql/
Apache Hadoop
Hadoop é uma ferramenta open source, na prática tira proveito do MapReduce que em resumo é um framework para processamento paralelo de dado e o Hadoop Distributed File System (HDFS) que é um sistema de arquivos distribuído para lidar com dados não estruturados.
Dados não estruturados: são dados que não seguem um padrão como um banco de dados relacional ou um CSV, por exemplo imagem, áudio e vídeo, cada informação tem suas especificidades, como um vídeo, eles tem diversos tons, frequências que são informações difíceis de armazenas.
Hadoop faz parte de um ecossistema que tem outras ferramentas com:
- Hive
- Pig
- Spark
Disponibilidade
Hadoop consegue garantir a disponibilidade do dado, pois ele armazena o mesmo dado em nós diferentes para quando um determinado nó estiver off ele conseguirá pegar o mesmo dado em outro local.
Ele tem um ambiente formado por clusters, onde teremos um nó principal e outros secundários. Com esses clusters compartilhando Hardware é possível processar toda a informação necessária.
Ele usa a estrutura de MapReduce que divide o processamento em dois, o Mapper
e depois o resumo reduce
, é pego um grande volume de dado, é mapeado para uma perspectiva e depois é aplicado uma redução ou seja um resumo ou agregação para chegar em um resultado mais objetivo.
Big Data Analytics
Basicamente lida com a análise do um grande volume dados estruturados, semi-estruturados e não estruturado envolvendo diversas tecnologias como Hadoop, Spark, NoSQL.
Para iniciar um projeto de BigData Analytics é preciso mapear todas as fontes de dados, podendo ser estruturada ou não estruturada.
Precisamos também de ferramentas de ETL para automatizar todo o processo de inserção de dados, como pode exemplos:
- Apache Hop
- Apache AirFlow
- Apache Flame
Por fim as ferramentas de visualização dos dados, como Power BI, Qlik, Tebleau e etc