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.存储方式

as的存储结构
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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值