According to Aerospike's website,主索引将占用RAM中的空间:
64 bytes × (replication factor) × (number of records)
如果这是在每个副本上占用的空间,或者这是主索引总占用的空间,即每个副本所需的空间总和,我感到很困惑。
答案 0 :(得分:4)
您在Aerospike中存储的每个记录都有两个组件 - 数据部分和RAM中的主索引(占用64个字节),用于定位数据 - 存储它的位置。 (您可以选择存储数据部分的位置 - 它可以位于进程RAM或SSD驱动器以及其他特殊选项中。)Aerospike是一个分布式数据库 - 因此通常有多个节点用于存储记录并且易于水平扩展。为了避免在丢失节点时丢失数据,您通常会要求Aerospike存储每个记录的两个副本(r = 2) - 每个副本位于不同的节点上。因此,当您仅查看主索引的整个节点集群中的RAM使用情况时,您需要仅针对PI的n x r x 64字节RAM。这是在集群中的所有节点上仅存储主记录和副本记录的主索引所需的所有RAM。
因此,如果您在5节点群集上有100条记录,2个副本,则仅需要PI的RAM将在5台服务器上为100 x 2 x 64字节,即每台服务器需要大约(100 x 2 x 64)/ 5 PI存储消耗的RAM字节数。 (实际上,PI for RAM在企业版中至少分配了1GB块。)