私は InfiniDB を使用して、多くの行 (約 1 億から 5 億) を約 5000 未満のグループに集約しています。(ほとんどのクエリでは、1 億から 5 億行がフィルター処理されるため、集計はより少ない行で機能します)
これは Web サイトの旅行検索エンジンのプロトタイプとして使用され、「特定の人数の部屋のすべての組み合わせについて、宿泊施設ごとに最適な価格を教えてください」と考えることができます。
最適な価格の組み合わせを見つけるために、テーブルを数回自己結合する必要があるまでは正常に機能しています (論理フィルターで既に削減されているため、結合ごとの組み合わせの数も削減されます)。
テーブルの内容を異なるテーブルに分割することは可能であり、許容できるパフォーマンスで動作していますが、infinidb (または列指向データベース全般) がこの問題の最善の解決策であるかどうか自問しています。
代替手段は何ですか?すべての map/reduce メカニズム (mongodb、hadoop) ははるかに遅くなると思いますか、それとも見逃している点はありますか?
2 ~ 5 台以上のサーバーは必要ありません。
明確にするために、「これは完璧だ!」とは思わない。答えますが、代替案の良いヒントです。また、infinidb は私のシナリオでは悪い解決策だと思います。
考えてくれてありがとう!