A Neo4j anunciou a versão 1.9 GA do seu banco de dados orientado a grafos. Dentre as melhorias mais importantes temos:
- A edição enterprise do Neo4j ganha sua própria solução de cluster baseada no protocolo Paxos, substituindo a versão anterior que era baseada no Zookeeper. Isso elimina a necessidade de um cluster separado do Zookeeper;
- O novo neo4j-arbiter é um cluster com geralmente três nós para tolerância a falhas. No caso de o nó mestre cair é possível eleger um novo nó mestre através do processo de "votação eletrônica", pois há um número par de instâncias disponíveis. Nesse momento o árbitro entra em jogo. O comportamento do desse árbitro é como o de uma instância comum, para propósitos de eleição, mas não inclui um engine de banco de dados;
- Cypher, a linguagem de consulta do Neo4j, foi aprimorada com novas funções: tratamento de strings, REDUCE e TIMESTAMP;
- Há um novo endpoint REST acessado pelo balanceador de carga para descobrir quais instâncias são mestres e quais são secundárias/escravas, a fim de saber para qual delegar as operações de leitura (no secundário) e escrita (no mestre);
- Melhoria em backups online na versão enterprise, que agora detecta se é necessário um backup completo ou incremental;
- Aprimoramento do consumo da memória e no desempenho.
O Neo4j precisa do Oracle JRE 1.7. Embora funcione com outras JREs. Importante notar que as funcionalidades obsoletas serão completamente removidas nas versões futuras.
Juntamente com a versão 1.9, uma série de produtos do ecossistema Neo4j foram atualizados: o Structr (CMS e backend REST), Neo4j Gremlin Plugin, Neo4j Spatial, Neo4j JDBC Driver, Neo4j Graph Collections e Neo4j REST Graph Database.
Ao mesmo tempo, foi anunciado o Neo4j 2.0 M3, que adiciona:
- Cypher MERGE, uma combinação de MATCH e CREATE;
- Duas novas funções no Cypher, startNode(rel) e endNode(rel);
- Endpoint HTTP do Cypher, habilitando transações para multiplas requisições HTTP.
Outro desenvolvimento importante é o Neo4j Mobile para Android, que visa trazer o banco de dados orientado a grafos para o SO móvel do Google. Esse projeto ainda está nas fases iniciais e é baseado no Neo4j 1.5 M02.
O Neo4j executa no Linux, Mac OS X e Windows; nos provedores de nuvem Heroku, Amazon AWS e Azure. Vem em três edições: Comunidade, Avançado e Enterprise. O código está aberto no GitHub.