O modelo de banco de dados relacional tem existido desde o final da década de 1960. E provou fornecer persistência, controle de concorrência e mecanismos de integração. Porém uma das fraquezas do modelo relacional é a sua capacidade limitada de resolver grandes problemas de dados envolvendo informações interconectadas complexas que se tornaram cada vez mais comuns nas ciências de dados. Armazenar, recuperar e manipular dados tão complexos se torna oneroso ao usar abordagens RDBMS tradicionais.
O Neo4j surge, em 2007, otimizado para dados altamente conectados através de modelagens orientadas a grafos.
Mas o que é de fato Neo4j?
Patrocinado pela Neo Tecnology, Neo4j é um banco de dados NoSQL gráfico open-source implementado em Java e Scala. Neo4j é usado hoje por centenas de milhares de empresas e organizações em quase todas as indústrias e é líder de mercado entre os bancos de dados orientados a grafos. Os casos de uso incluem matchmaking, gerenciamento de rede, software de análise, investigação científica, roteamento, gestão organizacional e de projeto, recomendações, redes sociais e muito mais.
Neo4j implementa o Modelo Gráfico imóvel de forma eficiente até o nível de armazenamento. Ao contrário de processamento ou bibliotecas na memória gráfica, Neo4j fornece características de banco de dados completos, incluindo ACID cumprimento operação, suporte de cluster e tempo de execução de failover, tornando-o adequado para usar dados do gráfico em cenários de produção.
Onde Neo4j tem valor?
Uma das maiores vertentes do Neo4j é análise de dados através de algorítmos grafos, onde aplicado à ciência de dados, é possível construir bases de dados voltadas para modelos preditivos e recomendativos. Quando se usa um banco orientado a grafos é praticamente indiferente quantos registros ou nós você irá atacar para uma determinada consulta.
Este é o ponto focal deste tipo de banco de dados, o que o faz a escolha mais adequada através de inúmeros planos de execuções e algoritmos para dados com muitas relações entre os nós do grafo, como redes sociais e sistemas de recomendação de vendas, compras ou análise de consumidores.
Sistemas de análise de impacto e recomendações são facilmente remodelados e inseridos dentro da plataforma do Neo4j, que também nos permite criar esta estrutura toda voltada para nuvem dentro das soluções Azure, Bluemix, AWS e outras.
Veja o vídeo do Hangout que realizei sobre sistemas de recomendação com Neo4j:
Parte 1:
Parte 2:
Um grande abraço a todos!