2016-12-16 14 views
0

私はnosqlを初めて使用しています。dynamodbを読んだ後、私のユースケースをモデル化する方法にいくつかの混乱があります。私はユーザーとクラブを持っているアプリを持っています。ユーザーは、多くのクラブに所属することができます。ユーザーは、クラブの所有者でもあることができます。最適なクエリのためのDynamodbスキーマ設計

私はクラブ/ユーザー関係を管理するために2つのテーブルを持つことを考えていました。 1のパーティション・キーをuser_name、ソート・キーのclub_nameをpartition_nameのclub_nameとsorty_keyのuser_nameで指定します。これらは、私のクラブと私が会員になっているすべてのクラブのすべてのユーザーを効率的に照会することができます。

私は、私が会員ではないすべてのクラブと私のクラブにいないすべてのユーザーを効率的に照会するにはどうすればよいですか?

答えて

0

多分リレーショナルデータベースまたはハイブを使用する必要があります。

DynamoDBでは、 3つのテーブルを使用できます。

  • 表1:ユーザテーブル、user_idをhash_keyとして使用し、フィールドuser_nameを持つ。

  • 表2:クラブテーブル。club_idをhash_keyとして使用し、フィールドclub_nameを持つ。

  • 表3:関係表では、hash_keyとしてuser_idおよびclub_idを使用し、 range_keyを使用します。

しかし、あなたは1つのクエリを使用して結果を得ることはできません。

このクエリではdynamodbを使用しないでください。

関連する問題