@1234567890
2018-03-26T12:07:05.000000Z
字数 1020
阅读 1435
Aerospike
aerospike数据库使用p2p架构
1、 Aerospike集群中的每个节点都是相同的。
2、 所有节点都是对等的。
3、 没有单点故障
为了确定记录放置,使用ripemd160将记录关键字(任何大小)散列成20字节的固定长度字符串。前12位形成了分区ID,它确定哪个分区应该包含此记录。
分区在集群节点之间平均分配。如果群集中有n个节点,则每个节点存储大约1 / n的数据。
由于数据在集群节点间均匀(随机)分布,因此没有热点或瓶颈。
为了可靠性,aerospike复制一个或多个节点上的分区。一个节点成为用于分区读写的数据主机,其他节点存储副本。
在aerospike数据库中,名称空间是以相同方式存储的数据集合。
每个名称空间被划分为4096个分区,这些分区在集群节点之间平均分配。
这意味着如果群集中有n个节点,则每个节点存储〜1 / n个数据
Aerospike使用随机哈希方法来确保分区均匀分布。不需要手动分片。群集节点进行协调以均匀划分分区。aerospike客户端检测集群变化并将请求发送到正确的节点。当添加或删除节点时,群集会自动重新平衡。
在Aerospike数据库中,没有复制数据的复制因子= 1 - 只有一个数据库副本.在配置文件中配置
当节点收到写入请求时,它会保存数据并将写入请求转发给副本节点。一旦副本节点确认写入成功并且节点自己写入数据,则确认将返回给客户端。
aerospike允许配置选项指定重新平衡进行的速度。暂时放缓交易会更快地治愈集群。如果您需要保持事务处理速度和数量,则群集重新平衡更加缓慢
在重新平衡期间,Aerospike不保留所有分区的完全复制因子。一些传输分区暂时成为单个副本,以便在群集重新平衡到新的稳定性时提供最大的内存和存储可用性
在存储溢出时,aerospike停止写入限制可防止新的记录写入。prole和迁移写入以及读取,继续处理。所以,即使超出最佳容量,数据库也不会停止处理请求。它继续尽可能地继续处理用户请求
从aerospike 4.0开始,aerospike支持ap(可用和分区容错)以及cp(一致和分区容错)模式。这些模式可以在名称空间的命名空间的基础上进行配置。