SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
SQL
                                       NoSQL
                                          NewSQL
       onde armazenar meus dados?


segunda-feira, 7 de novembro de 2011
Alexandre Porcelli
                    Organizer

                                             Alexandre Porcelli
                                             Commiter / Parser Developer


                                                                              Alexandre Porcelli
                                                                              API Designer / Core Developer




            Alexandre Porcelli
            DSL Designer




                                        Alexandre Porcelli
                                        Co-founder / Parser Developer


                                                                        Alexandre Porcelli
                                                                            Founder


segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
contexto




segunda-feira, 7 de novembro de 2011
século xxi
segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
falta de capital
segunda-feira, 7 de novembro de 2011
big data




segunda-feira, 7 de novembro de 2011
história...




segunda-feira, 7 de novembro de 2011
modelos
                         • Hierarchical (IMS): late 1960’s and 1970’s
                         • Directed graph (CODASYL): 1970’s
                         • Relational: 1970’s and early 1980’s
                         • Entity-Relationship: 1970’s
                         • Extended Relational: 1980’s
                         • Semantic: late 1970’s and 1980’s
                         • Object-oriented: late 1980’s and early 1990’s
                         • Object-relational: late 1980’s and early 1990’s
                         • Semi-structured (XML): late 1990’s to late 2000’s
                         • The next big thing: ???




                                       ref: What Goes Around Comes Around por Michael Stonebraker e Joey Hellerstein
segunda-feira, 7 de novembro de 2011
nosql

segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
definição...




segunda-feira, 7 de novembro de 2011
abaixo ao
                                        banco de
                                         dados
                                       relacional!

segunda-feira, 7 de novembro de 2011
abaixo ao banco de dados
                                              relacional!

                                       como bala
                                        de prata!



segunda-feira, 7 de novembro de 2011
momento
    histórico...
segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
uma
                                       nova
                                       escola

segunda-feira, 7 de novembro de 2011
estrutura
segunda-feira, 7 de novembro de 2011
                                       de dados
DESNORMALIZAÇÃO



segunda-feira, 7 de novembro de 2011
chave-valor




segunda-feira, 7 de novembro de 2011
modelo




segunda-feira, 7 de novembro de 2011
família de colunas
segunda-feira, 7 de novembro de 2011
modelo
                                                           Keyspace

                                                       Família de Colunas

                                                                linha
                             chave
                                       coluna     coluna        coluna   coluna     coluna     ...   coluna

                                                                  .
                                                                  .
                                                                  .

                                                                linha
                             chave
                                       coluna          coluna               coluna           ...     coluna




                                                                Coluna

                                                nome   timestamp            valor




segunda-feira, 7 de novembro de 2011
documento




segunda-feira, 7 de novembro de 2011
modelo




segunda-feira, 7 de novembro de 2011
grafo




segunda-feira, 7 de novembro de 2011
visão geral




segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
arquitetura




segunda-feira, 7 de novembro de 2011
schema first
                            vs.
                        flexibility

segunda-feira, 7 de novembro de 2011
Eventually
   Consistent




                                       ref: Eventually Consistent por Werner Vogels
segunda-feira, 7 de novembro de 2011
Consistência
            em Momento
           Indeterminado

                                       @mdediana
segunda-feira, 7 de novembro de 2011
BASE




                                       ref: BASE: an Acid Alternative por Dan Pritchett
segunda-feira, 7 de novembro de 2011
B asically
 A vailable
 S oft State
 E eventually Consistent


segunda-feira, 7 de novembro de 2011
jogo de palavras




      relaxamento
      das regras
segunda-feira, 7 de novembro de 2011
estado de fluxo




segunda-feira, 7 de novembro de 2011
durabilidade




                                       ref: The End of an Architectural Era por Michael Stonebraker & al.
segunda-feira, 7 de novembro de 2011
GRID


segunda-feira, 7 de novembro de 2011
FAULT TOLERANCE



segunda-feira, 7 de novembro de 2011
apps & db




segunda-feira, 7 de novembro de 2011
cada escolha
                              uma
                            renúncia

segunda-feira, 7 de novembro de 2011
padrões




segunda-feira, 7 de novembro de 2011
how-to




segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
acid




segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
                                       (
existe nosql
                                 acid



segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
                                       )
MINDSET



segunda-feira, 7 de novembro de 2011
SQL                                       NoSQL
    padrões
            durabilidade                flexibilidade
                      dsl comum              grafos
                                       k-v store
       triggers
                                           documento
         chave estrangeira             escalabilidade
   chave composta                      commodity hard.
       transação                       RAM
   2 phase commit                      distributed
         relacional                          api`s
segunda-feira, 7 de novembro de 2011
SQL                                       NoSQL
    padrões
            durabilidade                flexibilidade
                      dsl comum              grafos
                                       k-v store
       triggers
                                           documento
         chave estrangeira             escalabilidade
   chave composta                      commodity hard.
       transação                       RAM
   2 phase commit                      distributed
         relacional                          api`s
segunda-feira, 7 de novembro de 2011
NewSQL
    padrões


                      dsl comum



                                       escalabilidade
                                       commodity hard.
                                       RAM
                                       distributed
         relacional
segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
                                       ferramentas
noSQL

segunda-feira, 7 de novembro de 2011
column
     key-value                                   document   graph
                                        family

segunda-feira, 7 de novembro de 2011
grid

segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
newSQL

segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
O[?]M & UnQL              Object/[?] Mapping   Unstructured Query Language




