nosql
                  além do buzz
quinta-feira, 2 de setembro de 2010
.           hype




quinta-feira, 2 de setembro de 2010
história...




quinta-feira, 2 de setembro de 2010
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, 2 de setembro de 2010
next big thing?




quinta-feira, 2 de setembro de 2010
definição...




quinta-feira, 2 de setembro de 2010
abaixo ao
                                       banco de
                                        dados
                                      relacional!

quinta-feira, 2 de setembro de 2010
abaixo ao banco de
                                       dados relacional!

                                      como bala
                                       de prata!



quinta-feira, 2 de setembro de 2010
momento
   histórico...
quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
resolver
                                      problemas
                                      específicos

quinta-feira, 2 de setembro de 2010
quais
     problemas?
                                      • Árvore
                                      • Estruturas Dinâmicas
                                      • Cache
                                      • Filas
                                      • Log
                                      • ...




                                                      ref: anti-patterns by @gleicon
quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
nosql é...




                                      opção!
quinta-feira, 2 de setembro de 2010
cada escolha
                              uma
                            renúncia

quinta-feira, 2 de setembro de 2010
padrões




quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
acid




quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
                                      (
existe nosql
                                 acid



quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
                                      )
para adotar
                                  nosql é
                                importante
                                conhecer os
                                 tradeoffs
quinta-feira, 2 de setembro de 2010
arquitetura
quinta-feira, 2 de setembro de 2010
armazenamento
    de dados NÃO
       tem sido
   [a muito tempo]
     considerado
       parte de
     arquitetura




quinta-feira, 2 de setembro de 2010
WTF?




quinta-feira, 2 de setembro de 2010
CAP




                                      ref: The CAP Theorem por Seth Gilbert & Nancy Lynch
quinta-feira, 2 de setembro de 2010
C onsistency
    A vailability
    P artition Tolerance


quinta-feira, 2 de setembro de 2010
Consistency




                                 clientes enxergam os
                                     mesmos dados
quinta-feira, 2 de setembro de 2010
Availability




                                      os clientes podem
                                        ler e escrever
quinta-feira, 2 de setembro de 2010
Partition
  Tolerance

                        o sistema continua
                       funcionando mesmo
                        com problemas de
                              conexão

quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
BASE




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


quinta-feira, 2 de setembro de 2010
jogo de palavras




      relaxamento
      das regras
quinta-feira, 2 de setembro de 2010
Eventually
    Consistency




                                      ref: Eventually Consistent por Werner Vogels
quinta-feira, 2 de setembro de 2010
eventual em inglês:
                                      irá ocorrer em algum
                                            momento




  eventual em português:
    pode ou não ocorrer
quinta-feira, 2 de setembro de 2010
Consitência
           em Momento
          Indeterminado

                                      @mdediana
quinta-feira, 2 de setembro de 2010
consistência


                                      N, R e W


quinta-feira, 2 de setembro de 2010
intersecção


                                      W+R > N


quinta-feira, 2 de setembro de 2010
durabilidade




                                      ref: The End of an Architectural Era por Michael Stonebraker & al.
quinta-feira, 2 de setembro de 2010
ainda tem...

                   ! latência
                   ! performance
                   ! particionamento
                   ! distribuição
                   ! replicação

quinta-feira, 2 de setembro de 2010
lembre-se
      vc não está criando uma
          solução de escala
         intergaláctica com
   tolerância a falhas aleatórias
          entre datacenters
      espalhados em diversas
    localizações geográficas e
          outras dimensões
quinta-feira, 2 de setembro de 2010
estruturas
 de dados




quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
quinta-feira, 2 de setembro de 2010
sacou a
       importância
      da arquitetura?




quinta-feira, 2 de setembro de 2010
com tantas definições...
            com tantos conceitos...
             com tantos tradeoffs...
                com tantos....



quinta-feira, 2 de setembro de 2010
como o nosql se
   tornou tão
 sexy e popular?




quinta-feira, 2 de setembro de 2010
apesar de tudo....




quinta-feira, 2 de setembro de 2010
                                      é fácil usar!
quinta-feira, 2 de setembro de 2010
persitência
     poliglota




quinta-feira, 2 de setembro de 2010
quer saber
      sobre mais
     sobre nosql?
     pergunte-me
        como!
quinta-feira, 2 de setembro de 2010
Perguntas?


quinta-feira, 2 de setembro de 2010
Obrigado


               alexandre.porcelli@gmail.com

              github.com/porcelli

               linkedin.com/in/alexandreporcelli

               @porcelli

              porcelli.com.br
quinta-feira, 2 de setembro de 2010

