マジセミドライブ

ウェビナー関連のニュースや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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。