Aerospike命名空间配置选项

时间:2015-09-14 09:56:30

标签: aerospike

我最近参与了将Aerospike数据存储实施到我们的产品中。我们一直在尝试为命名空间设计最佳配置。持久化数据的要求意味着我们需要将存储引擎作为设备。我们已将内存中的数据指定为true。

我的问题是:data-in-memory是否尝试将后备存储数据所有加载到内存中,因为模糊描述意味着什么?

  

始终在内存中保留所有数据的副本。

或者它是否会关注命名空间中的memory-size设置,并且只从后备存储中加载memory-size数据量?

documentation检索设置说明。

我一直在跟那个第一次实施airospike试图找出他是否知道并且不确定所以我正在寻求澄清的人谈过。

作为参考,我的命名空间配置看起来像这样,内存配额明显小于后备存储

namespace Test {
    replication-factor 2
    memory-size 4G
    default-ttl 0
    storage-engine device {
        file /opt/aerospike/data/Test.dat
        filesize 16G
        data-in-memory true
    }
}

2 个答案:

答案 0 :(得分:5)

它会将所有数据保存在内存中。 Aerospike还没有部分缓存实现来将最常用的数据保存在提供的内存中。

答案 1 :(得分:2)

您的数据仅存在于内存中,而磁盘用于在服务器重新启动时进行恢复的持久性。 filesize大于memory-size的原因是维护操作(例如块的碎片整理)需要磁盘空间。磁盘设备是块设备,在默认的1MB write-block-size中,您可以容纳多个记录,因此通过从小于defrag-lwm-pct满的块移动记录来进行碎片整理等操作。这需要额外的块,因此您需要备用容量。