マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク7位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク8位🏆
【OSS情報アーカイブ】fping - 🏆ランク9位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力 - 🏆ランク10位🏆
【無料で使える】「 マルウェア 」対策ツールまとめ