Ken WagatsumaSRE at Neo4j

Neo4j Aura Introduction

★ introductory

September 25, 2021

Neo4j が提供するフルマネージドなグラフデータベースとして、Neo4j Aura が提供されています。本ブログでは、Neo4j Aura の基本機能について紹介します。

立ち位置

Neo4j Aura が発表されたのは、2019 年 11 月。マルチテナント型の Graph Database-as-a-Service (DBaaS) という立ち位置です。

Announcing Neo4j Aura, the World’s Most Powerful Graph Database in the Cloud

Neo4j Aura のポジショニングとしては、CEO である Emil 本人が書いたこちらのブログ でも触れられています。

それまで Enterprise Edition を契約するか自分たちでオンプレミスで運用するしかなかった Neo4j ですが、個人開発をする開発者や小規模・中規模の会社の運用知見の無い会社が、Neo4j Aura によってより低コストでグラフデータベースを導入できるようになりました。

Neo4j AuraDB Tiers

特長

第一の特長としては、フルマネージドであるがゆえに Zero administration である点です。オンプレミスでサーバーを運用していると、Neo4j やグラフデータベースに限らずですが、セキュリティパッチを当てたり、バージョン更新をしたり、ハードウェア障害時に再起動をしたりする必要が出てきます。フルマネージドなので、ユーザーがそれらを気にする必要はもちろんありません。

第二の特長としては、Neo4j Aura は3つの異なるディスクにデータを分散して保存しているので、単一のハードウェア障害からの Durability が担保されています。Enterprise Plan に申し込めば、AWS/GCP いずれかの任意の Availability Zone に地理的分散をすることもできます。

Neo4j の特長である ACID トランザクションも、もちろん Neo4j Aura でそのままサポートされています。

ダウンタイム無しでの Scalability も担保されています。Neo4j Aura はオンデマンドでスケールアウト・スケールインを行うので、ユーザー側がオートスケールについて気にする必要はありません。

データのインポートも容易です。Neo4j Desktop for Mac/Windows や Docker など、すでに手元にあるデータベースからデータをインポートすることができます。

Neo4j Driver を利用したクライアント接続 も、Neo4j Aura Console において雛形を提供してくれるので、最初の GRAND-stack アプリケーションを実装する際の手助けにもなるでしょう。

Neo4j Browser からも利用できるので、データの可視化やデータ操作も特別なソフトウェアをインストールする必要がなく、全てブラウザで完結するのも強みです。

価格

現在、3つの価格帯 を提供しています。

  • Free - $0 Forever
  • Professional - $65/month
  • Enterprise - Contact Sales

Aura Free tier は 2021 年 6 月 にひっそり公開されました。1 database およびグラフのサイズに勿論制限はあるものの、Free tier ができたことによって初学者や小規模なアプリケーションへの閾値は大幅に下がりました。

追記: その後 Free tier の正式アナウンスは 2021 年 11 月 に発表されました。 本ブログでもこちらの記事 で紹介しています。

学習用の他、社内アプリケーションやイベント向けアプリケーションなど、そこまでパフォーマンスや可用性が求められないケースでも、Neo4j Aura を気軽に使える環境が整いました。

Tiers 別の機能は以下の通りです。

FeatureAuraDB FreeAuraDB ProfessionalAuraDB Enterprise
データベース数1制限なし制限なし
データ量50k ノードかつ 175k リレーション64GB RAM まで256GB+ RAM のサポート
バックアップn/a日次バックアップ毎時バックアップ
バックアップ保存制限n/a7 日90 日
SLAn/an/a99.95% uptime
VPCn/an/a可能
Data IsolationMulti-tenantMulti-tenantSingle-tenant

最後に

以上、Neo4j Aura のサービスについて簡単な紹介を行いました。先述したとおり、Free tier がありますので、試したことがない方はこれを期に試してみてはいかがでしょうか。

Recommended Posts

  1. ★★★ advanced
    neo4j-causal-clustering-introduced-routing
    本記事では、Neo4j における Causal Clustering (因果クラスタリング) について説明します。 クラスタリングの目的 データベースを運用する場合、単一のインスタンスを稼働させるか、Causal Clustering を用いてクラスター構成を組むか(クラスタリング)のいずれかを選択することになるでしょう。 Single Instance…
  2. ★★★ advanced
    neo4j-bolt-handshake-protocol-introduced
    Bolt Protocol において、サーバーとクライアントが接続を開始するためのプロトコルとして、Bolt Handshake Protocol Specification の仕様が策定されています。 本記事では、Bolt Handshake Protocol の概要について説明します。 Handshake Workflow…