我正在尝试构建具有简单要求的应用程序:
我选择DynamoDb是因为这些是非常基本的要求,很好的无服务器/ lambda集成,我的负载很低而且似乎可以实现。
我现在阅读时,RCU / WCU均匀分布出现了问题。可能的结构如下:
ID (main partition key) tenant (GSI partition key) time (GSI sort key)
但是据我了解,WCU的容量是按分区平均分配的,所以当我有 100个WCU 用于GSI时, 1000 个租户曾经发布过任何内容, 10 个最活跃的租户现在每个都使用〜10 WCU,这远远不够,因为每1000个分配100个WCU。所以1个租户在活动或退出时将获得0.1 WCU我的资源很久以前。
然后有一个按ID过滤的问题:如果我要按ID用WCU / RCU 100 , 1kk 记录存储在数据库中,那么所有索引会收到全部100个RCU / WCU?我发现有关incrementing keys的信息,我认为它适用于UUID。
我是否为此任务选择了错误的数据库?