マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Neo4j

【OSS情報アーカイブ】Neo4j

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Neo4j」とは

基本情報

概要

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

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

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

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

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

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

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

基本説明

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

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

ポイント

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

経緯

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

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

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

GitHubで公開されています。

主な特徴

スキーマレス

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」など、各種ツールが用意されています。

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

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

同様製品(概要情報)

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

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

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

導入事例

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

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

ライセンス情報

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

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。