0

何千もの異なる製品タイプ (例: 車、スピーカー、ベビーカーなど) とストア属性 (例: 回転半径、最大出力、色、など)それぞれです。

私の理解では、人々がたとえばすべて青いベビーカーを検索しようとしている場合、(すべての製品に共通するものを格納する「一般的な」製品テーブルに加えて) 製品の種類ごとにテーブルを用意するのが最善です。 、名前やブランドなど)。検索速度に関する懸念がなければ、EAV タイプのモデルを使用したいと思っていましたが、読んだ内容に基づいて、それを思いとどまらせました。

これはよくある問題のように思えますが、私がやろうとしていることをどのように処理するかについて、まだ良い答えを見つけていません。この種のデータを追跡しているサイトがたくさんあることは知っていますが、製品タイプごとに「詳細」テーブルを作成するために何千もの異なるテーブルがあるとは想像しがたいです。彼ら全員が EAV を使用しており、EAV に反対する人々は、技術的には正しいものの、そのタイプのモデルを使用することによるパフォーマンスの低下を誇張している可能性はありますか? それとも、すべての属性をカバーする列を持つ 1 つの大きな「製品」テーブルを使用しているだけで、すべての空の値を気にしていませんか?

どんな助けでも大歓迎です。これを行う一般的な方法があることを知っているだけで、誰かに教えてもらいたいです! :)

4

1 に答える 1

0

代わりに CQRS パターンの使用を検討したことがありますか? 非正規化された検索テーブルを使用して、検索用に最適化された読み取りデータベースを作成できます。

読み取りが非常に高速であると想定されているドキュメント データベースである RavenDB のようなデータベースを使用して、さらに優れたパフォーマンスを得ることができます。

于 2012-09-24T14:48:02.483 に答える