Neo4jエンタープライズ版について
Neo4j エンタープライズ版について
大きなグラフを用いる場合や、高レベルのパフォーマンス、スケーラビリティ、セキュリティ、データ整合性、または可用性が必要な場合は、オープンソースのCommunity版ではなくEnterprise版を使用することをお勧めします。
Enterprise版は、エンタープライズクラスのグラフアプリケーションが必要とする設計・開発・保守、および運用に必要な機能を提供します。また、Neo4jのグラフエキスパート、専門的サポート、また、急成長しているシステム設計者やイノベーターコミュニティへのアクセスも提供します。
グラフサイズとアプリケーションパフォーマンス
Neo4jは最新のハードウェアの進歩を最大限に活用することでミリ秒単位でリアルタイムの結果を提供し、Enterprise版では以下の拡張機能でパフォーマンスをさらに向上させます。
エンタープライズ・ロック・マネジャー:Community Editionの4 CPUの制限を超えてアプリケーションを垂直方向に拡張できるため、同時接続数を増やして任意のサイズのグラフに拡張できます。
Cypherコンパイド・ランタイム:一般的なCypherクエリを最初の実行時にライブラリとしてコンパイルできるため、以降のクエリの実行時のインタープリテーションが必要がなくなります。
オンライン・スペース・リユース:自動的にデータベースの断片化を解消し、未使用のディスクスペースを再編成して再生し、データベースの効率的な運用を維持します。
ダイナミック・ポインタ・コンプレッション:Community版の340億ノードおよび340億リレーションシップという制限がなくなり、サイズに制限のないグラフを作成できます。
IBM POWER8のCAPIフラッシュのサポート:ファイルシステムではなくCAPIフラッシュにファイルを保管し、入出力スループットを高速化し、読み取りが重いワークロードを拡張するオプションです。
エンタープライズセキュリティ
企業の様々なセキュリティ要件および管理要件に応えるために、さまざまな組み込みセキュリティ機能があります。
ユーザーおよびロールベース(=役割に基づく)のアクセス制御:リーダー、発行者、アーキテクト、および管理者のセキュリティ上の役割を提供します。これにより、セキュリティをアプリケーションロジックにおいてコーディングする必要がなくなり、アプリ設計および保守を簡素化出来ます。
Active DirectoryとLDAPの統合:Neo4jはエンタープライズディレクトリからユーザーおよびロールの情報を継承できるようになります。
セキュリティのためのユーザ定義プロシージャ:サブグラフへのアクセス、クエリイベントとセキュリティイベントのログ記録、およびその他のアクティビティを制御するための追加のロールを作成できます。
Kerberos暗号化:クライアント、ディレクトリ、およびデータベースレベルでのKerberos統合をサポートするオプションです。これは、金融およびヘルスケアアプリケーションに共通の要件です。
エンタープライズレベルのデータ整合性
Neo4jは、さまざまなソースからのメタデータを統合して、グラフをナビゲートし、データ系統を追跡し、アプリケーションの制約要件を満たすための自然な方法をユーザーに提供します。Community版には、プロパティーが固有(Unique)であることを要求する制約が含まれておりますが、Enterprise 版ではそれ以上の整合性制約をサポートします。
プロパティ存在制約:開発者は特定のプロパティを任意のノードまたは関係に設定することを要求できます。
ノード・キー・スキーマ制約により、アプリケーションは複数のデータソースからデータを交換およびインポートし、データ品質とデータの一貫性を維持できます。
コーザル・クラスタリングによる水平スケーラビリティ
Neo4jを複数のマシンで水平方向に拡張することは、Enterprise版を使用する最大の利点の1つです。サーバー・インスタンスを複製し、それらをRaftベースのコーザル・クラスターとして様々な構成で管理し、多様なアプリケーション要件をサポートすることができます。
コンセンサスベースのACIDトランザクション:過半数のマスターサーバーにおいてトランザクションの完了を確認した時点でトランザクションが受け入れられます。クラスタ内の残りのサーバーへは整合性を保ちながら複製されます。
Read-Your-Own-Writes:Raftブックマークを使用して、マスターサーバーに更新を書き込み、後でそれらを読み取ることができるようにします。そのため、データベースがACIDトランザクションを維持しながら自分の変更を確認できます。
キャッシュ共有は、グラフのさまざまな部分をキャッシュするサーバー間でクエリを負荷分散することで、メモリに収まらないグラフに対しても高いスケーラビリティとパフォーマンスを実現します。
高可用性
Enterprise版には、アプリケーションとデータベースの高可用性を確保するための機能がいくつか追加されています。
フォールトトレランス:クラスタ化されたサーバーに障害が発生したときに他の利用可能なサーバーにアクティビティを再ルーティングします。
マルチデータセンターサポート:すべてのデータセンターで高いパフォーマンスを維持しながら、サーバークラスター内のマスターとリードレプリカを異なるデータセンターに配置できます。
ホットバックアップ:アプリの実行中にデータセンター間でフルバックアップおよび増分バックアップを作成して、稼働時間を最大化し、管理を容易にすることができます。
分散ワークロードの高可用性:グラフをできるだけユーザーおよびアプリにできるだけ近く物理的および論理的に配置することで、読み取り要求を他の操作から分離することができます。
組み込みアプリケーションの設計と開発
Neo4j Enterprise版において、生産性を向上させ、アプリケーション設計者や開発者の作業を簡素化する重要な機能が追加されています。それらの機能によりプログラムを簡素に出来、保守性高いアプリケーションを可能にします。
イン・アプリケーションのユーザーベースおよびロールベースのセキュリティ:データベース用にユーザーベースおよびロールベースのセキュリティを実装する必要がなくなります。
トランザクション管理機能:トランザクションを管理するためにBoltドライバを使用する必要がなくなります。
自動負荷分散機能:外部からの負荷分散またはドライバベースの負荷分散が不要になります。
無制限のグラフスケーラビリティ:Community Editionの4 CPUコアおよびグラフサイズの制限がなくなります。
スキーマベースのデータ制約:アプリケーション内のデータ検証を実装する必要がなくなります。
実装時に、開発者はオンプレミスやクラウド運用を容易にする為のクラスター設定および負荷分散設定詳細をアプリに設定出来ます。
データベース操作と監視
Enterprise版には、実装に先立ちパフォーマンス問題を可視化する管理機能と監視機能が組込まれています。
ユーザ管理:あなたのユーザコミュニティの役割の割当ておよびパスワード管理。
アクティブなクエリ管理:クエリの継続時間とパスを監視できるため、クエリログを調べて評価する必要がなくなります。
Cypherクエリトレース機能:クエリのパフォーマンスを確認したり、実行可能な時間に上限を設定したりできます。
JMXメトリックパブリッシング:Neo4jブラウザや他のアプリケーションに対して、JMXメトリックスを用いてモニタリング出来ます。
Neo4jのリーダーシップとグラフデータベース技術の進歩および標準化への継続的な投資により、Neo4jはグラフベースのアプリケーション戦略における最先端のテクノロジとなりました。そのEnterprise版は、グラフアプリケーションを素早く開発し、幅広いユーザー層にサービスを提供し、エンタープライズデータに隠されている関係性の価値を最大化したい企業に最適です。
本記事は、次のリンクの記事を翻訳(一部、解釈を加えて訳)しています。記事の正確性、翻訳の正確性については保証しませんので、ご了解の上、ご自身のリスク・ご判断でご利用ください:https://neo4j.com/business-edge/whats-in-neo4j-enterprise-edition/
この記事へのコメントはありません。