ユーザーデータを効率的に保存して照会したいと考えています。ユーザーは一意のUUIDで識別され、数百の異なる属性(すべてブール値、数値または文字列)の値を持つことができます。ただし、ほとんどのユーザーにとって、既知の属性の数は非常に限られているため、ほとんどの値はnullです。さらに、いくつかの属性は本質的に階層的です(例えば、女性(yes-no) - > likes_heels(yes-no) - > likes_red_heels(yes-no))。 1億人の異なるユーザーがおり、新しい可能性の高い属性が頻繁に追加されます。スパースユーザープロファイル用の適切なデータベース設計
私は、リレーショナルテーブル構造(例:Impala)、キー値ストレージ(HBaseなど)、JSONベースデータベース(MongoDBなど)の3つのオプションを検討しています。
焦点は、クエリを実行するには、現在ある(例えばどのように多くのユーザーである男性、30歳、中国語?以上)
私はあなたの勧告を楽しみにしています!