グラフデータベース「Neo4j 3.0」が登場、公式言語ドライバを提供へ

 米Neo Technologyは4月26日、オープンソースのグラフデータベースNeo4jの最新安定版「Neo4j 3.0」を公開した。アーキテクチャの一新により拡張性を強化したほか、各言語からNeo4jを利用するための公式ドライバも提供されるようになっている。

 Neo4jはオープンソースのグラフデータベースで、Neo4j 3.0は2013年12月に公開されたバージョン2に続くメジャーアップグレード版となる。3系では初のリリースとなり、アーキテクチャを一新した。内部を再設計し、これまで保存とインデックスにおいてノード、関係、プロパティで設けられていた上限を撤廃したストレージエンジンを導入した。性能を維持しつつ大規模なグラフに対してリアルタイムのクエリを実行できることから、リアルタイムの小売業のリコメンデーションやIoTなど大規模なアプリケーションでも利用できるとしている。

 また、新たに軽量なバイナリワイヤプロトコルBoltが導入された。Javaストアドプロシージャをサポートし、Boltを活用してスキーマイントロスペクションなどの機能を加えることができるという。Javaストアドプロシージャでは任意のJVM言語がサポートされ、Boltを利用してアクセスしサーバーで処理を実行できる。また、Neo4jからほかのデータベースに接続できるJDBC接続も用意する。これにより、ストアドプロシージャはNeo4jからのデータをほかのデータベースに統合できるという。Boltの導入により、各言語向けドライバも公式に提供されるようになった。まずはJava、.NET、JavaScript、Python向けが用意される。

 性能面では、コストベースのクエリオプティマイザを導入した。バージョン2.2で導入したリードオンリーのクエリ向けのクエリオプティマイザの進化となり、リードに加えてライトにも対応した。並列インデックス機能も備え、インデックスを高速化できるという。クエリ言語Cypherも強化されている。

 これらに加え、オンプレミスとクラウドの両方でNeo4jの設定と実装を合理化した。数年ものNeo4j運営から学んだ経験をいかし、複数のconfigファイルを単一の名前空間のファイルに統合するなどの変更を加えたという。

Neo4j
http://neo4j.com/