O que é um banco de dados de grafos?

Conceitos de NoSQL

Miriam Antona

Software engineer

Bancos de dados de grafos - visão geral

  • Trate dados e seus relacionamentos com a mesma importância
  • Baseado na teoria dos grafos
    • ramo da matemática
    • estuda grafos para modelar relacionamentos entre objetos
Conceitos de NoSQL

Bancos de dados de grafos - partes de um grafo

  • Vértices/nós
  • Arestas

Imagem de um grafo com dois nós.

Conceitos de NoSQL

Bancos de dados de grafos - partes de um grafo

  • Vértices/nós
  • Arestas/links/arcos

Imagem de um grafo com dois nós conectados por uma aresta.

Conceitos de NoSQL

Bancos de dados de grafos - nós

  • Representam entidades (usuários, cidades, aeroportos, colaboradores...)
  • Têm propriedades

Nós com usuários.

Conceitos de NoSQL

Bancos de dados de grafos - nós

  • Representam entidades (usuários, cidades, aeroportos, colaboradores...)
  • Têm propriedades

Nós com usuários e suas propriedades.

Conceitos de NoSQL

Bancos de dados de grafos - arestas

  • Conectam os nós
  • Definem os relacionamentos entre nós

Nós conectados por arestas.

Conceitos de NoSQL

Bancos de dados de grafos - arestas

  • Conectam os nós
  • Definem os relacionamentos entre nós

Nós conectados por arestas com relacionamentos.

Conceitos de NoSQL

Bancos de dados de grafos - arestas

  • Conectam os nós
  • Definem os relacionamentos entre nós

Nós conectados por arestas, com relacionamentos e propriedades.

Conceitos de NoSQL

Bancos de dados de grafos - tipos de arestas

  • Direcionadas:
    • Direção específica

Imagem de um grafo direcionado.

Conceitos de NoSQL

Bancos de dados de grafos - tipos de arestas

  • Não direcionadas:
    • Sem direção
    • O relacionamento é mútuo

Imagem de um grafo não direcionado.

Conceitos de NoSQL

Bancos de dados de grafos - consultas

  • Percorrendo o grafo
  • Exemplos:
    • Obter todos os usuários que Ben segue
    • Obter quando Carol começou a seguir Shui
    • Obter o caminho mais curto entre duas cidades
  • Caminho: conjunto de nós e arestas em um grafo
  • Linguagens de consulta: Cypher, Gremlin, etc.
Conceitos de NoSQL

Bancos de dados de grafos populares

Logos de alguns bancos de dados de grafos populares

Conceitos de NoSQL

Vamos praticar!

Conceitos de NoSQL

Preparing Video For Download...