KV存储-Aerospike之功能限制
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之功能限制相关推荐
- KV存储-Aerospike之AP与CP模式
Aerospike(以下简称Spike) 1.从Spike 3.0开始,它是一个AP数据库,即在各种网络分区情况下提供可用性而不是一致性的数据库.Spike 3.0不提供在事务期间保持记录一致复制所需 ...
- KV存储-Aerospike之索引(Index)
Aerospike(以下简称Spike) 索引的作用是加快对存储记录的查找或排序,Spike中的索引分两种,分别为一级索引(Primary-Index)和二级索引(Secondary-Index),两 ...
- KV存储-Aerospike之AQL的命令(COMMANDS)
Aerospike(以下简称Spike) Spike的AQL工具为DB.UDF和index管理提供了类似SQL命令行的接口.但Spike不支持标准SQL作为查询或管理语言. 如下是个人基于Spike4 ...
- 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别
1. 什么是 KV 存储 KV 是 Key-Value 的缩写,KV 存储也叫键值对存储.简单来说,它是利用 Key 做索引来实现数据的存储.修改.查询和删除功能. 常用的高性能 KV 存储主要有 R ...
- etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...
- 百度信息流和搜索业务中的KV存储实践
导读:近年来,云原生化.全用户态.软硬协同等技术对KV存储服务产生了巨大的影响,上述技术在极大提升了服务的性能和降低服务成本的同时,也对系统的架构和实现提出了新的要求.百度在信息流和搜索业务中大量使用 ...
- Go实现简单的K-V存储
Go实现简单的K-V存储 使用Go实现简单的K-V存储,包括基本的增删改查功能. 本节代码将实现K-V存储的四个基本功能: 添加新元素 基于key删除已有的元素 给定key查找对应value 修改ke ...
- 如何基于MySQL及Redis搭建统一的kv存储服务 | 秦波
一.MySQL+Redis常用部署方式 1.1 拓扑 1.2 特点 业务层通过双写同时写MySQL及Redis.读通常在Redis,若读取不到,则从MySQL读取,然后将数据同步到Redis,Re ...
- 完整mes代码(含客户端和server端_200行代码实现基于paxos的kv存储
本文链接: https://blog.openacid.com/algo/paxoskv/ 前言 写完 paxos的直观解释 之后, 网友都说疗效甚好, 但是也会对这篇教程中一些环节提出疑问(有疑问说 ...
最新文章
- 数据挖掘 —— 半监督学习(标签传播算法)
- mysql root密码重置
- 使用java代码判断一个字符串里是否包含中文字符
- 计算机超级语言,我发现原来计算机最原始的语言是那么的内涵。。。。
- 为什么Java里面没有 SortedList
- [Javascript]史上最短的IE浏览器判断代码
- 深入浅出数据中心里的OpenStack
- [MS-SHLLINK]: Shell Link (.LNK) Binary File Format
- Unity-TA 成长之路(一)初识渲染管线
- 火星坐标-84坐标-百度地图坐标相互转换
- ISCW实验11:使用SDM配置Site-to-Site IPSec ×××
- 使用vue+div+svg实现审批流程图功能,可生成JSON格式
- Linux动态链接库.so文件的命名及用途总结
- 【07月05日】北上资金持股比例排名
- 《迷你世界》亿级玩家都在用的游戏场景推荐系统长啥样?
- 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
- 深度学习——神经网络中的activation
- Intellidea创建maven project遇到的问题
- 论文笔记:Adaptive Cross-Modal Prototypes for Cross-Domain Visual-Language Retrieval
- 闭关修炼(一)多线程
热门文章
- 国家新能源汽车动力电池及电驱动淋雨试验设备IPX9K
- 计算机网络的定义中的三个关键词,计算机网络应用基础概述论文(2)
- omap5 eMMC 启动流程
- pyqtgraph 官方案例 学习记录 000 序
- MES系统正在重新定义数字化车间
- 有一行电文,已按下面规律译成密码: A →Z B→Y C→X …… a→z b→y c→x …… 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字
- 使命召唤手游ios端终于上线啦:这画质这操作手感我要肝爆它
- 高德地图左上角或任意位置增加自定义按钮,一刷新按钮消失问题
- 如何通过云计算加速游戏开发
- MybatisPlus整合Flowable出现的坑