
グラフデータベースは関係性を重視します。ノードを使用してデータエンティティを格納し、エッジを使用してそれらのID間の関係性を格納するグラフデータベースは、ソーシャルネットワーキング、レコメンデーションエンジン、不正検出などに最適なソリューションとなることがよくあります。データ間の関係性を構築する機能が必要なあらゆるユースケースにおいて、グラフデータベースは最適な選択肢です。
参照:知っておくべきオープンソースと Linux の用語 40 選(TechRepublic Premium)
Neo4jはそのようなデータベースの一つです。オープンソースで、SQLライクなクエリ言語を使用し、プロパティグラフデータモデルに準拠し、インデックス、UNIQUE制約、そして完全なACIDルールをサポートしています。それでは、Neo4jグラフデータベースのインストール手順を見ていきましょう。
ジャンプ先:
- Neo4jをインストールするために必要なもの
- Neo4jのインストール方法
- ローカルホスト以外からNeo4j接続を有効にする方法
- Neo4j接続をテストする方法
- 簡単なインストールと強力なデータベース
Neo4jをインストールするために必要なもの
Ubuntu Server 22.04でこのデモを行います。動作させるには、Ubuntu Serverのインスタンスとsudo権限を持つユーザーが必要です。OSには最低でもシングルCPUと2GBのメモリが必要です。
このインストールは無料のコミュニティエディション用です。無制限の水平スケーリング、きめ細かなアクセス制御、高可用性、高度な管理性を備えたデータベースをご希望の場合は、エンタープライズエディションをご利用ください。エンタープライズエディションの価格については、Neo4jの営業担当者までお問い合わせください。
Neo4jのインストール方法
まず最初に、サーバーのアップデートとアップグレードを実施してください。カーネルをアップグレードした場合、変更を有効にするにはサーバーを再起動する必要があることに注意してください。そのため、サーバーを安全に再起動できるまでアップグレードを延期することをお勧めします。本番環境でない場合は、いつでもアップグレードできます。
Ubuntu を更新およびアップグレードするには、サーバーにログインして次のコマンドを発行します。
sudo apt-get update && sudo apt-get upgrade -y
アップグレードが完了したら、必要に応じて再起動してください。
アップグレードが完了したら、次のコマンドで Neo4j の依存関係をインストールします。
sudo apt-get install wget curl nano software-properties-common dirmngr apt-transport-https gnupg gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
次に、次のコマンドで公式の Neo4j GPG キーを追加する必要があります。
curl -fsSL https://debian.neo4j.com/neotechnology.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/neo4j.gpg
次のようにして Neo4j リポジトリを追加します。
echo "deb [signed-by=/usr/share/keyrings/neo4j.gpg] https://debian.neo4j.com stable latest" | sudo tee -a /etc/apt/sources.list.d/neo4j.list
apt を次のように更新します:
sudo apt-get update
最後に、次のコマンドで Neo4j をインストールします。
sudo apt-get install neo4j -y
インストールが完了したら、次のコマンドでサービスを開始して有効にします。
sudo systemctl enable --now neo4j
ローカルホスト以外からNeo4j接続を有効にする方法
現時点では、Neo4jサーバーに接続できるマシンはlocalhostのみです。データベースがインストールされているマシン以外のマシンからデータベースを使用する場合は、リモート接続を有効にする必要があります。これを行うには、以下のコマンドでNeo4j設定ファイルを開いて編集します。
sudo nano /etc/neo4j/neo4j.conf
そのファイルで、次の行を探します。
#server.default_listen_address=0.0.0.0
# を削除すると、行は次のようになります。
server.default_listen_address=0.0.0.0
Ctrl+X キーボードショートカットでファイルを保存して閉じます。次のコマンドで Neo4j サービスを再起動します。
sudo systemctl restart neo4j
システムのhostsファイルも編集する必要があります。これを行うには、次のコマンドを実行します。
sudo nano /etc/hosts
ファイルの下部に次のような行を追加します。
SERVER_IP ホスト名
ここで、SERVER_IPはホスティングサーバーのIPアドレス、HOSTNAMEはマシンのホスト名です。ファイルを保存して閉じます。例えば、IPアドレスが192.168.1.7でホスト名がfossaの場合、以下の行になります。
192.168.1.7 fossa
Neo4j接続をテストする方法
Neo4j 接続をテストするには、コマンドは次のようになります。
cypher-shell -a 'neo4j://192.168.1.7:7687'
デフォルトのユーザー名とパスワードはどちらも neo4j です。デフォルトのパスワードを入力すると、新しいパスワードを作成するように求められます。新しいパスワードを入力すると、Neo4j コンソールが表示されます。
接続に失敗した場合は、サーバーのファイアウォールを開く必要があるかもしれません。そのためには、サーバーに接続するすべてのマシンのIPアドレスも知っておく必要があります。例えば、IPアドレス192.168.1.100から接続している場合は、次のコマンドでファイアウォールを開くことができます。
sudo ufw allow from 192.168.1.62 to any port 7687 proto tcp
ネットワーク上の任意のマシンへの接続を開きたい場合、コマンドは次のようになります。
sudo ufw allow from 192.168.1.0/24 to any port 7687 proto tcp
簡単なインストールと強力なデータベース
Neo4jは、プロジェクトにインストールできる最もシンプルなグラフデータベースかもしれません。そのシンプルさに加え、ニーズに合わせて拡張できる強力な機能も備えています。
Neo4jの唯一の欠点は、ノード数に制限があり、シャーディングをサポートしていないことです。それ以外は、グラフDBプロジェクトに最適なツールです。
TechRepublicのYouTubeチャンネル「How To Make Tech Work」を購読して、ジャック・ウォーレンによるビジネスプロフェッショナル向けの最新テクノロジーアドバイスをぜひご覧ください。TechRepublic Academyの「Mastering Linux Development Bundle」でUbuntuについてさらに詳しく学びましょう。