aerospike:内部记录和没有记录之间的区别
aerospike: difference between recored inside set and without set
Aerospike 支持在 set
内记录和直接在 namespace
内记录(没有任何 set
)。后者的用例是什么?它们是否有任何性能方面或功能上的限制?
我的案例: 我将在一个名为 test_bin_value
的容器中有很多(10 亿条)记录,比如 test_set
。现在我想跟踪 bin update_timestamp
中的最新记录 update/insert 时间。只要有人在 bin test_bin_value
中插入或更新记录,该 bin 的值就会更新。我应该把 bin update_timestamp
放在 set test_set
里面还是外面?如果我将它保留在同一组中,是否需要更多 space?两个bin都会有频繁的读写操作。
如果一个记录存在于一个集合中,则所有 bin 都将存在于该集合中。您可以将集合视为类似于 SQL 数据库中的 table,集合名称包含在记录的 header 中,因此适用于该记录中的所有 bin。
如果您使用的是集合名称,则开销为每条记录 9 + set_name_length 字节。
Aerospike 支持在 set
内记录和直接在 namespace
内记录(没有任何 set
)。后者的用例是什么?它们是否有任何性能方面或功能上的限制?
我的案例: 我将在一个名为 test_bin_value
的容器中有很多(10 亿条)记录,比如 test_set
。现在我想跟踪 bin update_timestamp
中的最新记录 update/insert 时间。只要有人在 bin test_bin_value
中插入或更新记录,该 bin 的值就会更新。我应该把 bin update_timestamp
放在 set test_set
里面还是外面?如果我将它保留在同一组中,是否需要更多 space?两个bin都会有频繁的读写操作。
如果一个记录存在于一个集合中,则所有 bin 都将存在于该集合中。您可以将集合视为类似于 SQL 数据库中的 table,集合名称包含在记录的 header 中,因此适用于该记录中的所有 bin。
如果您使用的是集合名称,则开销为每条记录 9 + set_name_length 字节。