noSQL além do buzz

  • 1.
    nosql além do buzz quinta-feira, 2 de setembro de 2010
  • 2.
    . hype quinta-feira, 2 de setembro de 2010
  • 3.
  • 4.
    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, 2 de setembro de 2010
  • 5.
    next big thing? quinta-feira,2 de setembro de 2010
  • 6.
  • 7.
    abaixo ao banco de dados relacional! quinta-feira, 2 de setembro de 2010
  • 8.
    abaixo ao bancode dados relacional! como bala de prata! quinta-feira, 2 de setembro de 2010
  • 9.
    momento histórico... quinta-feira, 2 de setembro de 2010
  • 10.
    quinta-feira, 2 desetembro de 2010
  • 11.
    resolver problemas específicos quinta-feira, 2 de setembro de 2010
  • 12.
    quais problemas? • Árvore • Estruturas Dinâmicas • Cache • Filas • Log • ... ref: anti-patterns by @gleicon quinta-feira, 2 de setembro de 2010
  • 13.
    quinta-feira, 2 desetembro de 2010
  • 14.
    nosql é... opção! quinta-feira, 2 de setembro de 2010
  • 15.
    cada escolha uma renúncia quinta-feira, 2 de setembro de 2010
  • 16.
  • 17.
    quinta-feira, 2 desetembro de 2010
  • 18.
    acid quinta-feira, 2 desetembro de 2010
  • 19.
    quinta-feira, 2 desetembro de 2010 (
  • 20.
    existe nosql acid quinta-feira, 2 de setembro de 2010
  • 21.
    quinta-feira, 2 desetembro de 2010 )
  • 22.
    para adotar nosql é importante conhecer os tradeoffs quinta-feira, 2 de setembro de 2010
  • 23.
  • 24.
    armazenamento de dados NÃO tem sido [a muito tempo] considerado parte de arquitetura quinta-feira, 2 de setembro de 2010
  • 25.
    WTF? quinta-feira, 2 desetembro de 2010
  • 26.
    CAP ref: The CAP Theorem por Seth Gilbert & Nancy Lynch quinta-feira, 2 de setembro de 2010
  • 27.
    C onsistency A vailability P artition Tolerance quinta-feira, 2 de setembro de 2010
  • 28.
    Consistency clientes enxergam os mesmos dados quinta-feira, 2 de setembro de 2010
  • 29.
    Availability os clientes podem ler e escrever quinta-feira, 2 de setembro de 2010
  • 30.
    Partition Tolerance o sistema continua funcionando mesmo com problemas de conexão quinta-feira, 2 de setembro de 2010
  • 31.
    quinta-feira, 2 desetembro de 2010
  • 32.
    BASE ref: BASE: an Acid Alternative por Dan Pritchett quinta-feira, 2 de setembro de 2010
  • 33.
    B asically Available S oft State E eventually Consistent quinta-feira, 2 de setembro de 2010
  • 34.
    jogo de palavras relaxamento das regras quinta-feira, 2 de setembro de 2010
  • 35.
    Eventually Consistency ref: Eventually Consistent por Werner Vogels quinta-feira, 2 de setembro de 2010
  • 36.
    eventual em inglês: irá ocorrer em algum momento eventual em português: pode ou não ocorrer quinta-feira, 2 de setembro de 2010
  • 37.
    Consitência em Momento Indeterminado @mdediana quinta-feira, 2 de setembro de 2010
  • 38.
    consistência N, R e W quinta-feira, 2 de setembro de 2010
  • 39.
    intersecção W+R > N quinta-feira, 2 de setembro de 2010
  • 40.
    durabilidade ref: The End of an Architectural Era por Michael Stonebraker & al. quinta-feira, 2 de setembro de 2010
  • 41.
    ainda tem... ! latência ! performance ! particionamento ! distribuição ! replicação quinta-feira, 2 de setembro de 2010
  • 42.
    lembre-se vc não está criando uma solução de escala intergaláctica com tolerância a falhas aleatórias entre datacenters espalhados em diversas localizações geográficas e outras dimensões quinta-feira, 2 de setembro de 2010
  • 43.
    estruturas de dados quinta-feira,2 de setembro de 2010
  • 44.
    quinta-feira, 2 desetembro de 2010
  • 45.
    quinta-feira, 2 desetembro de 2010
  • 46.
    sacou a importância da arquitetura? quinta-feira, 2 de setembro de 2010
  • 47.
    com tantas definições... com tantos conceitos... com tantos tradeoffs... com tantos.... quinta-feira, 2 de setembro de 2010
  • 48.
    como o nosqlse tornou tão sexy e popular? quinta-feira, 2 de setembro de 2010
  • 49.
    apesar de tudo.... quinta-feira,2 de setembro de 2010 é fácil usar!
  • 50.
    quinta-feira, 2 desetembro de 2010
  • 51.
    persitência poliglota quinta-feira, 2 de setembro de 2010
  • 52.
    quer saber sobre mais sobre nosql? pergunte-me como! quinta-feira, 2 de setembro de 2010
  • 53.
  • 54.
    Obrigado alexandre.porcelli@gmail.com github.com/porcelli linkedin.com/in/alexandreporcelli @porcelli porcelli.com.br quinta-feira, 2 de setembro de 2010