在 Google 和 stack overflow(下面提到的)浏览了几个资源之后,我对何时使用什么有了高层次的理解,但也有一些问题。
我的理解:
作为纯内存数据库时,两者都具有可比性的性能。但是对于大数据集,完整的数据集可能无法放入内存中,或者即使可以放入内存中(但会增加成本),AS(aerospike)可以是一个很好的选择,因为它提供了索引可以保存在内存中,数据保存在固态硬盘中的模式。我相信性能会略有降低(与完全内存中的数据库相比),但节省了成本并提供了性能,而且读/写来自 SSD 的方式使其比传统磁盘 I/O 更快。因此,当完整数据可以放入内存时,两者都可以同样好,但当内存受限时,AS 可以是一个很好的情况。对吗?
还有人说 AS 提供了丰富且易于设置的集群功能,而 Redis 中的一些集群特性需要在应用程序中处理。这是否仍然适用,还是几年前就已经是真的了(我认为是这样,因为我看到 Redis 也提供了集群功能)?
Redis不像Aerospike一样是一个分布式数据库 - 它需要应用程序端分片(这会变成一种集群和水平扩展的噩梦)或单独的代理,这通常会成为瓶颈
。我们可以在不同的节点上拥有多个代理,以便单个代理不会成为瓶颈吗?就像在https://redis.io/topics/partitioning中提到的那样。 - emilly