Neo4j とは?

Neo4j

Neo4j最新情報

NRIのOpenStandiaが提供するNeo4j最新情報

Neo4jの保守サポートサービスの内容はこちら Neo4jの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Neo4jバージョンアップ情報

■2022-05-10
[VerUP]Neo4j 3.5.32(リリース日:2022/04/21)
■2022-04-26
[VerUP]Neo4j 4.4.6(リリース日:2022/04/20)
■2022-04-26
[VerUP]Neo4j 4.3.12(リリース日:2022/04/20)
■2022-04-26
[VerUP]Neo4j 4.2.16(リリース日:2022/04/20)
■2022-04-06
[VerUP]Neo4j 4.4.5(リリース日:2022/03/24)
■2022-04-06
[VerUP]Neo4j 4.3.11(リリース日:2022/03/24)
■2022-03-08
[VerUP]Neo4j 3.5.31(リリース日:2022/02/28)
■2022-02-15
[VerUP]Neo4j 4.4.4(リリース日:2022/02/09)
■2022-02-15
[VerUP]Neo4j 4.2.15(リリース日:2022/02/09)
■2022-01-18
[VerUP]Neo4j 4.4.3(リリース日:2022/01/11)

すべてを見る

更新日:2020-12-24

Neo4jの概要

Neo4j(ネオフォージェイ)とは、グラフ構造のデータモデル(※1)を扱うデータベース管理システム(DBMS)であり、グラフデータベース(※2)に分類されます。

Neo4j(ネオフォージェイ)は、グラフデータベースの中で最も利用されている製品の一つであり、アメリカのNeo Technology社によって開発が行われています。開発言語はJavaです。
Neo4j(ネオフォージェイ)は、RDBMSのパフォーマンスの問題を解決するために2000年から開発が始まり、2002年に初期バージョンがリリースされ、2007年にオープンソース化、2010年にバージョン1.0がリリースされています。

Neo4j(ネオフォージェイ)は、スキーマレスなデータ構造、開発の容易性、ノード単位のACIDトランザクションなどが評価されており、グラフデータに適したデータベースアーキテクチャとして、世界中で注目を集めています。

アメリカIDG傘下のIT情報サイトInfoWorldが主催する、優れたハードウェア、ソフトウェア、開発ツール、クラウドサービスを表彰する「InfoWorld's 2014 Technology of the Year Award」で選出されるなど、すでに欧米では高い評価を得ているNeo4j(ネオフォージェイ)ですが、今後日本でも本格的な導入が進んでいくことが期待されています。

※1グラフ構造のデータモデルとは、最小単位である「ノード」と、ノード間の「関係性」を持つようなデータ構造のことです。
※2 グラフデータベースはNoSQLの一種であり、グラフ理論を基に、ノードおよびノード間の関係性を扱うことができます。グラフデータベースは、データを表形式で保存するリレーショナルデータベースと異なり、複雑な関係性を基にしたデータ処理ができることが大きな特徴です。また、スキーマ(テーブル定義)が必要ないことも特徴です。ノードの属性を複雑な階層でも管理することができるうえ、クエリの作成が容易である、GUIツールが充実しているなどの理由から近年注目を集めています。

TOPに戻る

Neo4jの主な特徴

Neo4jの主な特徴は以下の通りです。

  • 堅牢なトランザクション
    Neo4jはACID準拠(原子性、一貫性、独立性、永続性)のトランザクションをサポートしており、常にデータの整合性を保証します。
  • 柔軟なスキーマ
    Neo4jはプロパティグラフモデルと呼ばれるモデル化手法に基づいており、自然に近い形でデータをモデル化することができます。
  • 高性能な検索
    Neo4jは一秒に数百万単位のデータを検索するのに最も高速であるindex-free adjacency(グラフのようにお互いに点と線で繋がっているデータの性質)を持っているため、データセットのボリュームや複雑さに関係なく、一定のパフォーマンスを保つことができます。
  • クエリ言語
    Neo4jではCypherという宣言型のグラフクエリ言語を使用します。Cypherは直感的に理解と習得ができ、SQLよりもコード量を減らすことができます。
  • 主要な言語とフレームワークに対応
    Neo4jはJava、C#、Python、JavaScript等の主要な言語向けのドライバを公式にサポートしています。また、Neo4jコミュニティではSpring Data、Django ORM、Laravel、JDBC等の主要なフレームワークもサポートしています。
  • クラウド環境に対応
    Neo4jはAmazon Web Services(AWS)、Microsoft Azure、Google Cloud Platformなどのクラウド環境でも利用可能です。また、公式のDockerイメージを使用すれば簡単に導入できます。
  • マルチデータベース
    Neo4j 4.0 からはクラスタ毎に複数のデータベースを扱うことができるマルチデータベースに対応しました。
  • リアクティブアーキテクチャ
    Neo4j 4.0 からはリアクティブアーキテクチャを導入し、応答性、弾力性、堅牢性を高めました。

TOPに戻る

リレーショナルデータベースとの比較

