Amazon web services AmazonCognito:如果我将用户设置存储为自定义属性,这是正确的设计吗?

Amazon web services AmazonCognito:如果我将用户设置存储为自定义属性,这是正确的设计吗?,amazon-web-services,amazon-cognito,Amazon Web Services,Amazon Cognito,在我发现 并非所有关于用户的信息都应存储在属性中。例如,频繁更改的用户数据,如使用统计数据或游戏分数,应保存在单独的数据存储中,如Amazon Cognito Sync或Amazon DynamoDB 但我并没有发现信息——为什么亚马逊不建议将统计数据存储在Cognito中——与其他用户数据一起。我认为将所有关于用户的数据存储在一个地方是很方便的,因为这只是一个数据字符串而不是很多行 例如,用户偏好-是否是经常更改的数据?其中一些没有,那么-在哪里存储它们-在DynamoDB中还是在Cognit

在我发现

并非所有关于用户的信息都应存储在属性中。例如,频繁更改的用户数据,如使用统计数据或游戏分数,应保存在单独的数据存储中,如Amazon Cognito Sync或Amazon DynamoDB

但我并没有发现信息——为什么亚马逊不建议将统计数据存储在Cognito中——与其他用户数据一起。我认为将所有关于用户的数据存储在一个地方是很方便的,因为这只是一个数据字符串而不是很多行


例如,用户偏好-是否是经常更改的数据?其中一些没有,那么-在哪里存储它们-在DynamoDB中还是在Cognito中?利与弊是什么?速度价格?方便的api?

正如您所说,Cognito用户池用于不经常更改的数据,例如应用程序的用户设置。我还假设,根据用例的不同,用户偏好很少改变。它并不适用于经常更改的数据,例如用户的当前地理位置,因此,例如,如果您有一个跟踪用户位置的应用程序,则必须将该数据存储在另一个存储中,如DynamoDb。

正如您所说,Cognito用户池适用于不经常更改的数据,如应用程序的用户设置。我还假设,根据用例的不同,用户偏好很少改变。它并不适用于经常更改的数据,例如用户当前的地理位置,因此,如果您有一个跟踪用户位置的应用程序,则必须将该数据存储在另一个存储中,如DynamoDb