SEM LIMITES COM NOSQL
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
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 )
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.
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
90% das empresas top
100 que mais faturam no
mundo utilizam algum
NoSQL!
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;
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
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
TEOREMA DE CAP
FUNDAMENTOS NOSQL
NoSQL = No Join (?) = Not Only Join
O que substitui o JOIN ?
•Hierarquia;
•Duplicar Dados (desnormalizar);
•Diferentes modelos para consultas e indexação;
FUNDAMENTOS NOSQL
Qual é a prioridade ?
•Alta consistência ?
•Alta performance de leitura ?
•Alta performance de escrita ?
FUNDAMENTOS NOSQL
FUNDAMENTOS NOSQL
REPLICASET = + REDUNDÂNCIA /
DISPONIBILIDADE
FUNDAMENTOS NOSQL
REPLICASET = + REDUNDÂNCIA /
DISPONIBILIDADE
FUNDAMENTOS NOSQL
REPLICASET = + REDUNDÂNCIA /
DISPONIBILIDADE
FUNDAMENTOS NOSQL
SHARDING = + ESCALABILIDADE /
PERFORMANCE
FUNDAMENTOS NOSQL
SHARDING = + ESCALABILIDADE /
PERFORMANCE
FUNDAMENTOS NOSQL
BENCHMARKS ARE NOT TRUSTFUL
FUNDAMENTOS NOSQL
Our database is too slow and is not big enough!
We need NoSql!
Our database is
too slow and is
not big enough!
We need NoSql!
FUNDAMENTOS NOSQL
KISS
● Avoid complexity
● Product First
● MVP
● Baby Step
FIM!
OBRIGADO!
http://codigosimples.
net

Sem limites com NoSQL

  • 1.
  • 2.
    SOBRE – JHONATHANDE 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 • Primeiramenteintroduzido 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.
  • 6.
    FUNDAMENTOS NOSQL • BIGDATA – 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 empresastop 100 que mais faturam no mundo utilizam algum NoSQL!
  • 8.
    NOSQL NÃO SUBSTITUISQL, 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 KeyValue 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
  • 11.
  • 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 ?
  • 14.
  • 15.
    FUNDAMENTOS NOSQL REPLICASET =+ REDUNDÂNCIA / DISPONIBILIDADE
  • 16.
    FUNDAMENTOS NOSQL REPLICASET =+ REDUNDÂNCIA / DISPONIBILIDADE
  • 17.
    FUNDAMENTOS NOSQL REPLICASET =+ REDUNDÂNCIA / DISPONIBILIDADE
  • 18.
    FUNDAMENTOS NOSQL SHARDING =+ ESCALABILIDADE / PERFORMANCE
  • 19.
    FUNDAMENTOS NOSQL SHARDING =+ ESCALABILIDADE / PERFORMANCE
  • 20.
  • 21.
    FUNDAMENTOS NOSQL Our databaseis too slow and is not big enough! We need NoSql! Our database is too slow and is not big enough! We need NoSql!
  • 22.
    FUNDAMENTOS NOSQL KISS ● Avoidcomplexity ● Product First ● MVP ● Baby Step
  • 23.