目前,我们使用Redis作为内存中的快速缓存。它工作得很好。问题是,一旦重新启动Redis,我们就需要从持久存储中获取数据来重新填充它。这会使我们的持久存储超出其容量,因此恢复需要很长时间。
我们查看了Redis的持久性选项。最好的选择(不影响性能)是使用带有“每秒appendfsync”选项的AOF。但是,使用此选项,我们可能会丢失最后一秒钟的数据。那是不能接受的。使用具有“总是appendfsync”的AOF会带来相当大的性能损失。
因此,我们正在评估单节点Aerospike。它是否保证在断电情况下没有数据丢失?即针对写操作,一旦Aerospike向客户端发送成功,就永远不应该丢失数据,即使我拔掉服务器机器的电源。如上所述,我认为Redis可以在“总是appendfsync”选项下提供此保证。但是,我们不考虑它,因为它会带来相当大的性能损失。
如果Aerospike能够做到这一点,我想详细了解Aerospike中的持久性是如何工作的。请分享一些说明相同的资源。
我们不需要分布式系统,因为强一致性对我们来说是必须的。数据不应在节点故障或脑裂情况下丢失。
如果不使用Aerospike,您能否指向另一个可以帮助实现此目标的工具?
我们查看了Redis的持久性选项。最好的选择(不影响性能)是使用带有“每秒appendfsync”选项的AOF。但是,使用此选项,我们可能会丢失最后一秒钟的数据。那是不能接受的。使用具有“总是appendfsync”的AOF会带来相当大的性能损失。
因此,我们正在评估单节点Aerospike。它是否保证在断电情况下没有数据丢失?即针对写操作,一旦Aerospike向客户端发送成功,就永远不应该丢失数据,即使我拔掉服务器机器的电源。如上所述,我认为Redis可以在“总是appendfsync”选项下提供此保证。但是,我们不考虑它,因为它会带来相当大的性能损失。
如果Aerospike能够做到这一点,我想详细了解Aerospike中的持久性是如何工作的。请分享一些说明相同的资源。
我们不需要分布式系统,因为强一致性对我们来说是必须的。数据不应在节点故障或脑裂情况下丢失。
如果不使用Aerospike,您能否指向另一个可以帮助实现此目标的工具?