Prazer, banco de grafo

Prazer, banco de grafo

Uma breve apresentação sobre casos de uso de banco de grafo e relato da experiência com ArangoDB

A7e2851e37f859ccc28ff61dfe7eca2a?s=128

Vinicius Cruz

April 11, 2016
Tweet

Transcript

  1. 2.

    Hello World! Vinicius Cruz Diretor técnico na Olaria Colaborador no

    PHP BA Desenvolvedor web Um pouco de DevOps
  2. 3.

    O que é grafo? ◎ Representação matemática de relações em

    conjunto de objetos ◎ Composto de vértices e arestas
  3. 4.

    Exemplo ◎ Podemos representar um site através do grafo ◎

    Cada página é um vértice ◎ As arestas são representadas por link entre as páginas
  4. 5.

    Grafo ◎ Vértices possuem informações ◎ Arestas também podem conter

    informações ◎ Um vértice pode conter várias arestas
  5. 7.

    Twitter ◎ a entidade usuário é um vértice com atributos

    ◦ nome: Vinicius ◦ apelido: @vinaocruz ◎ a relação segue é uma aresta (@vinaocruz segue @mlalbuquerque) ◦ data início: 2016-01-01 ◦ data fim: null (caso dê unfollow: 2016-12-01)
  6. 8.

    Twitter ◎ Podemos ter também tweet como vértice ◎ E

    mention como aresta (@vinaocruz marcado tweet)
  7. 9.

    Twitter from: @vinaocruz to: @mlalbuquerque initAt: 2010-01-01 from: @mlalbuquerque to:

    @vinaocruz initAt: 2010-01-02 type: mention type: author
  8. 10.

    Estudo de caso ◎ Rede comercial de vendedoras de cosméticos

    ◎ Vendedoras formam equipe ◎ Membro da equipe inicia novas vendedoras
  9. 13.
  10. 14.
  11. 15.

    Problema ◎ A vendedora Azul formou sua própria equipe ◎

    Mas preciso exibir no relatório a equipe completa da vendedora Vermelha ◎ Preciso manter um histórico sobre as relações
  12. 16.

    Grafos ◎ Cada vendedora é um vértice ◎ As relações

    entre vendedoras são arestas ◎ Nas arestas contém a data que iniciou e conterá a data de saída
  13. 18.
  14. 19.

    ArangoDB ◎ Banco de dados multi modelo ◎ Diversos acessos

    ◎ Gratuito e open source ◎ Extensível - Fox
  15. 20.

    ArangoDB ◎ Documentos salvos em coleções ◎ Free schema ◎

    Dados normalmente estruturado (JSON) ◎ Atributos indexados
  16. 21.

    ArangoDB ◎ No grafo, vértices e arestas são documentos ◎

    Algoritmos de grafo embutidos ◎ Consultas utilizando index geolocalizado, full text, AQL
  17. 22.
  18. 24.