Aerospike

Aerospike(简称AS)是一个分布式,可扩展的键值存储的NoSQL数据库。 T级别大数据高并发的结构化数据存储,读写操作达微妙级,99%的响应可在1毫秒内实现。

采用混合架构索引存储在内存中,而数据可存储在机械硬盘(HDD)或固态硬盘(SSD) 上(也可存储在 内存) AS内部在访问SSD屏蔽了文件系统层级,直接访问地址,保证了数据的读取速度。 AS同时支持二级索引与Client聚合,支持简单的sql操作(aql),相比于其他nosql数据库,有一定优势。

应用场景

个性化推荐广告应用

  • 用户行为日志收集系统收集日志之后推送到ETL做数据的清洗和转换
  • 把ETL过后的数据发送到推荐引擎计算每个消费者的推荐结果,其中推荐逻辑包括规则和算法两部分
  • 具体的规则有用户最近浏览、加入购物车、加入收藏等
  • 算法则包括商品相似性、用户相似性、文本相似性、图片相似性等算法。
  • 把推荐引擎的结果存入Aerospike集群中,并提供给广告投放引擎实时获取

Aerospike与Redis对比

  1. Aerospike是NoSQL的数据存储,Redis是缓存
  2. Aerospike是多线程的,而 Redis 是单线程的
  3. Redis 需要开发人员自己管理分片并提供分片算法用于在各分片之间平衡数据;而 AerospikeDB 可以自动处理相当于分片的工作;
  4. 在 Redis 中,为了增加吞吐量,需要增加 Redis 分片的数量,并重构分片算法及重新平衡数据,这通常需要停机。而在 AerospikeDB 中,可以动态增加数据卷和吞吐量,无需停机,并且 AerospikeDB 可以自动平衡数据和流量;
  5. 在 Redis 中,如果需要复制及故障转移功能,则需要开发人员自己在应用程序层同步数据;而在 AerospikeDB 中,只需设置复制因子,然后由 AerospikeDB 完成同步复制操作,保持即时一致 性;而且 AerospikeDB 可以透明地完成故障转移;
  6. Redis是在内存中运行的 ,AerospikeDB在内存中存储索引,在HDD、SSD中保存数据,也可以在内存中

Aerospike架构

Aerospike分为三个层次:

Client层:对Aerospike Server中的数据进行访问。 包括CRUD、批量操作和基于二级索引的查询。

Distribution层:负责管理集群内部数据的平衡分布、备份、容错和不同集群之间的数据同步。

Data层:负责数据的存储,Aerospike 属于弱语法的key-value数据库。

 

Aerospike 安装

猜你喜欢

转载自blog.csdn.net/qq_42773863/article/details/121527443