1

私は、純粋な aerospike でサイトの価格比較を行う必要があります。次に、製品、組み合わせ製品 (一部のマザーボードに関連する CPU)、および店舗を調べます。ù 商品は店舗に関連付ける必要があります。たとえば、商品は 3 つの店舗に関連付けられており、各店舗の価格は異なります。

エアロスパイクはこれで私を助けることができますか?

私は関係ビンを作るかもしれないと思ったが、それが問題を解決するための良いアイデアの提案であるかどうかわからない.

4

1 に答える 1

1

複合タイプのリストとマップを使用して、1 つのエアロスパイク セット内の 2 つのテーブルに分散される多対 1 の関係をモデル化できます。したがって、組み合わせ製品は、マップ オブジェクトのリストである「コンポーネント」ビンを持つことができ、それぞれが製品です。または、「コンポーネント」を製品 ID のリストにして、リスト内の ID に基づいてそれらの製品をバッチ読み取りすることもできます。

ただし、交差テーブルを使用して、RDBMS と同様の方法で多対多の関係をモデル化することもできます。JOIN はありませんが、個別のクエリを実行し、エアロスパイクのキー値とバッチ操作が RDBMS よりもはるかに高速であるという事実に依存できます。

たとえば、ストアと製品の ID を保持できる store_products 交差テーブルを作成できます。ストア ID と製品 ID の両方にセカンダリ インデックスを作成すると、クエリを実行できるようになります。特定の製品を扱っているすべての店舗を探している場合は、クエリを実行して、店舗テーブルから店舗オブジェクトを取得します。ストア内のすべての製品を探している場合は、where store_id=x を使用してクエリを実行し、それらの製品のバッチ読み取りを実行します。

これがあなたの質問に答えることを願っています。

于 2015-03-22T00:49:57.013 に答える