3.5.8(リリース日:2019/07/19)すべてを見る更新日:2020-01-16Neo4jの概要Neo4j(ネオフォージェイ)とは、グラフ構造のデータモデル(※1)を扱うデータベース管理システム(DBMS)です。グラフデータベース(※2)に分類されます。Neo4j(ネオフォージェイ)は、グラフデータベースの中で最も利用されている製品の一つであり、Javaで書かれています。Technology社によって開発され、2002年に初期バージョンがリリースされています。Neo4j(ネオフォージェイ)は、スキーマレスなデータ構造、開発の容易性、ノード単位のACIDトランザクションなどが評価されており、グラフデータに適したデータベースアーキテクチャとして、世界中で注目を集めています。Award」で選出されるなど、すでに欧米では高い評価を得ているNeo4j(ネオフォージェイ)ですが、今後日本でも本格的な導入が進んでいくことが期待されています。(2020年1月現在)※1グラフ構造のデータモデルとは、最小単位である「ノード」と、ノード間の「関係性」を持つようなデータ構造のことです。グラフデータベースはNoSQLの一種であり、グラフ理論を基に、ノードおよびノード間の関係性を扱うことができます。グラフデータベースは、データを表形式で保存するリレーショナルデータベースと異なり、複雑な関係性を基にしたデータ処理ができることが大きな特徴です。スキーマ(テーブル定義)が必要ないことも特徴です。ノードの属性を複雑な階層でも管理することができるうえ、クエリの作成が容易である、GUIツールが充実しているなどの理由から近年注目を集めています。Neo4jの主な特徴Neo4jの主な特徴は以下の通りです。)のトランザクションをサポートしており、常にデータの整合性を保証します。柔軟なスキーマNeo4jはプロパティグラフモデルと呼ばれるモデル化手法に基づいており、自然に近い形でデータをモデル化することができます。adjacency(グラフのようにお互いに点と線で繋がっているデータの性質)を持っているため、データセットのボリュームや複雑さに関係なく、一定のパフォーマンスを保つことができます。クエリ言語Neo4jではCypherという宣言型のグラフクエリ言語を使用します。Cypherは直感的に理解と習得ができ、SQLよりもコード量を減らすことができます。主要な言語とフレームワークに対応Neo4jはJava、C#、Python、JavaScript等の主要な言語向けのドライバを公式にサポートしています。ORM、Laravel、JDBC等の主要なフレームワークもサポートしています。Platformなどのクラウド環境でも利用可能です。公式のDockerイメージを使用すれば簡単に導入できます。リレーショナルデータベースとの比較リレーショナルデータベースNeo4jデータストレージデータは事前に定義された行と列を持つ表に分割されるため、クエリの効率性を損ないます。adjacencyを持つグラフストレージ構造により、トランザクションやリレーションシップの処理がより高速になります。データモデルデータモデルは論理モデルから物理モデルに変換する必要があります。データタイプとソースを事前に知っておく必要があるため、変更にはコストがかかります。データモデルは論理モデルと物理モデルが一致しており柔軟性があります。データタイプとソースはいつでも追加・変更することができ、開発期間が大幅に短縮されます。クエリ性能データ処理のパフォーマンスは、結合(またはリレーションシップ)の数と深さに影響を受けます。グラフ処理は、リレーションシップの数と深さに関わらず、レイテンシが低く、リアルタイムのパフォーマンスを保証します。クエリ言語SQL:結合の数が増えるほど複雑になるクエリ言語。Cypher:リレーションシップクエリを記述するための最も効率的で表現力豊かな方法を提供するグラフクエリ言語。トランザクションサポートACIDトランザクションをサポート。ACIDトランザクションをサポート。データセンター効率サーバの統合は可能ですが、スケールアップにはコストがかかります。スケールアウトも、購入、エネルギーの使用、および管理時間の面でコストがかかります。データとリレーションシップは、一緒に格納されており、複雑さと規模が拡大するにつれてパフォーマンスが向上します。これにより、サーバの統合とハードウェアの非常に効率的な使用が実現します。従来の不正アクセスの検出は、ユーザアカウント・IPアドレス・利用デバイスなど個々のデータポイントに対して検出を行っています。Neo4jでは、個々のデータポイントのリレーションシップに対する検出も行うことが可能であるため、従来の検出方法では、検知できなかった不正アクセスの検知を可能にします。検索機能の強化グラフベースの検索機能を利用することで、キーワード検索の場合、追加のキーワードを入力せずに関連する情報を表示することが可能です。License(GPLv3.0)です。ソフトウェアのコピーや配布、ソースコードの公開を原則として、ソースコードの自由な改変も認められています。Neo4jのサポート現在、OpenStandiaではNeo4jのサポート提供は行っておりません。Neo4jの参考情報Neo4jのプロダクトページNeo4jのダウンロードNeo4jのソースコード(GitHub)TweetOpenStandiaに関する資料請求・お問い合わせはこちら※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。▲このページのTOPへ。