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)错误。这仅对存储引擎内存命名空间有效。

KV存储-Aerospike之功能限制相关推荐

  1. KV存储-Aerospike之AP与CP模式

    Aerospike(以下简称Spike) 1.从Spike 3.0开始,它是一个AP数据库,即在各种网络分区情况下提供可用性而不是一致性的数据库.Spike 3.0不提供在事务期间保持记录一致复制所需 ...

  2. KV存储-Aerospike之索引(Index)

    Aerospike(以下简称Spike) 索引的作用是加快对存储记录的查找或排序,Spike中的索引分两种,分别为一级索引(Primary-Index)和二级索引(Secondary-Index),两 ...

  3. KV存储-Aerospike之AQL的命令(COMMANDS)

    Aerospike(以下简称Spike) Spike的AQL工具为DB.UDF和index管理提供了类似SQL命令行的接口.但Spike不支持标准SQL作为查询或管理语言. 如下是个人基于Spike4 ...

  4. 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别

    1. 什么是 KV 存储 KV 是 Key-Value 的缩写,KV 存储也叫键值对存储.简单来说,它是利用 Key 做索引来实现数据的存储.修改.查询和删除功能. 常用的高性能 KV 存储主要有 R ...

  5. etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease

    1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...

  6. 百度信息流和搜索业务中的KV存储实践

    导读:近年来,云原生化.全用户态.软硬协同等技术对KV存储服务产生了巨大的影响,上述技术在极大提升了服务的性能和降低服务成本的同时,也对系统的架构和实现提出了新的要求.百度在信息流和搜索业务中大量使用 ...

  7. Go实现简单的K-V存储

    Go实现简单的K-V存储 使用Go实现简单的K-V存储,包括基本的增删改查功能. 本节代码将实现K-V存储的四个基本功能: 添加新元素 基于key删除已有的元素 给定key查找对应value 修改ke ...

  8. 如何基于MySQL及Redis搭建统一的kv存储服务 | 秦波

    一.MySQL+Redis常用部署方式 1.1  拓扑 1.2  特点 业务层通过双写同时写MySQL及Redis.读通常在Redis,若读取不到,则从MySQL读取,然后将数据同步到Redis,Re ...

  9. 完整mes代码(含客户端和server端_200行代码实现基于paxos的kv存储

    本文链接: https://blog.openacid.com/algo/paxoskv/ 前言 写完 paxos的直观解释 之后, 网友都说疗效甚好, 但是也会对这篇教程中一些环节提出疑问(有疑问说 ...

最新文章

  1. 数据挖掘 —— 半监督学习(标签传播算法)
  2. mysql root密码重置
  3. 使用java代码判断一个字符串里是否包含中文字符
  4. 计算机超级语言,我发现原来计算机最原始的语言是那么的内涵。。。。
  5. 为什么Java里面没有 SortedList
  6. [Javascript]史上最短的IE浏览器判断代码
  7. 深入浅出数据中心里的OpenStack
  8. [MS-SHLLINK]: Shell Link (.LNK) Binary File Format
  9. Unity-TA 成长之路(一)初识渲染管线
  10. 火星坐标-84坐标-百度地图坐标相互转换
  11. ISCW实验11:使用SDM配置Site-to-Site IPSec ×××
  12. 使用vue+div+svg实现审批流程图功能,可生成JSON格式
  13. Linux动态链接库.so文件的命名及用途总结
  14. 【07月05日】北上资金持股比例排名
  15. 《迷你世界》亿级玩家都在用的游戏场景推荐系统长啥样?
  16. 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
  17. 深度学习——神经网络中的activation
  18. Intellidea创建maven project遇到的问题
  19. 论文笔记:Adaptive Cross-Modal Prototypes for Cross-Domain Visual-Language Retrieval
  20. 闭关修炼(一)多线程

热门文章

  1. 国家新能源汽车动力电池及电驱动淋雨试验设备IPX9K
  2. 计算机网络的定义中的三个关键词,计算机网络应用基础概述论文(2)
  3. omap5 eMMC 启动流程
  4. pyqtgraph 官方案例 学习记录 000 序
  5. MES系统正在重新定义数字化车间
  6. 有一行电文,已按下面规律译成密码: A →Z B→Y C→X …… a→z b→y c→x …… 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字
  7. 使命召唤手游ios端终于上线啦:这画质这操作手感我要肝爆它
  8. 高德地图左上角或任意位置增加自定义按钮,一刷新按钮消失问题
  9. 如何通过云计算加速游戏开发
  10. MybatisPlus整合Flowable出现的坑