Big Data
Conceito
Ele nada mais é que um conjunto enorme de dados, dos mais variados tipos, tamanhos e complexidades. Esses dados podem ser estruturados, não estruturados, imagens, textos, diversas coisas.
O volume desses dados costuma ser tão grandes que técnicas de processamento tradicional não servem para lidar com eles, já que a capacidade de um computador não seria suficiente para processar todo esses dados.
- Utiliza Cluster para processamento.
Tabela dos 7 Vs do Big Data
V | Significado | Explicação prática |
---|---|---|
Volume | Quantidade de dados | Petabytes, zettabytes... É dado demais! Bancos, sensores, redes sociais, etc. |
Velocidade | Rapidez de geração e processamento | Dados em tempo real ou quase — ex: bolsa de valores, streaming, IoT. |
Variedade | Diversidade de formatos | Estruturado (tabelas), semiestruturado (JSON), não estruturado (vídeo, áudio). |
Veracidade | Qualidade e confiabilidade dos dados | Dados confiáveis? Com ruído? Fake? Isso impacta nas decisões baseadas neles. |
Valor | Utilidade dos dados para gerar insights | Informação útil = vantagem competitiva. Não adianta ter muito dado inútil. |
Variabilidade | Mudanças e inconsistências nos dados | Linguagem informal nas redes, dados que mudam de comportamento ao longo do tempo. |
Visualização | Clareza na apresentação dos dados | Dashboards, gráficos, relatórios... Traduzir o dado bruto em algo compreensível. |
Princípios das Transações
- Basicamente disponível: O sistema deve permanecer operacional e disponível para leitura e gravação, mesmo que isso signifique sacrificar a consistência imediata dos dados.
- Estado Suave: Os dados podem estar em estados transitórios ou inconsistentes durante as atualizações, mas eventualmente convergem para um estado consistente.
- Eventualmente Consistência: O sistema eventualmente se tornará consistente, mas não necessariamente em tempo real. Isso implica que os dados podem ser temporariamente inconsistentes, mas serão eventualmente reconciliados.
Teorema CAP
CAP - Consistency, Availability e Partition Tolerance.
- Consistência: todos os nós em um sistema distribuído veem os mesmos dados ao mesmo tempo.
- Disponibilidade: Todos os pedidos de leitura e gravação recebem uma resposta, mesmo em face de falhas de rede ou partições.
- Tolerância à Partição: O sistema continua a funcionar mesmo que a comunicação entre os nós seja interrompida.
Formas de Entrega
- On-Premise(local)
- Nuvem Pública - Azure, Amazon, Google.
- Nuvem Privada
- Nuvem Híbrida
- Edge Computing(Computação de borda - processamento acontece próximo do usuário ou da fonte de dado)
Hadoop
A biblioteca de software Apache Hadoop é um framework que permite o processamento distribuído de grandes conjuntos de dados em clusters de computadores usando modelos de programação simples com alta velocidade e baixo custo. Ela foi projetada para escalar de servidores individuais para milhares de máquinas, cada uma oferecendo computação e armazenamento locais. Em vez de depender de hardware para fornecer alta disponibilidade, a própria biblioteca foi projetada para detectar e lidar com falhas na camada de aplicação, fornecendo assim um serviço de alta disponibilidade sobre um cluster de computadores, cada um dos quais sujeito a falhas.