KV存储-Aerospike之功能限制

2022-06-21 00:00:00 记录 字节 字符 大小 空间

Aerospike(以下简称Spike)
虽然Spike有许多优点(如高性能、无热点、线性扩展、混合架构等),但在程序开发过程中存在诸多不足(或称坑点),要想在业务中合理的使用必须提前熟悉各功能的限制。
如下是个人基于Spike4.5.X版本的一些总结。

一、Namespace【数据库】
1、字符:命名空间名称不能包含“:”或“;”字符
2、存储:名称空间类似于传统SQL数据库的表空间,每个名称空间多限制为128个设备
3、数量:企业多32个,社区多2个(从4.0版开始)

二、Set【表】
1、字符:命名空间名称不能包含“:”或“;”字符
2、数量:4.2版本每个命名空间的限制为1023 sets

三、Record【行】
1、记录数量:实际数量受RAM和存储限制。每个记录都需要64个字节作为索引项。索引项只存储在RAM中。键本身并不实际存储在索引中,但键的散列(使用成熟的MD160算法)是。这个带有开销的哈希正好需要64个字节。给定节点上每个命名空间的大记录数在社区版上限制为40亿,在企业版上限制为340亿。这表示内存为2tib。
2、总value大小:每个记录值大小都限制为写块大小,通常在配置中将闪存设备的写块大小设置为128KB,但从4.2版起可以增加到8Mib(对于以前的版本,大值为1Mib,如果在配置文件中未指定,这也是默认值)。
3、bins的大小:记录中的bins数量没有内置限制,但命名空间中的bins总数有限制。目前是32767
4、Sets: 一条记录只能属于一个集合。请注意,集合和键都被放入散列中,因此为了获得具有集合的键的值,必须知道集合。

四、Bin【列】
1、bins的数量:每个命名空间多有32767个bins。这是硬编码的,不能更改
2、name长度:任何单字节15个字符。不允许使用双字节字符。对于4.2之前的服务器版本,限制为14个字符

五、Sindex【二级索引】
字节数:如果字符串sindex类型的bin值大小小于等于2048字节,或geojson sindex类型的bin值大小小于等于1MB,则可以进行二级索引

六、Batch Reads【批量读】
记录数量:对于4.5.3.4之前的版本,批处理结果中每个记录的大小限制检查为10MB。因此,如果批量读取事务包含一个大于10MB的记录,则事务将失败,并出现Aerospike_err_record_too_big(13)错误。这仅对存储引擎内存命名空间有效。
————————————————
版权声明:本文为CSDN博主「chinats918」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tansheng526/article/details/100058603

相关文章