大数据Big Data大数据,机器学习,人工智能

Aerospike (1) - 初探

2019-03-06  本文已影响21人  廖嘉逸

注:本文转自我的个人博客 Aerospike (1) - 初探

应用场景

在很多业务场景比如反欺诈、广告定向推荐、数字身份验证等,这些场景都有一些共同的特点:

数据量不大时,有很多优秀的框架可以使用,比如单机的redis、Cassandra等,它们不但满足上述需求而且还有着易于运维、管理方便的优点,但随着业务规模扩大,不可预测的大流量、查询延时低效都成为了比较难解决的痛点。
Aerospike在2012年作为分布式KV数据库出现后,以稳定性和延迟低的特点让不少公司开始试水,到如今4.0版本发布,6年时间里Aerospike已经积累了不少在不同行业的成功案例。


数据模型

我理解在Aerospike的Data model其实和Hbase中的namespace/table/row/column family非常类似。


查询索引

Aerospike中的查询索引分为两种,一级索引和二级索引,两种索引的用途各不相同。


一致性和高可用分析

我们假设在单namespace的情况下,当前Aerospike集群为4个节点,每个节点有1024个partition,replica复制因子为1,探讨常见的以下几种场景

  1. 在一个节点宕机的情况下,其replica的节点从replica变成了master,并开始寻找新的replica节点,数据不会发生丢失。
  2. 在两个节点宕机的情况下,如果两个节点正好是partition的replica和master,数据丢失,可靠性无法保证。
  3. 在一个节点宕机后重启时,由于在内存中的index丢失,需要重新scan整个SSD来重建索引(非常耗时),整个集群开始重新rebalance,相应partition的数据从其他节点复制到新节点中,直到新节点ready之后再加入集群,数据不会丢失。

选型建议

KV数据库有很多,但大多数都是在Speed和Scale上来做取舍,根据别人的一些选型经验,总结出了其他几个存储和Aerospike对比的一些劣势。


不足之处

虽然Aerospike有稳定性好、延迟低、性价比高的特点,但是也有一些不足的地方需要注意的:

加一Blog加一Blog
上一篇 下一篇

猜你喜欢

热点阅读