Neo4j(ネオフォージェイ)。オープンソースNoSQL型グラフデータベースです。いくつかの基本的なデータ構造を理解し、SQLライク言語(Cypher)を覚えれば、グラフ理論に基づいたデータ処理機能を利用できます。

オープンソースのデータベース/Neo4jとは

Neo4j(ネオフォージェイ)。オープンソースNoSQL型グラフデータベースです。いくつかの基本的なデータ構造を理解し、SQLライク言語(Cypher)を覚えれば、グラフ理論に基づいたデータ処理機能を利用できます。

基本情報

概要

Neo4j(ネオフォージェイ)とは、オープンソースNoSQL型グラフデータベースです。いくつかの基本的なデータ構造を理解し、SQLライク言語(Cypher)を覚えれば、グラフ理論に基づいたデータ処理機能を利用できます。

「グラフデータベース」とは

グラフデータベースとは、「ノード」「リレーション」「プロパティ」の3要素によってノード間の「関係性を表現」する「グラフ型データモデル」を持つデータベースです。

データセット全体をひとつの巨大高密度ネットワーク構造としてモデル化します。

RDBMSには不向きとされる、複雑なデータ群に対する保存/探索/集計に最適化されたデータベースです。

グラフデータベースは、グラフ化するためだけのデータベースではなく、グラフ理論を使用してデータ処理を行う汎用性の高いデータベースです。グラフ化機能は、多くの機能の中の1つにすぎません。

グラフ型データベースの設計には、「データモデリング用ER図」「オブジェクトモデル用UML」との共通点もあり、RDBMS設計者でも入りやすい側面を持っています。

基本説明

Neo4jは、グラフデータベースであり、NoSQLデータベースに分類されます。

Javaで開発されたソフトウェアで、Linux/Windows/Macに対応しています。

ポイント

・洗練されたユーザインターフェース(UI)
・データモデリングの容易さ
・読みやすいクエリ
・活発なコミュニティ活動
・オプショナルスキーマ

経緯

Neo4jは、「Neo Technology社」がメインとなり開発しています。

RDBMS系データベースのパフォーマンス問題を解決するために始まったとされています。

2003年から開発を始めて、2007年に公開されました。

GitHubで公開されています。

TOPに戻る

主な特徴

スキーマレス

Neo4jでは、事前のテーブル作成は必要はありません。クエリ構文が実行されデータが登録される時に、データ構造が決定されます。

データモデル

モデル化手法「プロパティグラフモデル(property graph model)」に基づいています。プロパティグラフモデルをストレージレベルにまで実装しています。

クエリ言語(Cypher QL)

データ操作は「Cypher QL(Cypher Query Language)」を使用します。SQLライクで短時間で習得できます。

クエリ実行結果表示

「Cypher QL」の実行結果は、結果値をデータとして受け取るか、グラフとして表示できます。グラフ化はブラウザや各種ツールを利用します。

ACID保証(トランザクション処理)

ACIDとは、「Atomicity(原子性)」「Consistency (一貫性)」「Isolation(独立性)」「Durability(耐久性)」の略です。

関連する複数の処理を一つの処理単位にまとめて管理するトランザクション処理を保証します。

ハイパフォーマンス

数十億のノード/リレーション/プロパティを管理できます。

2000リレーションの検索(探索)処理は、ミリ秒程度で完了します。

1000ノード程度の最短ルート計算の場合、MySQLの1000倍のスピードになります。ノード数が多くなるほど、その差は拡大します。

開発言語

Neo4jは、Java/Scalaで開発されています。REST APIを利用して、Java/JavaScript/Python/Ruby/PHP/.NETなどで開発が可能です。

マスタ型アーキテクチャ

Neo4jは、マスタデータベース1本に集中して管理します。

高可用性構成できるのは商用版のみですが、コミュニティ(オープンソース)版でもDRBDなどを利用して高可用化できます。

各種ツール

バッチ処理ツール「neo4j-shell」、大量データアップロードツール「neo4j-import」、バックアップツール「neo4j-backup」など、各種ツールが用意されています。

ドキュメント類が最適化されている

チュートリアル/ドキュメント類は、開発者向けに最適化されています。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

商用製品:「Oracle Database『Oracle Spatial and Graph』オプション」など。

オープンソース製品:「OrientDB」など。

TOPに戻る

導入事例

グローバルでは500社以上の導入事例があります。adidas、eBayなどで採用されています。

日本国内では今後拡大していくと見られています。

TOPに戻る

ライセンス情報

Neo4j(コミュニティ版)のライセンスは、「GNU General Public License v3」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Neo4j最新TOPICS

『「RDB技術者のためのNoSQLガイド」出版記念セミナー(第二回)』お申込み受け付け中!(2016年06月13日 12:15)

「RDB技術者のためのNoSQLガイド」は2016/2/25に秀和システムから出版されました。 本書は、エンタープライズでRDBを利用しているユーザが、どのようにNoSQLを活用していくべきかを説明する本です。 今回のセミナーでは、出版を記念して、著者が本の内容の紹介とNoSQLの基本的な説明と、MongoDB、Cassandra、Neo4j、 DynamoDB、Cloudant、Blockc...

Neo4j最新CLOSEUPコラム

  • オープソース書籍(サイド)

OSS×Cloud ACCESS RANKING

  • OSSNEWSに広告を掲載しませんか?

facebook

twitter