big data, nosql e in memory databases

40
Big Data, NoSQL e In Memory Databases MBA em Inteligência de Negócios/UFRJ

Upload: caio-louro

Post on 16-Aug-2015

56 views

Category:

Data & Analytics


3 download

TRANSCRIPT

Page 1: Big Data, NoSQL e In Memory Databases

Big Data, NoSQL e In Memory DatabasesMBA em Inteligência de Negócios/UFRJ

Page 2: Big Data, NoSQL e In Memory Databases

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

Page 3: Big Data, NoSQL e In Memory Databases

O que é Big Data?

•Quantidade de dados gerados e armazenados

▫E-mails▫Transações bancárias▫E-Commerce▫Redes Sociais

Page 4: Big Data, NoSQL e In Memory Databases

Conceito de Big Data

•O que fazer com tantos dados?•Como fazer?•Que ferramentas utilizar para gerenciá-

los?

Page 5: Big Data, NoSQL e In Memory Databases

Conceito de Big Data

Page 6: Big Data, NoSQL e In Memory Databases

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.”

Page 7: Big Data, NoSQL e In Memory Databases

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)

Page 8: Big Data, NoSQL e In Memory Databases

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

Page 9: Big Data, NoSQL e In Memory Databases

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?

Page 10: Big Data, NoSQL e In Memory Databases

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.”

Page 11: Big Data, NoSQL e In Memory Databases

Os V’s do Big Data

Page 12: Big Data, NoSQL e In Memory Databases

Os V’s do Big Data

•Volume▫Grandes volumes de dados

Page 13: Big Data, NoSQL e In Memory Databases

Os V’s do Big Data

•Velocidade▫Rapidez paraobtenção, gravação eatualização.

Page 14: Big Data, NoSQL e In Memory Databases

Os V’s do Big Data

•Variedade▫Dados de inúmerasfontes e formatos

Page 15: Big Data, NoSQL e In Memory Databases

Os V’s do Big Data

•Veracidade▫Prover meios de verificação dos dados

Page 16: Big Data, NoSQL e In Memory Databases

Os V’s do Big Data

•Valor▫Viabilidade X Benefícios do Investimento

Page 17: Big Data, NoSQL e In Memory Databases

Soluções de Big Data

Page 18: Big Data, NoSQL e In Memory Databases

Soluções de Big Data

•Distribuição de processamento▫Manter a disponibilidade

•Elasticidade▫Suportar a crescente massa de dados

Page 19: Big Data, NoSQL e In Memory Databases

Soluções de Big Data

•Bancos de dados tradicionais▫Princípios ACID:

Atomicidade Consistência Isolamento Durabilidade

Page 20: Big Data, NoSQL e In Memory Databases

Soluções de Big Data

•Problemas dos A.C.I.D para o Big Data

▫Restritiva

▫Pouca elasticidade

Page 21: Big Data, NoSQL e In Memory Databases

Soluções de Big Data

•Alternativa em BD para Big Data:▫Not Only SQL

Page 22: Big Data, NoSQL e In Memory Databases

Soluções de Big Data

•NOSQL▫Princípios BASE:

Basically Available (Basicamente disponível) Soft state (Estado Leve) Eventually consistency (eventualmente

consistente) 

Page 23: Big Data, NoSQL e In Memory Databases

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

Page 24: Big Data, NoSQL e In Memory Databases

NoSQL é um conceito novo

Page 25: Big Data, NoSQL e In Memory Databases

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

Page 26: Big Data, NoSQL e In Memory Databases

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

Page 27: Big Data, NoSQL e In Memory Databases

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

Page 28: Big Data, NoSQL e In Memory Databases

Mercado do NoSQL

Page 29: Big Data, NoSQL e In Memory Databases

Exemplo no NoSQL

Page 30: Big Data, NoSQL e In Memory Databases

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

Page 31: Big Data, NoSQL e In Memory Databases

•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

Page 32: Big Data, NoSQL e In Memory Databases

IMDB x RDBMS

Page 33: Big Data, NoSQL e In Memory Databases

• 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

Page 34: Big Data, NoSQL e In Memory Databases

IMDB x RDBMS

B-tree

T-tree

Page 35: Big Data, NoSQL e In Memory Databases

•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

Page 36: Big Data, NoSQL e In Memory Databases

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

Page 37: Big Data, NoSQL e In Memory Databases

Arquitetura do IMDB

Page 38: Big Data, NoSQL e In Memory Databases

•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

Page 39: Big Data, NoSQL e In Memory Databases

•Oracle TimesTen•IBM soliddb•Sybase ASE•ENEA Polyhedra•McObject ExtremeDB•CSQL (OpenSource)•MonetDB (OpenSource)

Mercado do IMDB

Page 40: Big Data, NoSQL e In Memory Databases

• 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