O documento discute os conceitos de Big Data, bancos de dados NoSQL e In Memory, incluindo suas características e aplicações. Aborda os desafios trazidos pelos grandes volumes de dados gerados atualmente e como essas novas tecnologias podem ajudar a lidar com esses dados.
1. Big Data, NoSQL e In Memory
Databases
MBA em Inteligência de Negócios/UFRJ
2. Big Data, NoSQL e In Memory
Databases
Turma BI-03
Grupo I
André Luiz Marques
Caio Louro
Fabiana Barbosa
Giuliano Lelo
Rodrigo Jaccoud
“Não sabendo que era impossível,
ele foi lá e fez”
Jean Cocteau
3. O que é Big Data?
• Quantidade de dados gerados e armazenados
▫ E-mails
▫ Transações bancárias
▫ E-Commerce
▫ Redes Sociais
4. Conceito de Big Data
• O que fazer com tantos dados?
• Como fazer?
• Que ferramentas utilizar para gerenciá-los?
6. Conceito de Big Data
“Um conjuntos de dados extremamente grandes e
que, por este motivo, necessitam de ferramentas
especialmente preparadas para lidar com grandes
volumes, de forma que toda e qualquer
informação nestes meios possa ser encontrada,
analisada e aproveitada em tempo hábil.”
7. Informação é poder
• O que as empresas utilizam para gerir as
informações e tomada de decisão atualmente:
▫ Data mining
▫ B. I.
▫ CRM (Gestão de Relacionamento com o Cliente)
8. Informação é poder
• A proposta do Big Data:
▫ Abordagem no tratamento “caótico” dos dados
▫ Tornar as ferramentas já existentes mais eficientes e
precisas, considerando:
Volume de dados
Velocidade de análise
Disponibilização
A relação entre os três
9. Importância do Big Data
• Crescente produção de dados
• Aumento das fontes geradoras
▫ Novos sites, redes sociais
▫ Novos equipamentos gerando
dados (veículos, eletrodomésticos)
• Como gerenciar e lucrar com
esta explosão de dados?
10. Importância do Big Data
• “O Big Data se propõe a ajudar nesta tarefa, uma
vez que as ferramentas computacionais usadas
até então para gestão de dados, por si só, já não
podem fazê-lo satisfatoriamente.”
18. Soluções de Big Data
• Distribuição de processamento
▫ Manter a disponibilidade
• Elasticidade
▫ Suportar a crescente massa de dados
19. Soluções de Big Data
• Bancos de dados tradicionais
▫ Princípios ACID:
Atomicidade
Consistência
Isolamento
Durabilidade
20. Soluções de Big Data
• Problemas dos A.C.I.D para o Big Data
▫ Restritiva
▫ Pouca elasticidade
21. Soluções de Big Data
• Alternativa em BD para Big Data:
▫ Not Only SQL
22. Soluções de Big Data
• NOSQL
▫ Princípios BASE:
Basically Available (Basicamente disponível)
Soft state (Estado Leve)
Eventually consistency (eventualmente consistente)
23. NoSQL
• Termo utilizado pela primeira vez em 1998 sobre
um banco de dados relacional open source sem
interface SQL
• Evoluiu até ser reutilizado em 2009 em
conferência sobre bancos de dados distrubuídos
25. Motivação do NoSQL
• O Big Data representa um desafio de
performance para o RDBMS
• Diminuir custo com escalabilidade vertical: mais
dados, mais memória, mais CPU
• Facilitar escalabilidade horizontal com
máquinas de baixo custo
26. Estrutura das Bases NoSQL
• Informações agrupadas no mesmo registro sem
normalização ou diversos relacionamentos
• Arquitetura muito tolerante a erros por conta
das redundâncias de dados utilizadas
27. Tipos de Bases NoSQL
• Key/ValueStore (Berkeley DB, Project Voldermort, SimpleBD)
▫ Fornece uma chave eficiente para mapear os valores existentes, com o
conceito de a partir de uma chave encontrar um valor
• WideColumnsStore (HBase, HiperTable, Cassandra)
▫ Orientado a registro e similar aos bancos de dados relacionais. É
constituído por várias tabelas, cada uma contendo um conjunto de linhas
endereçáveis, sendo fortemente inspirado pelo BigTable do Google
• DocumentStore (CouchDB, MongoDB)
▫ Baseado em documentos XML ou JSON, podendo ser localizados pelo
seu id único ou por qualquer registro que exista no documento
• GraphStore (Net4J, InfoGrid)
▫ Guarda objetos, e não registros, como os outros tipos de NoSQL. Possui a
capacidade de um valor do campo armazenar o ID de outra entidade
• ColumnOrientedStore (Vertica, MonetDB)
▫ É relacional, mas os dados são armazenados em colunas, ajudando na
escalabilidade
30. In Memory Databases
• Sistema de gerenciamento de
dados baseado na memória
principal
• Adoção crescente por ganhos de
performance
▫ Sem "overhead" da CPU
▫ Elimina tempo de resposta de I/O
31. • IMDBs (“In Memory Databases”) possuem
algoritmos simplificados em relação a um
RDBMS (“Relational Databases Management
System”)
• IMDBs possuiem todas as propriedades ACID
de um RDBMS (Atomicidade, Consistência,
Isolamento e Durabilidade)
▫ Mesmo com todos os dados em memória
IMDB x RDBMS
33. • As requisições feitas pela aplicação, chegam ao
banco por meio da API de banco de dados;
• O banco através das instruções instrui o
sistema de arquivos para recuperar os dados da
midia (ou local de armazenamento baseado em
memória, no caso de um disco RAM)
• O banco através do sistema de arquivos faz
uma copia dos dados para o seu cache e outra
cópia para o banco de dados.
• O banco de dados mantém uma cópia em seu
cache e passa outra cópia à aplicação
• O aplicativo modifica o dado (sua cópia) e
passa de volta para o banco de dados.
• A copia modificada é enviada para o cache
• A copia modificada, agora no cache do banco
de dados é escrita no sistema de arquivos,
atraves da alteração no cache do sistema de
arquivo.
• Finalmente, o dado é escrito de volta na
mémoria fisica (ou RAM-disk)
IMDB x RDBMS
35. • Elimina múltiplas transferências de dados
• Reduz consumo de memória ao reduzir número
de cópias e caches de dados
• Minimiza exigência da CPU por possuir
processamento simplificado
• Elimina gerenciamento de buffer do disco,
comum gargalo de performance tuning de
bancos de dados
Vantagens do IMDB
36. Desvantagens do IMDB
• Tempo de inicialização e recovery mais longos
que nos RDBMS, pois todas a base de dados
precisa ser carregada para a memória
• Controle de concorrência mais rígido, podendo
gerar mais blocks e aumentar o tempo de
INSERTs e UPDATEs
38. • Todos os domínios que
exigem desempenho em
tempo real e muito baixa
latência
• Telecomunicações
• Segmentos financeiros
• Empresas de e-commerce
• Aplicações Web
Aplicações do IMDB
39. • Oracle TimesTen
• IBM soliddb
• Sybase ASE
• ENEA Polyhedra
• McObject ExtremeDB
• CSQL (OpenSource)
• MonetDB (OpenSource)
Mercado do IMDB