aerospike数据库的使用
aerospike数据库的使用
1.aerospike什么?
Aerospike是一个分布式,高可用的 K-V类型的Nosql数据库。提供类似传统数据库的ACID操作。大致功能与redis类似,但由于as是混合型内存,根据namespaces配置将常用的数据存在内存中,量大数据存储在ssd上。
2.为什么要用AS
K-V类型的数据库必须要提的就是redis,redis数据完全存储在内存虽然保证了查询性能,但是成本太高。
AS大的卖点就是可以存储在SSD上,并且保证和redis相同的查询性能。
AS内部在访问SSD屏蔽了文件系统层级,直接访问地址,保证了数据的读取速度。
AS同时支持二级索引与聚合,支持简单的sql操作,相比于其他nosql数据库,有一定优势,redis集群没有可视化,Aerospike有可视化控台。
3.AS中索引的结构?
主键索引是分布式哈希表技术与每个服务器中的分布式树结构的混合。名称空间中的整个键空间通过健壮的散列函数分隔到分区中。总共有4096个分区均匀地分布在集群节点上。有关哈希和分区的详细信息,请参阅数据分布。
Aerospike使用了一种被称为sprig的红黑内存结构。对于每个分区,可以有可配置的sprig数量。配置正确数量的分支是内存开销和优化的并行访问之间的权衡。
4.存储方式
bin包含的数据类型有:
integer double string boolen bytes
一些数据:
一个namespace多有1023个set
一个namespace多支持64块SSD
bin名字长度多14个单字节字符
list类型中能存15,000条数据
Map类型多能存50000条数据
5. 过期时间可以设置在哪几层?
namespance,Record,Index Metadata
4.9版以上 则每次写入记录时都会重置TTL
3.10.1版以上可可设置更新记录时不修改TTL的策略
6.AS数据写入方式?
分片写入
Aerospike Database uses a Shared-Nothing 架构
使用Aerospike Smart Partitions™算法,数据均匀分布在集群中的所有节点上。
1.随机分配节点
这说明了一个4节点的Aerospike集群,其中每个节点是大约1/4数据的数据主节点,每个节点是1/4数据的副本。一个节点是数据主节点。数据以副本的形式分布在所有其他节点上。对于本例,如果节点1变得不可用,节点#1的副本将分散到其他节点。
7.数据存储到SSD中查询速度为什么快?
1.一级索引
Primary-Index是Aerospike默认存在的,作用是加速查询和防止数据倾斜,具体原理是取每一个key做hash后,前12bit作为partitionID,所以partition的个数是固定的,4096个。
java api 参考
https://github.com/aerospike/aerospike-client-java/tree/master/examples
————————————————
版权声明:本文为CSDN博主「尔雅221」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39264897/article/details/121681357
相关文章