Upload
cleber-dantas
View
192
Download
2
Embed Size (px)
DESCRIPTION
NoSQL - O que eu vi por ai...
Citation preview
NoSQLO que eu vi por ai...
Cleber Dantas
• 8+ anos de experiência na área de TI• Especialista em desenvolvimento Web• Responsável pela área técnica do grupo Minha
Vida• Ministro treinamentos sobre desenvolvimento
Web• Dou algumas palestras em eventos de tecnologia • @cleberdantas• http://www.cleberdantas.com
Not Only SQL
• Uma nova (ou não) escola de pensamentos• Aprendemos o modelo relacional na escola• Not Only RDBMS• MongoDB (DoubleClick)
CAP Theorem
• Consistency (all nodes see the same data at the same time)• Availability ( a guarantee that every request receives a
response about whether it was successful or failed)• Partition tolerance (the system continues to operate despite
arbitrary message loss or failure of part of the system)
• “Em um sistema de computação distribuída é impossível ter as 3 características” – Erick Brewer
http://en.wikipedia.org/wiki/CAP_theorem
CAP Theorem
ACID vs BASE
• ACID (atomicidade, consistência, isolamento, durabilidade) – Lembram?
• BASE (Basically Available, Soft state, Eventual consistency – Relaxamento das regras)
• Onde não ser ACID não é ruim? Think about...
http://en.wikipedia.org/wiki/ACID
http://en.wikipedia.org/wiki/Eventual_consistency
Estrutura de dados
• Key-Value• Column family• Document• Graph
Bancos de dados
Arquitetura de armazenamento
• Normalmente os NoSQL trabalham em memória• O próprio engine forka o processo de tempos em
tempos e leva os dados ao disco• Para garantir a disponibilidade/performance
trabalham com replicas/sharding
Map Reduce
• Funções que coletam/mapeiam dados de 1 ou mais nós gerando uma nova coleção
• Depois agrupam/reduzem os dados os tornando de alguma forma útil
• Ex: Contador de palavras
http://en.wikipedia.org/wiki/MapReduce
RDBMS Anti Patterns by @gleicon
RDBMS Anti Patterns by @gleicon
RDBMS Anti Patterns by @gleicon
RDBMS Anti Patterns by @gleicon
RDBMS Anti Patterns by @gleicon
RDBMS Anti Patterns by @gleicon
RDBMS Anti Patterns by @gleicon
Mensagem final…
• Cada vez mais temos que pensar muito nos problemas que estamos resolvendo e como vamos resolve-lo, independente da tecnologia
• Se é com PHP, Asp.Net, Java, Oracle, Sql Server, MemCached, Redis, MongoDB, Lua, Nuvem, Hadoop, Lucene ou não isso realmente não importa afinal somos profissionais de tecnologia. #OpenMind
• Temos que estudar
Obrigado. Perguntas? Se eu souber responder claro