SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
SQL
                                    NoSQL
                                       NewSQL
       onde armazenar meus dados?


quinta-feira, 30 de junho de 2011
@porcelli




                                                                                   Alexandre Porcelli
                                                                                        Founder




      Alexandre Porcelli
      Writer


                                    Alexandre Porcelli
                                    Organizer

                                                         Alexandre Porcelli
                                                         Commiter / Parser Developer


                                                                                       Alexandre Porcelli
                                                                                       API Designer / Developer




quinta-feira, 30 de junho de 2011
nosql

quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
uma
                                    nova
                                    escola

quinta-feira, 30 de junho de 2011
história...




quinta-feira, 30 de junho 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
quinta-feira, 30 de junho de 2011
definição...




quinta-feira, 30 de junho de 2011
abaixo ao
                                     banco de
                                      dados
                                    relacional!

quinta-feira, 30 de junho de 2011
abaixo ao banco de
                                     dados relacional!

                                    como bala
                                     de prata!



quinta-feira, 30 de junho de 2011
estrutura
quinta-feira, 30 de junho de 2011
                                    de dados
DESNORMALIZAÇÃO



quinta-feira, 30 de junho de 2011
chave-valor




quinta-feira, 30 de junho de 2011
modelo




quinta-feira, 30 de junho de 2011
família de colunas
quinta-feira, 30 de junho 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



quinta-feira, 30 de junho de 2011
documento




quinta-feira, 30 de junho de 2011
modelo




quinta-feira, 30 de junho de 2011
grafo




quinta-feira, 30 de junho de 2011
visão geral




quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
arquitetura




quinta-feira, 30 de junho de 2011
Eventually
    Consistent




                                    ref: Eventually Consistent por Werner Vogels
quinta-feira, 30 de junho de 2011
Consistência
           em Momento
          Indeterminado

                                    @mdediana
quinta-feira, 30 de junho de 2011
BASE




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


quinta-feira, 30 de junho de 2011
jogo de palavras




      relaxamento
      das regras
quinta-feira, 30 de junho de 2011
estado de fluxo




quinta-feira, 30 de junho de 2011
durabilidade




                                    ref: The End of an Architectural Era por Michael Stonebraker & al.
quinta-feira, 30 de junho de 2011
apps & db




quinta-feira, 30 de junho de 2011
ORM




quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
schema first
                             vs.
                         flexibility

quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
big data




quinta-feira, 30 de junho de 2011
FAULT TOLERANCE



quinta-feira, 30 de junho de 2011
mercados
tradicionais...




quinta-feira, 30 de junho de 2011
MINDSET



quinta-feira, 30 de junho 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
quinta-feira, 30 de junho 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
quinta-feira, 30 de junho de 2011
NewSQL
     padrões

                        dsl comum


                                       escalabilidade
                                       commodity hard.
                                       RAM
                                       distributed
          relacional
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
                                    ferramentas
noSQL

quinta-feira, 30 de junho de 2011
column
     key-value                                document   graph
                                     family

quinta-feira, 30 de junho de 2011
newSQL

quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
quinta-feira, 30 de junho de 2011
Perguntas?


quinta-feira, 30 de junho de 2011
Obrigado


                                    alexandre.porcelli@gmail.com

                                    github.com/porcelli

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

                                    @porcelli

                                    porcelli.com.br
quinta-feira, 30 de junho de 2011

Mais conteúdo relacionado

Mais de Alexandre Porcelli

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 cloudAlexandre Porcelli
 
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 sourceAlexandre 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 startupAlexandre Porcelli
 
JUDCon São Paulo - Drools in a Nutshell
JUDCon São Paulo - Drools in a NutshellJUDCon São Paulo - Drools in a Nutshell
JUDCon São Paulo - Drools in a NutshellAlexandre Porcelli
 
NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...
NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...
NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...Alexandre Porcelli
 
Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...
Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...
Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...Alexandre Porcelli
 
DevinVale: SQL, noSQL ou newSQL - Onde armazenar meus dados?
DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?
DevinVale: SQL, noSQL ou newSQL - Onde armazenar meus dados?Alexandre Porcelli
 
noSQL e ORM, será que dá samba?
noSQL e ORM, será que dá samba?noSQL e ORM, será que dá samba?
noSQL e ORM, será que dá samba?Alexandre Porcelli
 
noSQL - Uma nova escola de pensamento
noSQL - Uma nova escola de pensamentonoSQL - Uma nova escola de pensamento
noSQL - Uma nova escola de pensamentoAlexandre Porcelli
 
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...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 JavaAlexandre Porcelli
 
ANTLR Conference - OpenSpotLight driven by ANTLR
ANTLR Conference - OpenSpotLight driven by ANTLRANTLR Conference - OpenSpotLight driven by ANTLR
ANTLR Conference - OpenSpotLight driven by ANTLRAlexandre Porcelli
 

Mais de Alexandre Porcelli (20)

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
 
JUDCon São Paulo - Drools in a Nutshell
JUDCon São Paulo - Drools in a NutshellJUDCon São Paulo - Drools in a Nutshell
JUDCon São Paulo - Drools in a Nutshell
 
NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...
NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...
NoSQL for the rest of us - a JBoss perspective over those hot tools and how y...
 
Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...
Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...
Armazenamento de Dados em Poucas Palavras ou Uma resposta definitiva para tod...
 
DevinVale: SQL, noSQL ou newSQL - Onde armazenar meus dados?
DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?
DevinVale: SQL, noSQL ou newSQL - Onde armazenar meus dados?
 
noSQL e ORM, será que dá samba?
noSQL e ORM, será que dá samba?noSQL e ORM, será que dá samba?
noSQL e ORM, será que dá samba?
 
noSQL - Uma nova escola de pensamento
noSQL - Uma nova escola de pensamentonoSQL - Uma nova escola de pensamento
noSQL - Uma nova escola de pensamento
 
noSQL @ MSTechDay São Paulo
noSQL @ MSTechDay São PaulonoSQL @ MSTechDay São Paulo
noSQL @ MSTechDay São Paulo
 
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
 

Último

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.docx2m Assessoria
 
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 exemploDanilo Pinotti
 
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.docx2m Assessoria
 
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 CalisthenicsDanilo Pinotti
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
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.docx2m Assessoria
 

Último (6)

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
 
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
 
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
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
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
 

SQL, NoSQL ou NewSQL: Onde armazenar meus dados?