有没有一种简单的方法可以理解 AWS Elasticache 和 RDS 之间的区别?

Is there an easy way to understand the difference between AWS Elasticache and RDS?

正在学习AWS,有点迷茫Elasticache & RDS,看了这篇link的文章,还是很迷茫,谁能解释一下?非常感谢。

RDS 代表 关系数据库服务。如果您需要关系数据库的托管实例,例如 Oracle、MS-SQL 服务器、MySQL、MariaDB 或 PostgreSQL,那么您需要使用 RDS。

然而,Elasticache 将数据库缓存为服务。支持两种流行的引擎memcache和redis。

DynamoDB 否-sql 数据库即服务

这是一个关于存储技术的一般性问题:"how does a cache differ from a database?"

缓存(通常)不是持久性数据存储。它的数据是短暂的。缓存的目的是提高位于缓存后面的实际数据库的感知性能。数据库持久化存储实际数据,是数据的权威来源。缓存位于数据库之前,并尝试通过检测它已经知道答案的查询并将缓存的结果直接提供给您的应用程序来提高应用程序的性能,从而避免访问数据库。

当然,缓存会随着时间的推移而过时,因此当缓存中的数据变得不准确时,您需要一个使数据过期的过程,从而导致对该数据的下一次查询转到实际的数据库,并且可以缓存新数据直到它过期。

RDS 和 elasticache 的用例非常不同。

使用RDS时,

需要持久化数据

需要 ACID 合规性

需要 oltp 数据库引擎

时使用内存分布式缓存如elasticache

减少延迟

卸载数据库压力

处理瞬态数据