Dynamo数据库GSI

时间:2020-03-24 08:46:39

标签: database amazon-web-services amazon-dynamodb dynamodb-queries

我目前在解决dynamo数据库查询问题。

我的dynamo数据库跟踪数据更改。因此,分区键可以识别我正在更改的数据

单行看起来像这样

partition key: servicename#resource#resource_id#region 

sortkey: current_time

changelogs: map of changelog (basically an array of changelog)

changer: who changed it

;当请求一种特定的资源更改时,它做得很好。但是,如果我要查询“我想查看此servicename#resource 的最后30分钟更改,而没有指定资源id 。现在我只有手头的扫描方法。而且我可以由于数据量大,所以不使用扫描。我接受所有建议。

1 个答案:

答案 0 :(得分:0)

您的主题提到答案...即使您的帖子没有答案。

创建一个全局二级索引(GSI),将日期或日期的一部分作为哈希键,将时间或剩余日期的一部分+时间作为排序键。如果要创建大量数据,则可能需要在哈希键中包含Hour。

class UserViewModel: ObservableObject {
    @Published var userData: UserData?

    init(userData: UserData? = nil) {
        self.userData = userData
    }