segunda-feira, 7 de novembro de 2011
1970
                               30      anos


                                       2000
segunda-feira, 7 de novembro de 2011
2008
                               3        anos


                                       2011
segunda-feira, 7 de novembro de 2011
Perguntas?


segunda-feira, 7 de novembro de 2011
segunda-feira, 7 de novembro de 2011
Obrigado


                                       alexandre.porcelli@gmail.com

                                       github.com/porcelli

             about.me/porcelli         linkedin.com/in/alexandreporcelli

                                       @porcelli

                                       porcelli.com.br
segunda-feira, 7 de novembro de 2011

Más contenido relacionado

Similar a DevinVale: SQL, noSQL ou newSQL - Onde armazenar meus dados? (6)

TDC-GO2011 - Felipe Knorr Kuhn (Selenium com Page Objects)
TDC-GO2011 - Felipe Knorr Kuhn (Selenium com Page Objects)TDC-GO2011 - Felipe Knorr Kuhn (Selenium com Page Objects)
TDC-GO2011 - Felipe Knorr Kuhn (Selenium com Page Objects)
 
Sinatra - Primeiros Passos
Sinatra - Primeiros PassosSinatra - Primeiros Passos
Sinatra - Primeiros Passos
 
Apres. Business Model Generation - TDC
Apres. Business Model Generation - TDCApres. Business Model Generation - TDC
Apres. Business Model Generation - TDC
 
[cv - 2011.2] 13 - layout e proporção áurea
[cv - 2011.2] 13 - layout e proporção áurea[cv - 2011.2] 13 - layout e proporção áurea
[cv - 2011.2] 13 - layout e proporção áurea
 
Fun driven development com Ruby
Fun driven development com RubyFun driven development com Ruby
Fun driven development com Ruby
 
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
 

Más de Alexandre Porcelli

QConSP 2013 - Não confunda engenharia de software com lean startup
QConSP 2013 - Não confunda engenharia de software com lean startupQConSP 2013 - Não confunda engenharia de software com lean startup
QConSP 2013 - Não confunda engenharia de software com lean startup
Alexandre Porcelli
 
J1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em Java
J1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em JavaJ1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em Java
J1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em Java
Alexandre Porcelli
 
ANTLR Conference - OpenSpotLight driven by ANTLR
ANTLR Conference - OpenSpotLight driven by ANTLRANTLR Conference - OpenSpotLight driven by ANTLR
ANTLR Conference - OpenSpotLight driven by ANTLR
Alexandre Porcelli
 
Antlr Conference Drools & Hibernate
Antlr Conference   Drools & HibernateAntlr Conference   Drools & Hibernate
Antlr Conference Drools & Hibernate
Alexandre Porcelli
 

Más de Alexandre Porcelli (15)

Dawn of the citizen developer
Dawn of the citizen developerDawn of the citizen developer
Dawn of the citizen developer
 
Running rules and processes in the cloud
Running rules and processes in the cloudRunning rules and processes in the cloud
Running rules and processes in the cloud
 
Impulsione sua carreira contribuindo para projetos open source
Impulsione sua carreira contribuindo para projetos open sourceImpulsione sua carreira contribuindo para projetos open source
Impulsione sua carreira contribuindo para projetos open source
 
QConSP 2013 - Não confunda engenharia de software com lean startup
QConSP 2013 - Não confunda engenharia de software com lean startupQConSP 2013 - Não confunda engenharia de software com lean startup
QConSP 2013 - Não confunda engenharia de software com lean startup
 
Integration & DSL
Integration & DSLIntegration & DSL
Integration & DSL
 
A importância dos dados em sua arquitetura... uma visão muito além do SQL Ser...
A importância dos dados em sua arquitetura... uma visão muito além do SQL Ser...A importância dos dados em sua arquitetura... uma visão muito além do SQL Ser...
A importância dos dados em sua arquitetura... uma visão muito além do SQL Ser...
 
J1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em Java
J1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em JavaJ1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em Java
J1Brasil: Persistência de Dados além do JPA, ou Como usar noSQL em Java
 
noSQL WTF?! - Citi2010
noSQL WTF?! - Citi2010noSQL WTF?! - Citi2010
noSQL WTF?! - Citi2010
 
noSQL @ QCon SP
noSQL @ QCon SPnoSQL @ QCon SP
noSQL @ QCon SP
 
noSQL além do buzz
noSQL além do buzznoSQL além do buzz
noSQL além do buzz
 
GraphDatabases @ TDC2010
GraphDatabases @ TDC2010GraphDatabases @ TDC2010
GraphDatabases @ TDC2010
 
Motor de Regras @ TDC2010
Motor de Regras @ TDC2010Motor de Regras @ TDC2010
Motor de Regras @ TDC2010
 
OpenSpotLight - Concepts
OpenSpotLight - ConceptsOpenSpotLight - Concepts
OpenSpotLight - Concepts
 
ANTLR Conference - OpenSpotLight driven by ANTLR
ANTLR Conference - OpenSpotLight driven by ANTLRANTLR Conference - OpenSpotLight driven by ANTLR
ANTLR Conference - OpenSpotLight driven by ANTLR
 
Antlr Conference Drools & Hibernate
Antlr Conference   Drools & HibernateAntlr Conference   Drools & Hibernate
Antlr Conference Drools & Hibernate
 

Último

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

DevinVale: SQL, noSQL ou newSQL - Onde armazenar meus dados?