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 によってより低コストでグラフデータベースを導入できるようになりました。
第一の特長としては、フルマネージドであるがゆえに 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つの価格帯 を提供しています。
Aura Free tier は 2021 年 6 月 にひっそり公開されました。1 database およびグラフのサイズに勿論制限はあるものの、Free tier ができたことによって初学者や小規模なアプリケーションへの閾値は大幅に下がりました。
追記: その後 Free tier の正式アナウンスは 2021 年 11 月 に発表されました。 本ブログでもこちらの記事 で紹介しています。 学習用の他、社内アプリケーションやイベント向けアプリケーションなど、そこまでパフォーマンスや可用性が求められないケースでも、Neo4j Aura を気軽に使える環境が整いました。
Tiers 別の機能は以下の通りです。
Feature | AuraDB Free | AuraDB Professional | AuraDB Enterprise |
---|---|---|---|
データベース数 | 1 | 制限なし | 制限なし |
データ量 | 50k ノードかつ 175k リレーション | 64GB RAM まで | 256GB+ RAM のサポート |
バックアップ | n/a | 日次バックアップ | 毎時バックアップ |
バックアップ保存制限 | n/a | 7 日 | 90 日 |
SLA | n/a | n/a | 99.95% uptime |
VPC | n/a | n/a | 可能 |
Data Isolation | Multi-tenant | Multi-tenant | Single-tenant |
以上、Neo4j Aura のサービスについて簡単な紹介を行いました。先述したとおり、Free tier がありますので、試したことがない方はこれを期に試してみてはいかがでしょうか。