PortuguêsEnglishFrançaisDeutschItalianoEspañol

Bancos de Dados Grafos: Comparando Neo4j e i2

Compartilhar em linkedin
Compartilhar em facebook
Compartilhar em twitter
Compartilhar em whatsapp
Compartilhar em email
Compartilhar em print

Num mundo digital em constante evolução, organizações que dominam suas informações possuem uma vantagem competitiva significativa para o entendimento do seu negócio, cliente, produto e mercado. Para aproveitar ao máximo esses dados, é preciso utilizar tecnologias que permitam extrair valor real das informações com agilidade, segurança, confiabilidade e facilidade, da maneira mais eficiente e eficaz possível. As tecnologias de grafos são uma excelente forma de fazer isso, pois oferecem uma maneira mais eficiente de armazenar, recuperar, manipular e visualizar dados e suas relações. Dois dos aplicativos mais populares para fazer isso são o Neo4j Graph Database e o i2. Nesta análise, essas duas soluções serão avaliadas para determinar os recursos e benefícios de cada um, bem como as desvantagens e limitações.

O que são grafos?

As tecnologias de grafos referem-se a técnicas de análise e gerenciamento de dados em grafos. Este grupo de tecnologias permite a exploração de relacionamentos entre entidades como organizações, pessoas, transações ou diversos outros tipos de entidades. Esse tipo de tecnologia pode exigir um grande volume de dados, armazenamento e análise heterogêneos — nenhum dos quais é adequado para bancos de dados relacionais.

A análise de grafos consiste em modelos que determinam a “conectividade” entre os pontos de dados e a relação entre conjuntos de dados variados.

Os bancos de dados grafos são ideais para armazenar, manipular e analisar perspectivas amplamente variadas no modelo de grafo devido às suas linguagens e recursos de processamento específicos, escalabilidade e poder computacional.

Nos últimos anos, em reconhecimento ao impacto que os bancos de dados grafos vem trazendo ao mercado, o Gartner criou uma categoria específica para essa tecnologia.

Os DBMSs grafos aprimoram o suporte para modelos de dados grafos, fornecendo carregamento de dados, conversão de dados, consistência, segurança e manutenção, juntamente com a capacidade de provisionar clusters que aumentam e diminuem. Grandes fornecedores tradicionais de DBMS e plataforma, bem como startups, estão visando essas oportunidades, porque o interesse e o ímpeto estão se expandindo comprovadamente. Os líderes de dados e análises em todos os setores verticais estão oferecendo suporte a casos de uso de gráficos, como visualizações de clientes em 360 graus, mecanismos de recomendação e detecção de fraudes.

https://www.gartner.com/reviews/market/graph-database-management-systems

O Gartner coloca as tecnologias de grafos como uma das tendências emergentes para os próximos três anos, sob a categoria “facilitadores críticos”.

Em um estudo específico sobre bancos de dados grafos, o Gartner avaliou, dentre outros aspectos, que:

  • (…) o mercado de tecnologias grafos, incluindo sistemas de gerenciamento de banco de dados (DBMSs), crescerá para US$ 3,2 bilhões até 2025, com um Compound Annual Growth Rate (CAGR) de 28,1%.
  • Os fornecedores no mercado de DBMS grafos estão expandindo suas pilhas para plataformas de grafos de conhecimento corporativo ou inteligência artificial (IA) de grafos, com ecossistemas de produtos associados.
  • Os profissionais de dados e análises geralmente lutam para distinguir entre diferentes modelos de implementação de grafos. No entanto, a divisão tradicional entre RDF e suporte a gráfico de propriedade está se tornando menos importante para a seleção de DBMS grafos do que os recursos que oferecem suporte à prontidão empresarial.

Nesse contexto, é importante destacar a diferença entre bancos de dados grafos e bancos de dados com visualização de grafos. O primeiro trabalha de maneira nativa com grafos, enquanto o segundo trabalha com bancos de dados relacionais com uma camada adicional de visualização de grafos. Essa distinção é relevante no contexto da presente comparação justamente porque trata de duas soluções que se propõem a entregar resultados semelhantes, porém utilizando tecnologias de base diferentes: o Neo4j é uma base de dados grafos nativa e o i2 é uma base de dados relacional capaz de visualizar grafos.

Visão geral do Neo4j e do i2

O Neo4j é um banco de dados grafos nativo de código aberto, usado para armazenar e manipular dados em um formato grafo, capaz também de importar dados relacionais de outras bases e tratá-los com tecnologias grafos. O Neo4j é escrito em Java e projetado para escalabilidade, desempenho e flexibilidade. Seus usos incluem investigação criminal, mecanismos de recomendação, telecomunicações e muitos outros. O Neo4j é usado por organizações como eBay, Walmart, Nasa, IBM e LinkedIn.

O i2 é um banco de dados relacional que integra um visualizador de grafos. O i2 Group, organização responsável pelo desenvolvimento e atualmente subsidiária da Harris Computer (desde 2022), desenvolveu soluções para visualização e análise de dados para auxiliar na investigação criminal, e que posteriormente também foram usados por outros ramos do governo, incluindo antiterrorismo, inteligência militar e defesa, bem como fraude comercial. É usado por organizações como Visa, P&G e Samsung.

