Escolar Documentos
Profissional Documentos
Cultura Documentos
As redes Peer-to-Peer
(P2P) são um modelo de
comunicação em que todas as
partes possuem as mesmas
capacidades e
responsabilidades
O Grid Computing é um desafio
bem maior do que formas mais
simples de computação
paralela e distribuída
ü Escalabilidade
Demandas por
ü Cloud Native
escalabilidade
ü BIG DATA - Grande volume de dados;
é cada vez ü BIG DATA - Velocidade para analise de dados;
maior ü BIG DATA - Capturar, armazenar e analisar dados não estruturados;
ü Flexibilidade no desenvolvimento;
ü Internet of things – Tudo conectado “ligado”;
Not Only SQL
“As empresas estão adotando tecnologias
NoSQL e encontrando sucesso com eles.
Muitas vezes, encontrar o sucesso é uma
questão de encontrar a abordagem certa.”
> 40 anos
Era da informação
Evolução dos Banco de Dados
Modelo Hierárquico Modelo Relacional Evolução Novos Modelos
SGDBs SQL NoSQL
§ Os desenvolvedores estão trabalhando com aplicativos que criam grandes volumes de novos tipos de dados
que mudam rapidamente - dados estruturados, semiestruturados, não estruturados e polimórficos;
§ Pode ser definido como uma classe definida de banco de dados que fornecem um mecanismo para
armazenamento e recuperação de dados que são modelados de formas diferentes das relações tabulares
usadas nos bancos de dados relacionais.
§ Bancos de dados NoSQL são cada vez mais usados em big data e aplicações web de tempo real;
§ Sistemas NoSQL, às vezes, também são chamados de "Not only SQL" ("Não apenas SQL") para enfatizar que
eles podem suportar linguagens de consulta semelhantes à SQL.
SQL comparado a NoSQL
Size Key-value
Família de Colunas
Documento DB
Social Semantic
Grafos DB
Zone
RDBMS
Tradicional
Complexidade
Incompatibilidade de impedância
Diferença entre a estrutura de dados na memória (aplicativo) e o modelo relacional.
Arquitetura Multitenancy
ü Banco de Dados dedicados A maioria dos softwares existentes hoje foi
desenhada para operar nos data centers
das empresas, sujeitos a contratos
DB específicos de licença de uso. As próprias
Inquilino plataformas de aplicação como Java e .Net
foram desenhadas para operarem no
modelo on-premises
ü Banco de Dados Compartilhados (Esquemas Separados)
Inquilino 1
DB Inquilino 2
Inquilino
Inquilino 3
As arquiteturas de software atuais não
atendem a este novo cenário. É
ü Banco de Dados Compartilhados (Esquemas Compartilhados) necessário um novo modelo
arquitetônico de software, chamado de
Inquilino 1
multitenancy ou multi-inquilino.
DB Inquilino 2
Inquilino
Inquilino 3
Tipos de databases NoSQL
Column Store / Document Store Key Value / Tuple Graph Databases
Column Families Store
http://nosql-database.org/
Princípios de banco de dados distribuídos
Cliente
Cluster DB Particionamento J-N
Cliente
E-I
Cliente
A-D
Mestre Atualização
Replicação Consultas
Slave 2 Slave 1
Replicação de Dados
+ Performance e Escala para Leitura;
+ Resiliência para Leitura;
- Consitência
Sistema distribuído
Cluster A
Nó Mestre Nós Escravos
CA
A dados
AP
RDBMS ü Availability: Todos os pedidos recebem uma
(Oracle, Dynamo
Mysql, etc) Voldemort
resposta
Aster
Cassandra ü Partition Tolerance: Sistema funcional após
Availability SimpleDB
Greenplum falhas de rede
CouchDB
Vertica
Riak
CAP
Tolerância a
Consistency
Partições
C CP
P
Big Table MongoDB
Hbase Redis
Modelo de Dados (Documentos) - JSON
{
"_id": "Joao", {
"nome": "Joao da Silva" "_id": "Joao",
} "nome": "Joao da Silva",
"endereco": {
{ "rua": "das hortencias",
"pessoa_id": "Joao", "cidade": "Sao Paulo",
"rua": "das hortencias", "estado": "Sao Paulo",
"cidade": "Sao Paulo", "cep": 777777
"estado": "Sao Paulo", }
"cep": 777777 }
}
Modelo de Dados Agregado
{
"_id": "Joao",
"nome": "Joao da Silva",
"join_data": 20160401,
1 Pessoa
"endereco": [
{
"rua": "das hortencias",
"cidade": "Sao Paulo",
"estado": "Sao Paulo",
"cep": 777777
},
{
N Endereços
"rua": "dom pedro",
"cidade": "Sao Paulo",
"estado": "Sao Paulo",
"cep": 888888
}
]
}
Consultando os títulos de uma Editora
{
"_id": “oreilly",
"nome": “O Reilly Media",
"fundada": 1980,
“local": “CA“
}
{
"titulo": “Mongo DB: The Definitive Guide",
"autor": [ "Kristina Chodorow", "Mike Diroli“ ] ,
"data_publicacao": "2010-09-24",
"paginas": 216,
"linguagem": "English",
"editora": "oreilly"
}
Modelo para consulta
{
"_id": “oreilly",
"nome": “O Reilly Media",
"fundada": 1980,
“local": “CA“
“livro": [
" Mongo DB: The Definitive Guide ",
"Machine Learning “ ,
“Hadoop: The Definitive Guide“,
“Data Science from Scratch”
]
}
Persistência poliglota
Plataforma
Família
Chave-
Valor RDBMS
Orientado
Documentos
RDBMS De
Colunas