Database design Amazon DynamoDB是否适合于小型数据集?

Database design Amazon DynamoDB是否适合于小型数据集?,database-design,amazon-web-services,nosql,amazon-dynamodb,Database Design,Amazon Web Services,Nosql,Amazon Dynamodb,我目前正在开发一个由DynamoDB支持的应用程序,该应用程序为一个庞大的客户群存储与客户相关的数据。它非常适合DynamoDB:客户id作为散列键分区 我有一些与此数据集相关的元数据。它现在很小(大约10个项目),但我预计在未来几年它会增长到100个。虽然它很小,但我考虑过简单地对其进行硬编码,但这将使数据与业务涉众保持距离,并使部署变得不必要的复杂(我正在开发一个库,用于多个站点) 因此,因为用like保存like是有意义的,所以将元数据保存在DynamoDB表中,与元数据一起保存是有意义的

我目前正在开发一个由DynamoDB支持的应用程序,该应用程序为一个庞大的客户群存储与客户相关的数据。它非常适合DynamoDB:客户id作为散列键分区

我有一些与此数据集相关的元数据。它现在很小(大约10个项目),但我预计在未来几年它会增长到100个。虽然它很小,但我考虑过简单地对其进行硬编码,但这将使数据与业务涉众保持距离,并使部署变得不必要的复杂(我正在开发一个库,用于多个站点)

因此,因为用like保存like是有意义的,所以将元数据保存在DynamoDB表中,与元数据一起保存是有意义的。然而,DynamoDB文档使用了少量流行的散列键,这是出于可伸缩性的考虑。未缓存时,小数据集可能会使用与大数据集相同的容量估计,尽管我会使用一些积极的缓存来抵消这一点


一个有责任心的开发人员应该做什么?

如果这些元数据打算由重决策算法使用,那么使用memcached或其他分布式缓存替代方案可能更有意义,此外,由于数据库不会成为瓶颈,您可以选择任何您想要的数据库

实现将非常简单,只是数据访问组件的代理,它将在缓存中查找密钥,当找不到密钥时,它将从数据库中读取,然后放入缓存中


看看AWS

我想这完全取决于亚马逊所说的“访问量非常大”是什么意思。您可以尝试进行测试,看看您是否达到了基于预期增长访问单个散列键的任何性能限制。如果Amazon的意思是它不能在一个键上每秒处理一百万个请求,但你每秒只需要一百个请求,那么你可能就没事了。这是一个非常好的观点——与一些人使用DynamoDB的方式相比,我的使用需求可能是微不足道的。