O slideshow foi denunciado.
Dando o próximo passo nos seus relacionamentos:
        Persistindo em graph databases




    Adriano Almeida         Dav...
Adriano Almeida    David Paniz
@adrianoalmeida7   @davidpaniz
http://browsertoolkit.com/fault-tolerance.png
Por que relacional?
Key/Value

 Baseados no paper da Amazon (Dynamo)
    http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2...
BigTable

  Baseados no paper do Google (BigTable)
            http://labs.google.com/papers/bigtable.html




Implementaç...
Document

  Inspirado na palestra do Tapajós




Implementações: CouchDB, MongoDB
Document

  Inspirado no Lotus Notes (IBM)




Implementações: CouchDB, MongoDB
Graph (yay)

Inspirado na teoria de grafos - Euler




Implementações: OrientDB, Neo4j
- Justamente por esse ponto, nós sempre que
precisamos representar algum tipo de relacionamento
nós fazemos um desenho PAR...
Componentes
Node (Nó)




Pessoa
Relationship (Relacionamento)




         viajou_para
Pessoa
Outro nó




         viajou_para
Pessoa                 Lugar
Property (Propriedade)




              viajou_para
    Pessoa                       Lugar



nome     Adriano           ...
Property (Propriedade)


             quando 06/08/2010
              viajou_para
    Pessoa                       Lugar

...
E daí?
Binding JRuby
API Rest
#win
#fail
Obrigado




Adriano Almeida               David Paniz
@adrianoalmeida7              @davidpaniz
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases
Próximos SlideShares
Carregando em…5
×

Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases

1.575 visualizações

Publicada em

Palestra apresentada por Adriano Almeida e eu no Oxenterails 2010. Demos uma breve introdução ao conceito de graph database e mostramos como usar o neo4j com ruby.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases

  1. 1. Dando o próximo passo nos seus relacionamentos: Persistindo em graph databases Adriano Almeida David Paniz @adrianoalmeida7 @davidpaniz
  2. 2. Adriano Almeida David Paniz @adrianoalmeida7 @davidpaniz
  3. 3. http://browsertoolkit.com/fault-tolerance.png
  4. 4. Por que relacional?
  5. 5. Key/Value Baseados no paper da Amazon (Dynamo) http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf Implementações: Dynomite, Redis,Voldemort
  6. 6. BigTable Baseados no paper do Google (BigTable) http://labs.google.com/papers/bigtable.html Implementações: BigTable, Hbase, HyperTable
  7. 7. Document Inspirado na palestra do Tapajós Implementações: CouchDB, MongoDB
  8. 8. Document Inspirado no Lotus Notes (IBM) Implementações: CouchDB, MongoDB
  9. 9. Graph (yay) Inspirado na teoria de grafos - Euler Implementações: OrientDB, Neo4j
  10. 10. - Justamente por esse ponto, nós sempre que precisamos representar algum tipo de relacionamento nós fazemos um desenho PARECIDO com um grafo. Por isso costumamos falar que grafos são Whiteboard Friendly, vc consegue representar suas ideias de forma bem fácil desenhando grafos, mas vc representa suas ideias desenhando tabelas e fks na lousa (logico que ha quem faz, mas acreditamos que existem formas mais faceis).
  11. 11. Componentes
  12. 12. Node (Nó) Pessoa
  13. 13. Relationship (Relacionamento) viajou_para Pessoa
  14. 14. Outro nó viajou_para Pessoa Lugar
  15. 15. Property (Propriedade) viajou_para Pessoa Lugar nome Adriano cidade Natal idade 24 país Brasil
  16. 16. Property (Propriedade) quando 06/08/2010 viajou_para Pessoa Lugar nome Adriano cidade Natal idade 24 país Brasil
  17. 17. E daí?
  18. 18. Binding JRuby
  19. 19. API Rest
  20. 20. #win
  21. 21. #fail
  22. 22. Obrigado Adriano Almeida David Paniz @adrianoalmeida7 @davidpaniz

×