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ísticas | Neoj4 | i2 |
---|---|---|
O que é | Banco de dados grafos nativo | Banco 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 DBMS | 1º (55.43 pontos) | Não listado |
Site | https://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.