Recursos de grafos do Neo4j e i2

O Neo4j e o i2 têm vários recursos em comum; no entanto, o Neo4j é uma base de dados grafos nativa, enquanto o i2 é uma base de dados relacional com um visualizador de grafos integrado. Em função dessa diferença, o Neo4j permite armazenar dados em formato grafo nativamente, enquanto o i2 armazena as informações em tabelas e aplica uma camada de visualização para “transformar” os dados relacionais em dados grafos. Ambas as soluções apresentam recursos de escalabilidade, flexibilidade e desempenho, embora o i2 utilize mais recursos computacionais e tenha o desempenho comprometido quando utilizado grande volume de dados (acima de 1 bilhão de registros).

No entanto, existem algumas diferenças importantes entre os dois bancos de dados. O Neo4j é de código aberto, enquanto o i2 é um serviço totalmente gerenciado. O Neo4j é escrito em Java, enquanto o i2 é escrito em C++. O Neo4j foi projetado tanto para pequenas quanto para grandes empresas, enquanto o i2 foi projetado para grandes empresas.

Vantagens e desvantagens do Neo4j e do i2

Tanto o Neo4j quanto o i2 têm suas próprias vantagens e desvantagens. O Neo4j é um banco de dados grafos de código aberto, sendo mais acessível e fácil de usar do que o i2. Também é mais flexível e fácil de personalizar do que o concorrente. Por outro lado, o i2 é um serviço totalmente gerenciado e requer menos manutenção, uma vez que todo o sistema é gerenciado pela própria i2.

Casos de uso

Ambas as aplicações podem ser utilizadas para diversos segmentos e tamanhos de empresas; no entanto, o Neo4j possui uma estrutura de custos e facilidade de implantação que o torna mais atrativo a pequenas e médias empresas, além de governos e grandes corporações.

Tanto o Neo4j quanto o i2 podem ser utilizados em uma variedade de casos, como serviços financeiros, detecção e análise de fraude, Governo, ciências da vida, gerenciamento de identidade e acesso, varejo, sistema de recomendação, gestão da cadeia de abastecimento, grafos de conhecimento, monitoramento de infraestrutura, gerenciamento de dados mestre, mídia social e gráficos de redes sociais, telecomunicações, privacidade de dados, risco e conformidade e inteligência artificial e analytics, dentre outros.

Desempenho

Ambos os bancos de dados apresentam desempenho otimizado, dependendo da infraestrutura e da complexidade dos dados. No entanto, o i2 é um banco de dados de mecanismo relacional e está atrelado às limitações desse paradigma, especialmente quanto ao relacionamento de dados.

O Neo4j é um motor gráfico especializado cujo paradigma é baseado em relacionamentos de dados e apresenta melhor desempenho do que os motores relacionais neste cenário.

Operações

Ambas as soluções possuem operações robustas com recursos avançados para monitoramento e solução de problemas, porém alguns aspectos contam a favor do Neo4j:

  • Fácil adoção: O Neo4j possui uma linguagem de consulta intuitiva (“Cypher”), que permite ao usuário interagir facilmente com o banco de dados, reduzindo a curva de aprendizado em comparação com o i2.
  • Comunidade ativa: Neo4j tem uma grande comunidade de usuários ativos compartilhando conhecimentos, habilidades, soluções e melhores práticas, enquanto o i2, apesar de mais antigo, possui uma comunidade significativamente menor.
  • Integração: O Neo4j fornece um rico conjunto de integrações com as tecnologias mais populares, como Spark, Gremlin e GraphQL, facilitando a integração com outras ferramentas de análise de dados.
  • Mais opções de hospedagem: O Neo4j oferece diferentes opções de hospedagem, seja no local (on-premisses), IaaS ou PaaS, permitindo maior flexibilidade nos aspectos operacionais e atendendo melhor aspectos de governança e privacidade exigido por alguns tipos de organizações.

Segurança e confiabilidade

Os aspectos de segurança do Neo4j e do i2 também são comparáveis – ambos atendem a várias certificações regulatórias diferentes, como ISO, SOC e FedRamp, e abordam recursos de segurança como autenticação, autorização, criptografia (em trânsito) e auditoria. O Neo4j suporta criptografia tanto em repouso quanto em trânsito, além do Role Based Access Control (RBAC), que fornece mais flexibilidade para personalizar o acesso aos dados.

O i2 permite alta disponibilidade através da implementação de cluster, porém sua configuração pode ser complexa, exigindo profissionais especializados. Além disso, o i2 conta com backups para recuperação de desastres.

O Neo4j permite alta disponibilidade e escalabilidade de várias maneiras, desde vertical (mais hardware) e horizontal (mais nós em um cluster), até implementações em nuvem IaaS ou Paas. Além disso, o Neo4j também oferece configuração intuitiva de backups para implementações locais e IaaS e backups automatizados para implementações de PaaS.

Custos

