Oxente Rails 2010 - Persistindo em Graph databases

724 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Oxente Rails 2010 - 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

×