O documento discute fundamentos de bancos de dados NoSQL, incluindo sua origem, tipos, replicação e particionamento para escalabilidade. Resume conceitos como disponibilidade, consistência eventual e priorização de desempenho sobre consistência forte.
2. SOBRE – JHONATHAN DE SOUZA SOARES
• Bacharel Ciência da Computação - UNIFENAS
• Pós Graduado em Arquitetura de Software - IGTI
• MBA em Gestão de TI - UNIS
• Most Valuable Professional (MVP) - Microsoft
• Top 50 World Certified - Neo4j
• Evangelist e Ambassador - MongoDB
• Scrum Master PSM – Scrum.org
• Professor na FIAP e Bandtec
• Lead Architect na Lumini IT Solutions
3. SURGIMENTO NOSQL
• Primeiramente introduzido em 1998 por Carlo Strozzi, como
NoREL
• Conceito BigTable – 2006 Google Inc
• NÃO ACID ( Atomicidade, Consistência, Isolamento e
Durabilidade )
• SIM BASE (Basic Availability , Soft-state , Eventual consistency )
4. FUNDAMENTOS NOSQL
BASE - Basically Available, Soft state, Eventual consistency
• Basic Availability
• Caracteriza-se por ser basicamente disponível, ou seja, o sistema parece
estar funcionando o tempo todo;
• Soft-state
• Em estado leve, o sistema não precisa ser consistente o tempo todo nem
possuir esquema rígido
• Eventual consistency
• Eventualmente consistente, o sistema torna-se consistente no momento
devido, priorizando a disponibilidade do que a consistência.
5.
6. FUNDAMENTOS NOSQL
• BIG DATA – Grande volume de dados
• BIG DATA – Velocidade para análise de dados
• BIG DATA – Capturar, armazenar e analisar dados não
estruturados
• Flexibilidade no desenvolvimento
• “Nova” Arquitetura em Nuvem
• Internet of things – tudo conectado
• Demandas por escalabilidade é cada vez maior
7. 90% das empresas top
100 que mais faturam no
mundo utilizam algum
NoSQL!
8. NOSQL NÃO SUBSTITUI SQL, E SIM TRABALHA EM CONJUNTO -
POLIGLOTA
NoSQL
Não Relacional, distribuído,
alta performance para e alta
escalabilidade;
SQL
Relacional, processamento
de transações, concorrência,
consistência, baixíssima
latência;
Dificuldades para escalar; Não serve para tudo;
9. TIPOS DE NOSQL
• Colunar | Wide Column | Column Families
• Hadoop – Hbase – Cassandra – Google BigTable – Azure Tables
• Orientado à Documentos | Document Store
• MongoDB – CouchBase – DocumentDB – ElasticSearch
• Chave-Valor | Tuple Store | Key Value
• DynamoDB – Redis – Memcache
• Orientado à Grafos | Graph Databases
• Neo4j – TitanDB - GraphData
• MULTI MODEL DATABASES (ou quase)
• ArangoDB – OrientDB – Azure CosmosDB – MongoDB
10. TIPOS DE NOSQL
Key Value
Column
Document
Graph
SQL Store
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7 8 9 10
Escalabilidade
Complexidade
Complexidade x Escalabilidade NoSQL
12. FUNDAMENTOS NOSQL
NoSQL = No Join (?) = Not Only Join
O que substitui o JOIN ?
•Hierarquia;
•Duplicar Dados (desnormalizar);
•Diferentes modelos para consultas e indexação;
13. FUNDAMENTOS NOSQL
Qual é a prioridade ?
•Alta consistência ?
•Alta performance de leitura ?
•Alta performance de escrita ?