Em relação ao custo, vale destacar que o Neo4j e o i2 não são comparáveis em muitos fatores, uma vez que possuem uma estrutura de dados diferentes (o Neo4j utiliza grafos nativamente, enquanto o i2 utiliza o paradigma relacional).

Ao se considerar exclusivamente os valores de licenciamento e a possibilidade de o cliente escolher sua própria opção de hospedagem, o Neo4j tende a um resultado de TCO (Total Cost of Ownership) melhor.

No entanto, o Neo4j requer alguma personalização, enquanto o i2 é um serviço totalmente gerenciado, requerendo menos manutenção.

Resumo

CaracterísticasNeoj4i2
O que éBanco de dados grafos nativoBanco de dados relacional com recursos para visualização de grafos
Recursos– Escalabilidade horizontal fácil
– 1000 vezes mais rápido que bancos de dados relacionais
– Grau de confiabilidade de nível empresarial
– Projetado para a nuvem
– Projetado para desenvolvedores
– Ecossistema de dados integrados

Fonte: https://neo4j.com/product/neo4j-graph-database/
– Pesquisa melhorada
– Identifique maiores insights a partir de dados conectados
– Aperfeiçoamentos de interoperação
– Interações aprimoradas do gráfico de clientes web
– Suporte estendido do sistema operacional
– Suporte para código aberto

Fonte: https://i2group.com/product-release-announcement-20-dec-2022
Vantagens– Banco de dados grafos de código aberto
– Mais acessível e fácil de usar
– Flexível
– Fácil personalização
– Linguagem de programação mais intuitiva (Cypher)
– Maior conformidade com governança e compliance
– Serviço totalmente gerenciado
– Maior tempo de vida
– Mais conhecido em nichos específicos (investigação criminal, detecção de fraudes)
Desvantagens– Requer desenvolvimento da camada de interface com o usuário– Serviço totalmente gerenciado
– Menos opções de implantação
– Maior consumo de recursos computacionais
– Desempenho cai para bases com grande volume de dados
– Maior TCO
Desempenho– Excelente para bases de dados grafos de qualquer tamanho (mais de um trilhão de registros / relacionamentos)
– Exponencialmente superior para grandes bases
– Excelente para bases de pequeno a médio tamanho (milhões de registros / relacionamentos)
– Progressivamente inferior para bases de grandes volumes de dados (acima de um bilhão de registros / relacionamentos)
Segurança e confiabilidade– Atende a diferentes certificações regulatórias (ISO, SOC e FedRamp)
– Autenticação,
– Autorização
– Criptografia (em trânsito e em repouso)
– Auditoria
Role Based Access Control (RBAC)
– Atende a diferentes certificações regulatórias (ISO, SOC e FedRamp)
– Autenticação,
– Autorização
– Criptografia (somente em trânsito)
– Auditoria
Principais casos de uso– Investigação criminal
– Serviços financeiros
– Detecção e análise de fraude
– Governo
– Ciências da vida
– Gerenciamento de identidade e acesso
– Varejo
– Sistemas de recomendação
– Gestão da cadeia de abastecimento
– Grafos de conhecimento
– Monitoramento de infraestrutura
– Gerenciamento de dados mestre
– Mídia social e gráficos de redes sociais
– Telecomunicações
– Privacidade de dados, risco e conformidade
– Inteligência artificial e analytics
– Investigação criminal
– Detecção de fraudes
– Antiterrorismo
– Inteligência militar e defesa
– Fraude comercial
Ranking no DB-Engines Ranking of Graph DBMS1º (55.43 pontos)Não listado
Sitehttps://neo4j.com/https://i2group.com/

Conclusão

Tanto o Neo4j quanto o i2 são poderosas soluções de grafos que podem ajudar as organizações a aproveitar ao máximo seus dados.

Para aplicações de grande volume, que necessitem de flexibilidade e agilidade na construção de soluções com grafos com um custo relativamente baixo, o Neo4j tem vantagens por ser uma tecnologia nativa, mais recente e em constante desenvolvimento, enquanto o i2 não apresenta novas versões há alguns anos e tem o futuro incerto após a venda da solução pela IBM à Harris Computer, no final de 2022.

Já o i2, apesar de estar no mercado há muitos anos, tem seu foco tem sido quase exclusivamente em governos, especialmente forças policiais e investigação criminal.

Em última análise, cada empresa deve decidir qual solução é mais adequada aos negócios em função dos seus requisitos de desempenho, segurança, governança e custo.

Explorar outras publicações no Blog CT&I

Um tanto de teoria das probabilidades e sabedoria das multidões na gestão de riscos

Sempre que se ouve a palavra riscos, imediatamente vem à cabeça dos gestores algo negativo, algo ruim, algo que se deve evitar. Não se deve culpar essas pessoas, até porque o conceito difundido pela principal norma que orienta a gestão de riscos, a ISO 31000, define risco como o “efeito da incerteza nos objetivos”. Por sua vez, os dicionários vinculam o termo “incerteza” a outros termos nada positivos, tais como: “dúvida”, “hesitação” e outros que provocam algum receio.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.