6

おなじみの Neo4j は、人間関係を第一級市民として扱います。アドホック クエリ/トラバーサル、整合性 (1 つのノードが削除された場合、リンクがなくなる) など。また、関係を示す唯一のメカニズムとして宣伝し、リレーショナル DB の結合よりも優れています。

Riak のリンクは関係を示すのにどれくらい強力ですか? セカンダリ インデックスなどの適切な機能を想定して、 「x 以上の収入がある人ごとに趣味のリストを取得する」友人の友人などのアドホック クエリに応答するために使用できますか? 一般に、RDBMSで結合の出力をシミュレートできますか?

また、個人やブックマークへのリンクがたくさんあるソーシャルブックマークシステムなど、頻繁に使用することを意図していますか? それとも、慎重に使用するためのものですか (すべての構造は有向非巡回グラフでなければなりません)。


「してはいけないこと」のカテゴリーでは:

  1. リンクの整合性は強制されません
  2. 「このノードへのリンクは?」という質問には答えられません。
4

2 に答える 2

5

Riak のリンクは、値とともに格納されたメタデータ (外部キーへの一方向参照のリスト) にすぎません。これらは通常、RDBMS 結合のシミュレーションなど、必要なことを何でもできる MapReduce への入力として使用されます。

整合性チェックや、リバース リンクの検索などの追加の魔法はありません。これらは単なる便利な API であり、これらの外部キーのリストを何らかの方法でシリアル化して値内に格納することで、まったく同じことが実現できたはずです。

ソーシャル ブックマークの例では、 Riak Searchを使用することをお勧めします。これは、 http://example.com/ * のようなより柔軟なクエリが可能で、適切な分散インデックスとルックアップがあるためです。

于 2012-05-10T16:38:12.323 に答える
3

ブリンコフの答えは正しいです。いいえ、Riak リンクはあなたが説明したシナリオには適していません。参照整合性チェックはなく、各オブジェクトに保存できるリンクの数には制限があります (最大 255 までだと思います)。

Riak Searchは、ソーシャル ブックマークのシナリオに適しています。実際、ソーシャル ブックマーク サイトのClipboardまさにこのメカニズムを使用しています。ブックマークは Riak オブジェクトであり、Riak Search が有効になっています (タグ付け、イベント トリガー、通知など)。Ricon 2012会議のビデオがオンラインにアップされたら、クリップボードの講演を見て、これに関する詳細を確認することをお勧めします。

Riak +セカンダリ インデックスも、これらの多くのケースに対する適切なソリューションです。メッセージ保存の目的でクラスター化されたNoSQL DBはどれですか?に対する私の回答を参照してください。Riakでデータを構造化する方法は? 同様のセットアップのスキーマの提案については。

于 2012-10-21T19:58:37.207 に答える