Os bancos de dados tradicionais são bancos de dados relacionais, que armazenam dados em linhas e colunas e enfatizam a capacidade de desnormalizar os dados e vinculá-los a chaves primárias e estrangeiras. Isso é adequado para casos de uso tradicionais, como um banco de dados de clientes e pedidos para armazenar e rastrear seus clientes, o estoque, os produtos e os itens que o cliente comprou.
Os bancos de dados gráficos resolvem um problema diferente, eles enfatizam as relações entre os dados em grandes redes conectadas e permitem o armazenamento, a modelagem e a consulta desses novos conjuntos de dados e casos de uso. Descreveremos o contexto e alguns dos exemplos de casos de uso em que um banco de dados de gráficos é mais adequado do que um banco de dados relacional.
O que é um banco de dados gráfico
Bancos de dados gráficos fornecem uma abordagem que prioriza o relacionamento para armazenar e consultar dados. Eles armazenam dados de uma forma lógica que representa a rede do mundo real e prioriza as representações, a descoberta e a manutenção dos relacionamentos de dados.
Bancos de dados de gráficos usam estruturas de gráficos para consultas semânticas com nós, chamados de vértices, arestas e propriedades para representar e armazenar dados.
- Vértice - representa um objeto do mundo real, como um filme ou pessoa.
- Borda - representa uma relação entre dois vértices.
- Propriedades - semelhante a campos em um tablet, mas mais flexível. Pode ser aplicado a uma aresta ou vértice.
Bancos de dados de gráficos podem ser consultados usando linguagens orientadas a gráficos como o sparkql, que são adequadas para expressar problemas em domínios de gráficos grandes.
Bancos de dados gráficos mais populares
Existem dezenas de bancos de dados de gráficos comerciais e de código aberto, mas o banco de dados de gráficos mais popular atualmente disponível é definitivamente o Neo4j, que é um banco de dados de gráficos de código aberto descrito por seus desenvolvedores como um banco de dados transacional compatível com ACID com armazenamento e processamento de gráficos nativos.
Outros bancos de dados gráficos populares incluem OrientDB (um sistema de gerenciamento de banco de dados NoSQL de código aberto escrito em Java), ArangoDB (um sistema de banco de dados multi-modelo nativo desenvolvido pela triAGENS GmbH), MarkLogic (um banco de dados multi-modelo projetado para velocidade e escala NoSQL) e AllegroGraph (um triplestore de código fechado projetado para armazenar triplos RDF), apenas para citar alguns.
Casos de uso de banco de dados de gráficos
Bancos de dados gráficos são aplicáveis em todos os lugares onde as relações de dados são valiosas em tempo real:
- Redes sociais - Talvez o caso de uso mais típico para um banco de dados gráfico sejam as redes sociais, com seus relacionamentos complexos e atividades do usuário.
- Detecção de fraude - Para descobrir fraudes em tempo real, a análise rápida das relações de dados é essencial e os bancos de dados gráficos fornecem o desempenho necessário.
- Gráficos de conhecimento - Usados por mecanismos de pesquisa e empresas, os gráficos de conhecimento reúnem informações de uma ampla variedade de fontes, permitindo melhor gerenciamento de ativos digitais e recuperação mais fácil de informações.
- Análise de rede de TI - O gerenciamento de redes e infraestruturas de TI gira em torno de interdependências complexas e os bancos de dados gráficos são inerentemente mais adequados para este caso de uso do que os bancos de dados relacionais.
- Recomendações - As empresas podem usar bancos de dados gráficos para impulsionar mecanismos de recomendação sofisticados para personalizar produtos, conteúdo e serviços.
- Gerenciamento de identidade - Os bancos de dados gráficos permitem o rastreamento eficiente da atividade do usuário e autorizações rápidas e gerenciamento de ativos.
Conclusão
Os bancos de dados gráficos resolvem os desafios de dados atuais, concentrando-se não apenas nos dados, mas também nas conexões entre as entradas individuais do banco de dados. Eles têm vários casos de uso e estão disponíveis como produtos de software voltados para a comunidade e como software comercial com suporte de nível empresarial.