Neo4jと他のNoSQLとの比較
Neo4j対 他のNoSQL
他のデータベースを否定するものではありません。それぞれ適切な使用があり、最適な分野があります。しかし、企業がデータ間の関係性から価値を引き出したい時は、Neo4jが役に立ちます。
世界をリードするグラフデータベース(=Neo4j)が、他のNoSQLデータストアとどのように異なるかを説明します:
他のNoSQL DBとの比較
他のNoSQL DB |
Neo4j(ネイティブ・グラフデータベース) |
|
データ保存方法 |
データベースレベルでの接続データのサポートはありません。 パフォーマンスとデータの信頼性は、接続の規模と複雑さによって低下します。
|
隣接ノードにインデックス計算なく移動できる特性(インデックス・フリー・アジェンシー)をもつグラフとしてのデータ保持形態により、リレーションシップの検索が高速になります。 |
データ・モデリング | 幅の広い列やドキュメントストアではデザインレベルで制御できないため、データモデルはエンタープライズアーキテクチャには適していません。 問題を検出して解決するために、アプリケーションレベルに過度の負荷をかけます。 | 論理モデルと物理モデルの間が一致するホワイトボード・フレンドリーなフレキシブルなデータモデル。 データ型とデータソースはいつでも追加または変更できるため、開発期間が大幅に短縮され、アジャイルな反復が可能になります。直感的なモデルが開発者とアーキテクト、データベース管理者間のコミュニケーションを容易にします。 |
クエリのパフォーマンス |
データの関係性検索にはグラフ処理機能がないため、すべての関係はアプリケーションレベルで作成する必要があります。
|
グラフ処理は、リレーションシップの数や深さに関係なく、待ち時間ゼロとリアルタイムパフォーマンスを保証します。 |
クエリ言語 |
クエリ言語はさまざまですが、データの関係性を検索するための特別のクエリ構造はありません。
|
Cypher: リレーションシップを検索するための最も効率的で表現力豊かな方法を提供するネイティブグラフクエリ言語。 |
トランザクション・サポート |
データの関係性の観点からすると、BASEトランザクション・サポート、つまり、基本的な可用性(basic avilability)や結果整合性(eventual consistency)ではデータの関係性の観点からは、データ破損の可能性があります。
|
完全なACID性があり、データは完全な一貫性があります。これは、常に稼働しているグローバル企業アプリケーションの要件も完全に満します。 |
プロセスのスケール性 | データの取り込みに最適化されていますが、大規模のデータの読み取りには対応していません。グラフのようなデータを保護しないスケールアウトアーキテクチャに依存しているため、データは信頼できません。 | グラフモデルは、本質的にパターンベースのクエリでありスケールします。 スケールアウトアーキテクチャは、レプリケーションによってデータの整合性を維持します。 IBM POWER8およびCAPI Flashシステムにより大規模なスケールアップが可能です。 |
データセンター運用での効率性 |
スケールアウトアーキテクチャは、多くの汎用ハードウェアに継続的にアクセスできることを第一目的としています。エネルギーコスト、ネットワークの脆弱性、その他のリスクは優先順位が低くなっています。
|
データとリレーションシップは、グラフ・ネイティブに保存されます。複雑さと規模が大きくなっても、パフォーマンスが保たれます。これにより、サーバー統合とハードウェアの効率的運用を可能とします。 |