我们有许多(微)服务,有些像单个 lambda 函数一样简单,有些是完整的 RDS 应用程序。他们都需要做的一件事是访问外部 ID 键映射。也就是说,它们都传递了某种类型的 ID,但需要在其响应中包含与该 ID 关联的“名称”字段。基本上,只是一个键/值存储。
我可以构建一个单独的微服务来管理这些映射(也许仍然会),但这也需要简单的数据库。
我的服务通常不会获得大量吞吐量,但我需要它们具有高性能。
我希望保持价格便宜,并且维护成本尽可能低。
基本上,我想要一些“无服务器”(即不需要持续运行的 EC2 实例或 RDS 实例)、快速且易于访问的东西。
我考虑过让每个“键”都是一个 S3 键,值是对象,但是当我需要一次访问一堆时,这并不是 super 高性能。 (我应该研究红移光谱吗?这样是不是太过分了?如果是的话有什么关系吗?)
我知道 AWS 曾经提供 simpledb,这可能基本上就是我所追求的。那么现在最接近的是什么?
感谢您的建议!
最佳答案
从技术上讲,SimpleDB still exists在几个较旧的regions 。
但是 AWS 从来没有谈论过它。
即使是 SimpleDB 常见问题解答似乎也更多地介绍了 DynamoDB,而不是 SimpleDB。
Q: How does Amazon DynamoDB differ from Amazon SimpleDB? Which should I use?
Both services are non-relational databases that remove the work of database administration. Amazon DynamoDB focuses on providing seamless scalability and fast, predictable performance. It runs on solid state disks (SSDs) for low-latency response times, and there are no limits on the request capacity or storage size for a given table.
似乎没有什么理由认为除了 DynamoDB 之外的任何东西都是 SimpleDB 的后继服务“最接近的东西”——尽管不可否认,这有点像说喷气式飞机是最接近单引擎双翼飞机的东西。但它们都是托管 NoSQL 数据库。
之前,DynamoDB 的定价方式使其更适合大型工作负载,但由于 DynamoDB 现在支持 per-request pricing我看不出有任何理由这不是您所描述的应用程序的最佳选择。以前,DynamoDB 要求您订阅一定级别的容量,这些容量始终可用,但您需要付费,无论您是否需要并使用它。该选项仍然存在,但每个请求对于很多用例来说看起来都不错。如果您希望将数据自动复制到多个区域以提高查找性能,它还支持“全局表”。
关于database - 对于由多个不同服务共享的简单数据库(本质上只是一个键/值存储)来说,最好的 AWS 服务是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54357901/