リレーショナルデータベース Neo4j
データストレージ データは事前に定義された行と列を持つ表に分割されるため、クエリの効率性を損ないます。 index-free adjacencyを持つグラフストレージ構造により、トランザクションやリレーションシップの処理がより高速になります。
データモデル データモデルは論理モデルから物理モデルに変換する必要があります。データタイプとソースを事前に知っておく必要があるため、変更にはコストがかかります。 データモデルは論理モデルと物理モデルが一致しており柔軟性があります。データタイプとソースはいつでも追加・変更することができ、開発期間が大幅に短縮されます。
クエリ性能 データ処理のパフォーマンスは、結合(またはリレーションシップ)の数と深さに影響を受けます。 グラフ処理は、リレーションシップの数と深さに関わらず、レイテンシが低く、リアルタイムのパフォーマンスを保証します。
クエリ言語 SQL:結合の数が増えるほど複雑になるクエリ言語。 Cypher:リレーションシップクエリを記述するための最も効率的で表現力豊かな方法を提供するグラフクエリ言語。
トランザクションサポート ACIDトランザクションをサポート。 ACIDトランザクションをサポート。
データセンター効率 サーバの統合は可能ですが、スケールアップにはコストがかかります。 また、スケールアウトも、購入、エネルギーの使用、および管理時間の面でコストがかかります。 データとリレーションシップは、一緒に格納されており、複雑さと規模が拡大するにつれてパフォーマンスが向上します。これにより、サーバの統合とハードウェアの非常に効率的な使用が実現します。

TOPに戻る

Neo4jのユースケース

  • セキュリティの強化
    従来の不正アクセスの検出は、ユーザアカウント・IPアドレス・利用デバイスなど個々のデータポイントに対して検出を行っています。 Neo4jでは、個々のデータポイントのリレーションシップに対する検出も行うことが可能であるため、従来の検出方法では、検知できなかった不正アクセスの検知を可能にします。
  • 検索機能の強化
    グラフベースの検索機能を利用することで、キーワード検索の場合、追加のキーワードを入力せずに関連する情報を表示することが可能です。

TOPに戻る

Neo4jの動作環境

Neo4jは以下の環境で動作します。
※Neo4j 4.x の場合

  • サポートされているプラットフォーム
    物理、仮想、コンテナに関わらず、x86_64 アーキテクチャのシステムでサポートされます。
  • ハードウェア
    個人使用およびソフトウェア開発の場合
    CPU 最低Intel Core i3。Intel Core i7 を推奨
    メモリ 最小2GB。16GB またはそれ以上を推奨
    ストレージ 最小10GB SATA。SATAExpressまたはNVMeを搭載したSSDを推奨。

    クラウド環境の場合
    CPU 最低2vCPU。16以上を推奨(可能であればXeon processor)
    メモリ 最小2GB。サイズはワークロードによって異なります。場合により使用するグラフのサイズにあうメモリを備えたインスタンスを使用することを推奨。
    ストレージ 最小10GB ブロックストレージ。NVMe SSDを推奨。ストレージサイズはデータベースのサイズに依存します。

    オンプレミス環境サーバーの場合
    CPU Intel Xeon processor
    メモリ 最小8GB。サイズはワークロードによって異なります。場合により使用するグラフのサイズにあうメモリを備えたインスタンスを使用することを推奨。
    ストレージ 最小SATA 7.2K RPM 6Gbpsのハードドライブ。NVMe SSDを推奨。ストレージサイズはデータベースのサイズに依存します。
  • ソフトウェア
    Neo4jインスタンスを実行するためには、互換性のあるJava仮想マシン(JVM)がインストールされている必要があります。Neo4j 3.x は Java 8、Neo4j 4.x では Java 11 が必要です。

    個人使用およびソフトウェア開発の場合
    OS種別 サポートされるJDK
    MacOS 10.14以上 ZuluJDK11
    Ubuntu Desktop 16.04以上 OpenJDK11、OracleJDK11、ZuluJDK11
    Debian 9以上 OpenJDK11、OracleJDK11、ZuluJDK11
    SuSE 15以上 OracleJDK11
    Windows10 OracleJDK11、ZuluJDK11

    クラウド環境の場合
    OS種別 サポートされるJDK
    Ubuntu Server 16.04以上 OpenJDK11、OracleJDK11、ZuluJDK11
    Red Hat Enterprise Linux Server 7.5以上 Red Hat OpenJDK11、OracleJDK11、ZuluJDK11
    CentOS Server 7.7 OpenJDK11
    Amazon Linux 2 AMI Amazon Corretto 11、OpenJDK11、OracleJDK11
    Windows Server 2016以上 OracleJDK11、ZuluJDK11

TOPに戻る

Neo4jのライセンス

Neo4j(ネオフォージェイ)のコミュニティ版のライセンスは、GNU General Public License(GPLv3.0)です。
ソフトウェアのコピーや配布、ソースコードの公開を原則として、ソースコードの自由な改変も認められています。

TOPに戻る

Neo4jのサポート

現在、OpenStandiaではNeo4jのサポート提供は行っておりません。

TOPに戻る

Neo4jの参考情報

Neo4jのプロダクトページ
Neo4jのダウンロード
Neo4jのソースコード(GitHub)

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

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

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO