Neo4j開発チームはNeo4j 1.9 GAおよびNeo4j 2.0 M03を公開した。 また、グラフデータベースをスマートフォンやタブレット端末に取り入れることを目的とした「Neo4j Mobile for Android」というプロジェクトも新たに立ち上がっている。
Neo4j開発チームはNeo4jグラフデータベースのバージョン1.9を正式版として公開した。 バージョン1.9では主に次の点が強化されている。
- Neo4jエンタープライズ版では、これまでのZookeeperを利用したクラスタリングソリューションに代わり、Paxosプロトコルを利用した独自のソリューションが採用されている。 これによりZookeeperクラスタを個別に用意する必要がなくなる。
- neo4j-arbiter。 通常1つのクラスタはフォールトトレランスを実現するために3つのノードで構成されるが、 マスタがダウンした場合、使用可能なインスタンス数が偶数になるため、投票プロセスで機械的に新しいマスタを選出することができない。 arbiterが機能するのはこのような場合だ。 arbiterは投票プロセスで通常のインスタンスのように動作する。ただし、データベースエンジンは含まれていない。
- Neo4jのクエリ言語「Cypher」に新しい関数(string handling、REDUCE、 TIMESTAMP)が加わった。
- RESTエンドポイントの追加。読取り操作をスレーブに委譲する場合や書込み操作をマスタに委譲する場合に、ロードバランサがこのエンドポイントにアクセスすることにより、それぞれのインスタンスの状態がマスタなのかスレーブなのかを判別できる。
- エンタープライズ版におけるオンラインバックアップの改善。完全バックアップや増分バックアップが必要かどうかが検知されるようになった。
- メモリ使用量やパフォーマンスの改善。
Neo4j 1.9にはOracle JRE 1.7が必要となる。 他のJavaランタイムも使用できるが、1.7の使用が推奨されている。 また、次期バージョンで完全に削除される非推奨機能も確認しておいたほうがよいだろう。
1.9に加えて、StructrのCMS機能やRESTバックエンド、Neo4j Gremlin Plugin、Neo4j Spatial、Neo4j JDBC Driver、Neo4j Graph Collections、Neo4j Rest GraphDatabaseなど、Neo4jエコシステムの製品もいくつかアップデートされている。
一方、Neo4j 2.0 M3には次の機能が追加されている。
- CypherのMATCHとCREATEを組み合わせたMERGE。
- 2つの新しいCypher関数startNode(rel)とendNode(rel)。
- Cypher HTTPエンドポイント。このエンドポイントを使用すると、1つのトランザクションが複数のHTTPリクエストをまたいで有効になる。
この他に注目すべき開発プロジェクトとしてNeo4j Mobile for Androidがある。これはGoogleのモバイルOSにグラフデータベースを取り入れることを目的としたプロジェクトだ。 このプロジェクトはまだ初期段階にあり、Neo4j 1.5 M02をベースとしている。
Neo4jはLinux、Mac OS X、Windowsの他に、Heroku、Amazon AWS、Azureなどのクラウドプラットフォームでも動作し、コミュニティ版、アドバンス版、エンタープライズ版の3つのエディションで提供されている。 また、ソースコードはGitHubで公開されている。