Big Data, NoSQL e In Memory Databases
-
Upload
caio-louro -
Category
Data & Analytics
-
view
58 -
download
3
Transcript of Big Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory DatabasesMBA em Inteligência de Negócios/UFRJ
Big Data, NoSQL e In Memory DatabasesTurma BI-03Grupo I
André Luiz MarquesCaio LouroFabiana BarbosaGiuliano LeloRodrigo Jaccoud
“Não sabendo que era impossível, ele foi lá e fez”
Jean Cocteau
O que é Big Data?
•Quantidade de dados gerados e armazenados
▫E-mails▫Transações bancárias▫E-Commerce▫Redes Sociais
Conceito de Big Data
•O que fazer com tantos dados?•Como fazer?•Que ferramentas utilizar para gerenciá-
los?
Conceito de Big Data
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.”
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)
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
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?
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.”
Os V’s do Big Data
Os V’s do Big Data
•Volume▫Grandes volumes de dados
Os V’s do Big Data
•Velocidade▫Rapidez paraobtenção, gravação eatualização.
Os V’s do Big Data
•Variedade▫Dados de inúmerasfontes e formatos
Os V’s do Big Data
•Veracidade▫Prover meios de verificação dos dados
Os V’s do Big Data
•Valor▫Viabilidade X Benefícios do Investimento
Soluções de Big Data
Soluções de Big Data
•Distribuição de processamento▫Manter a disponibilidade
•Elasticidade▫Suportar a crescente massa de dados
Soluções de Big Data
•Bancos de dados tradicionais▫Princípios ACID:
Atomicidade Consistência Isolamento Durabilidade
Soluções de Big Data
•Problemas dos A.C.I.D para o Big Data
▫Restritiva
▫Pouca elasticidade
Soluções de Big Data
•Alternativa em BD para Big Data:▫Not Only SQL
Soluções de Big Data
•NOSQL▫Princípios BASE:
Basically Available (Basicamente disponível) Soft state (Estado Leve) Eventually consistency (eventualmente
consistente)
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
NoSQL é um conceito novo
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
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
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
Mercado do NoSQL
Exemplo no NoSQL
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
•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
IMDB x RDBMS
• 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
IMDB x RDBMS
B-tree
T-tree
•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
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
Arquitetura do IMDB
•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
•Oracle TimesTen•IBM soliddb•Sybase ASE•ENEA Polyhedra•McObject ExtremeDB•CSQL (OpenSource)•MonetDB (OpenSource)
Mercado do IMDB
• http://www.infowester.com/big-data.php• http://cassandra.apache.org/• www.edge.org/conversation/reinventing-society-in-the-wak
e-of-big-data• www.ibm.com/software/data/bigdata• http://oglobo.globo.com/infograficos/bigdata/• pt.wikipedia.org/wiki/NoSQL• http://nosql-database.org/• http://docs.mongodb.org/manual/reference/sql-comparison
/
Referências