我目前正在开发一个支持DynamoDB的应用程序,该应用程序为大量客户群存储客户相关数据。它非常适合DynamoDB:客户ID作为哈希键分区很好。
我有一些与此数据集相关的相关元数据。它现在相当小(大约10个项目),但我预计它会在未来几年内增长到100个。虽然很小,我只考虑硬编码,但这会使数据与业务利益相关者保持距离并且不必要地使部署复杂化(我正在开发一个跨多个站点使用的库)。
因此,因为保持类似的东西是有意义的,所以将元数据保存在DynamoDB表中以及它所代表的数据是有意义的。但是,DynamoDB文档warn against使用了少量流行的哈希密钥,引用了可扩展性问题。未缓存,小数据集可能使用与大数据集相同的容量估计,但我会通过一些积极的缓存来抵消它。
什么是尽职尽责的开发人员?
答案 0 :(得分:1)
如果这些元数据打算用于重型算法,那么使用memcached或其他一些分布式缓存可能更有意义,此外,由于数据库不是瓶颈,你可以选择任何数据库你想。
实现将非常简单,只是数据访问组件的代理,它将查看密钥的缓存,当未找到它从数据库读取并接下来放入缓存时。
查看AWS ElasticCache