Amazon dynamodb 在一张DynamoDB表格中,我应该保留多少项,是否有最佳实践限制?

Amazon dynamodb 在一张DynamoDB表格中,我应该保留多少项,是否有最佳实践限制?,amazon-dynamodb,serverless,Amazon Dynamodb,Serverless,我正在为一个系统设置一个无服务器应用程序,我想知道以下几点: 说我的桌子是公司的。每个公司都可以有发票。每家公司大约有6-8000张发票。假设我有14家公司,这导致我的表中有大约112000个项目 这样处理“可以”吗?我将只为我做的每个Get请求付费,并且我可以在同一个Get请求中查询许多项目 我不会在每次写入或获取项目时获取每个项目 那么,对于一张表中最多应该有多少项,是否有一个建议?我可以一起烘焙一些项目,但我主要想要一个一般性的推荐。迪纳摩Db甚至不会注意到10万个条目 如LifeOf

我正在为一个系统设置一个无服务器应用程序,我想知道以下几点:

说我的桌子是公司的。每个公司都可以有发票。每家公司大约有6-8000张发票。假设我有14家公司,这导致我的表中有大约112000个项目

这样处理“可以”吗?我将只为我做的每个Get请求付费,并且我可以在同一个Get请求中查询许多项目

  • 我不会在每次写入或获取项目时获取每个项目

那么,对于一张表中最多应该有多少项,是否有一个建议?我可以一起烘焙一些项目,但我主要想要一个一般性的推荐。

迪纳摩Db甚至不会注意到10万个条目

如LifeOfPi所述,条目应小于400k

该问题表明,对使用DDB的内容/原因/方式明显缺乏了解。我建议你多学点东西。围绕DDB的AWS改造视频非常有用

在标准的RDBMS中,您需要从一开始就了解结构。访问这些数据是非常灵活的

DDB则相反,您需要了解如何访问数据;结构并不重要。你应该以这样的方式结束:


对于10万件物品和大多数应用程序,您可能会发现Aurora serverless更容易满足您的需求;尤其是当您有复杂的搜索和/或排序需求时。

表中的项目数量没有实际限制。每个发票包含多少项取决于应用程序的访问模式。你需要问,你的应用程序需要什么数据,什么时候需要这些数据,数据有多大,更新项目的频率有多高。例如,如果一个项目中的所有数据都在1Kb WCU和4Kb RCU下输入,并且您不经常对其进行写入,并且当您读取它时,您需要该项目中的所有数据,那么可能需要将其放入一个项目中。如果数据更大,或者部分数据写入的频率更高,那么可能需要将其拆分

例如,包跟踪应用程序。你有关于包裹、大小、重量、来源地址、目的地地址等的初始信息,这可能是很多数据。当包裹进入分拣设施时,它被检入。是否要更新已编写的整个项目?或者您只是编写一个具有相同PK(项目集合)但不同SK的项目,然后将其生成的信息发送到分拣设施?当它离开分拣设施时,您需要向它离开的数据库写入数据,它在哪辆卡车上,等等。同样的问题

现在,当您需要通过跟踪ID号PK显示发货信息时,您可以查询DynamoDB并获取该跟踪ID号的整个商品集合。因此,当您的应用程序在跟踪网站上为客户提供大部分信息时,您将获得具有该ID的所有项目


同样,这取决于应用程序和您的访问模式,但您希望尝试只读取和写入应用程序所需的项目、何时需要、如何需要它们,而不是在合理的范围内(存在过度分割数据的情况)。在我看来,这就是如何使像DynamoDB这样的NoSQL数据库成为最具性能和最具成本效益的数据库。

这方面没有限制,但是有一些指导方针/原则需要遵循。项目大小(包括属性)不应超过400 KB。请参考,谢谢!正如问题所述,我唯一想问的是,dynamodb表中的项目数量是否有任何实际限制。非常感谢您的回答!