
Big Data do zero
O que é Big Data?
O termo Big Data é usado para definir grandes volumes de dados, estruturados e não estruturados, que são caros e complexos de processar usando tecnologias tradicionais de banco de dados e análise.
Os 3 Vs do Big Data
Volume: Os sistemas de Big Data lidam com grandes escalas de dados. De terabytes a petabytes. O termo “Big Data” se refere a essa enorme quantidade de dados. O tamanho dos dados processados desempenha um papel importante na capacidade de extrair valor desses dados.
Variedade: As plataformas de Big Data processam dados de fontes heterogêneas. Tradicionalmente, os dados a serem analisados vinham de planilhas e bancos de dados, hoje em dia as fontes são muito variadas, adicionando muitas fontes de dados não estruturados, como e-mails, blogs, áudios, fotos, vídeos, dados de diferentes sensores, etc. Essa variedade de tipos e fontes de dados representa uma complexidade extra ao armazenar e analisar as informações.
Velocidade: Refere-se à velocidade com que as informações são geradas e processadas. A velocidade com que as organizações geram dados está aumentando e o tempo em que elas esperam extrair deles informações úteis e acionáveis está diminuindo. O fluxo de informações é contínuo e massivo, e o processamento pode até ser necessário em tempo real.
Por que você pode precisar de Big Data?
O objetivo é ser capaz de identificar conhecimentos acionáveis, obtidos a partir de grandes volumes de dados, com vários formatos e em tempos relativamente curtos.
Big Data e IoT
A Internet das Coisas é uma ótima fonte de dados para plataformas de Big Data. Diferentes tipos de sensores coletam dados continuamente, o que significa que muitas vezes o volume de informações geradas é muito grande e diversificado para ser processado com ferramentas tradicionais; nesses casos, as plataformas de Big Data entram em ação.
Big Data versus inteligência de negócios
Big Data e Business Intelligence (BI) são tecnologias complementares. Ambos têm como objetivo processar e analisar informações para ajudar as organizações a entender seus negócios, mas a maneira de fazer isso e o volume e o tipo de dados com os quais trabalham são muito diferentes.
O BI busca ajudar as organizações a tomar decisões de forma ágil e rápida, apresentando dados a custos razoáveis. Em vez disso, o Big Data lida com a extração, armazenamento, processamento e visualização de grandes volumes de dados.
Algumas das diferenças mais importantes são:
- O Big Data usa sistemas de arquivos distribuídos, enquanto o BI em geral armazena as informações em um servidor central.
- O BI processa apenas dados estruturados (bancos de dados tradicionais), enquanto o Big Data também pode processar informações não estruturadas (blogs, fotos, áudios etc.).
- O Big Data usa processamento paralelo massivo, permitindo que grandes volumes de dados sejam analisados com eficiência.
- Os dados analisados com Big Data podem ser históricos ou em tempo real. As plataformas de BI geralmente trabalham com dados históricos.
O Big Data pode até mesmo ser uma fonte de dados para sistemas de BI, que são ideais para identificar e relatar tendências, resultados e indicadores.
Por que agora?
Para usar plataformas de Big Data, precisamos ter a infraestrutura para armazenar grandes volumes de dados a baixos custos, isso não representa uma limitação severa há algum tempo.
Além disso, é necessário poder processar esses dados rapidamente e a um custo relativamente baixo. Isso foi possível graças a um aumento exponencial na capacidade de computação nos últimos anos. Esse fenômeno teve um grande impacto no cenário tecnológico, por exemplo, também viabilizou o uso de ferramentas de inteligência artificial, como o aprendizado profundo.
Ferramentas e estruturas de big data
Big Data é um conceito abrangente que engloba muitas tecnologias. Uma das estruturas mais populares para lidar com esses enormes volumes de dados é o Hadoop.

O Hadoop é um sistema de código aberto usado para armazenar, processar e analisar grandes volumes de dados. Em vez de usar um servidor único e muito poderoso para armazenar e processar informações, ele permite criar clusters de servidores para analisar dados em paralelo.
Ele tem dois componentes principais: HDFS (Sistema de arquivos distribuídos Hadoop) e MapReduce.
O HDFS é um sistema de arquivos distribuído que permite que as informações sejam armazenadas e processadas em um cluster de servidores.
O cluster pode crescer de alguns nós para milhares ou dezenas de milhares, tornando a solução altamente escalável. À medida que a quantidade de informações cresce e a necessidade de processamento aumenta, novas máquinas são adicionadas ao cluster. A principal vantagem é que não é necessário adquirir e substituir computadores com maior capacidade de armazenamento e computação para aumentar a potência da minha plataforma.
O MapReduce A estrutura é usada para realizar o processamento e a análise das informações no sistema de arquivos distribuído. Esse paradigma de programação permite que o processamento de informações seja massivamente escalado em clusters de milhares de servidores (trabalhadores ou nós do cluster). Ele divide as tarefas grandes em muitas pequenas, que são executadas em paralelo em diferentes servidores do cluster (operação de mapa), para então unir os resultados parciais em um único resultado final (operação de redução).
Usaremos uma analogia para entender o conceito de operações de mapear e reduzir.
Suponha que queiramos realizar um censo na cidade de Montevidéu. Contratamos centenas de recenseadores, atribuímos a cada um deles uma área da cidade e pedimos que contassem quantas pessoas moram naquela área (percorrendo todas as casas da região).
Depois, com os resultados de todos os recenseadores, somamos os valores para obter o número total de pessoas que moram em Montevidéu.
Dividir a tarefa do censo em muitas pessoas, que contam o número de pessoas em paralelo, é análogo ao processo do Mapa. Embora somar o valor total para obter o resultado do censo em Montevidéu seja análogo à operação Reduzir. Dividir a tarefa e executá-la em paralelo é muito mais eficiente do que ter uma única pessoa percorrendo a cidade para contar o número de pessoas.
Por mais simples que pareça o conceito do MapReduce, programar para executar tarefas em paralelo é um grande desafio ao trabalhar com esquemas do Hadoop. Por esse motivo, muitas ferramentas foram desenvolvidas no ecossistema Hadoop para nos ajudar a simplificar essa tarefa.

Por exemplo, Colmeia é uma ferramenta que nos permite consultar sistemas Hadoop com um estilo semelhante às consultas SQL. Ele foi desenvolvido inicialmente pelo Facebook, foi estendido pelo Apache e é de código aberto.
Por outro lado, Faísca também é uma estrutura muito popular, que pode funcionar montada no ecossistema Hadoop, substituindo a estrutura MapReduce. É um sistema de processamento distribuído otimizado para executar rapidamente operações iterativas de aprendizado de máquina e análise de dados. É de código aberto e fornece APIs de desenvolvimento em Java, Python e Scala.
