質問: iosで、画像投稿と画像ランキング機能があるアプリを作ろうと思っています。そこでAWSのDynamo DBを使っているのですが、データベースの構造をどうしようか悩んだので質問させていただきました。 機能としては ・画像投稿 ・人気ランキング(likeの数) ・新しい順 があります。 一つのポストごとにアイテムが生成され、以下のようになっています。 ・userid ・username ・imageURL ・like ・date dynamoDBで、人気ランキングや新しい順で並び替えたものを取得するにはデータベース構造はどうしたらいいでしょうか? レファレンスを見たのですが、hashキー以外の並び替えができないように思えました。 もしかしたらdynamoDBではランキングはできないのでしょうか?
回答: GlobalかLocalのSecondary Indexを作れば、その属性でもソートしてデータ取得ができます。 ただ、条件が多岐にわたるようであれば、処理内容やデータ構造を見なおしたり、別の専用テーブルを設けるなどした方がいいこともあるかと思います。