
(Ra2 Studio/Shutterstock)
A Neo4J divulgou esta semana sua nova arquitetura infinigrafista que, segundo ela, aborda um dos desafios fundamentais na escala de bancos de dados de gráficos: a dificuldade em manter a estrutura de um banco de dados de gráfico na memória à medida que o quantity de dados aumenta. A inovação desencadeará uma nova escala para casos de uso operacional, como detecção de fraude, e também reforçará cargas de trabalho emergentes emergentes, diz a empresa.
Graças à maneira como eles armazenam dados em nós conectados, os bancos de dados de gráficos podem executar alguns tipos de cargas de trabalho intensivas em dados, uma ordem de magnitude com mais eficiência do que os bancos de dados relacionais tradicionais. Em vez de executar junções intensivas em computação para identificar conexões em um determinado conjunto de dados-como pessoas que trabalharam com uma empresa em particular-um gráfico de propriedades como o Neo4J pode encontrar as semelhanças com uma consulta simples, pois os dados foram originalmente modelados nas conexões para começar. Além de obter as respostas mais rapidamente, os gráficos podem salvar ciclos da CPU e energia e despesa que implica.
No entanto, existem limitações na abordagem do gráfico. Para iniciantes, os bancos de dados de gráficos funcionam melhor quando o gráfico inteiro pode ser carregado na memória. Isso não é um problema para conjuntos de dados menores, mas se torna um problema à medida que o tamanho dos dados cresce. O NEO4J foi originalmente construído para ser executado em grandes máquinas de escala simétricas multiprocessador (SMP) com muita memória. Começou a desenvolver uma versão distribuída e ampliada de seu banco de dados cerca de cinco anos atrás Para abordar os clientes com conjuntos de dados muito grandes. Embora tenha feito progresso no mundo distribuído, as limitações fundamentais no uso de gráficos em uma arquitetura distribuída permanecem.

A Infinigraph permite que o Neo4J escala horizontalmente enquanto mantém nós e bordas na memória (imagem cortesia de neo4j)
O lançamento do Infinigraph pelo Neo4J representa uma solução inovadora para esse dilema. A empresa decidiu comprometer os tipos de dados que se separou para executar em nós separados ou encharcados. Em vez de dividir os componentes principais de sua arquitetura de gráfico de propriedades – ou seja, os nós e os relacionamentos – e destruí -los para separar máquinas em um cluster, com a infinigrafia, a empresa elegerá apenas para propriedades associadas aos nós e relacionamentos, mantendo assim os nós e os relacionamentos intactos no mesmo espaço de memória.
As propriedades em um banco de dados de gráficos são os valores associados a um nó ou um relacionamento. Cada nó ou relacionamento pode ter qualquer número de propriedades associadas a ele. Por exemplo, um nó para uma “pessoa” pode ter propriedades como “nome” ou “idade”, enquanto o componente de relacionamento pode ter propriedades adicionais, como uma knowledge ou native específico para uma propriedade “Worksat”.
Com o Infinigraph, o Neo4J está introduzindo sharding de propriedades, que permite que os nós e os relacionamentos permaneçam em um único servidor, enquanto as propriedades potencialmente volumosas são armazenadas em nós separados em um cluster, diz Dan McGrath, vice -presidente de gerenciamento de produtos da NEO4J para nuvem.
“Um dos grandes desafios da indústria de banco de dados tem escalado cargas de trabalho de gráfico transacional e analítico sem sacrificar o desempenho, estrutura ou facilidade de uso”, escreveu McGrath Em uma postagem no weblog. “A arquitetura infinigrafista resolve esse desafio, distribuindo os dados de propriedade de um gráfico nos servidores em um cluster. O fragmento de propriedade permite que o próprio gráfico permaneça logicamente inteiro; as consultas se comportam conforme o esperado, e os aplicativos são dimensionados sem alterações de código ou soluções manuais.” “
De acordo com McGrath, cada entidade no gráfico Neo4J tem exatamente uma entidade correspondente em um fragmento de propriedade e, quando uma consulta solicita propriedades, o sistema os busca automaticamente do fragmento direito, enquanto a Traversal permanece native para o shard topologia.
“Todo o sistema é executado em um cluster autônomo”, escreveu ele. “O gráfico Shard forma um grupo de balsa common, garantindo a disponibilidade e o failover. Os fragmentos de propriedades podem ser escalados de forma independente, adicionando réplicas, o que lhes fornece alta disponibilidade, um novo recurso introduzido para sharding de propriedades no cluster autônomo Neo4J”.
Não são necessárias alterações nos aplicativos de banco de dados de gráficos com infinigraff, diz Neo4J, e as consultas de cifra funcionam como antes. Nós e relacionamentos são escritos no fragmento de gráfico, enquanto as propriedades específicas dos nós e relacionamentos podem ser escritos para um fragmento diferente. O desenvolvedor, no entanto, está escrevendo apenas uma consulta, e o banco de dados descobre de qual fragmento de propriedade buscar os dados.
Essa abordagem traz muitos benefícios, diz McGrath, incluindo a capacidade de escalar um gráfico além de 100 TB de dados; a capacidade de incorporar bilhões de vetores diretamente no gráfico; eliminar a necessidade de dutos de ETL; enquanto mantém a conformidade com ácido whole.
O NEO4J diz que essa nova abordagem ajudará as equipes a realizar operações operacionais e analíticas ao mesmo tempo, incluindo a detecção de fraudes e analisando anéis de fraude do mesmo conjunto de dados ou geração de recomendações em tempo actual ao analisar décadas de dados do cliente e tendências comportamentais. “Eles podem impulsionar assistentes de genai, sistemas de conformidade e aplicações transacionais em uma fonte consistente de verdade”, diz o Comapny.
Existem algumas limitações com a nova abordagem, no entanto. O número de shards de propriedades é corrigido na criação na primeira versão do Infinigraph e ainda não suporta reequilíbrio automático. O NEO4J recomenda que o Infinigraph seja usado para gráficos pesados de propriedade.
A Infinigraph está disponível agora na oferta auto-gerenciada do Neo4J. Em breve estará disponível no Neo4j Auradb, a plataforma nativa em nuvem da empresa.
Itens relacionados:
Neo4J promete ‘No Extra ETL’ com Aura Graph Analytics
Neo4j dirige a simplicidade com a atualização da ciência de dados de gráfico