Sem limites com NoSQL

Preview:

Citation preview

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

NoSQLNão Relacional, distribuído, alta performance para e alta escalabilidade;

SQLRelacional, 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

Escala

bilid

ade

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