• Aerospike系列:3:aerospike特点分析



    1. 数据存放

       数据可以放内存,也可以放SSD。
       数据放内存时速度肯定会很快,但这和memcache一样,相比memcache性能并没有优势

       数据放内存时可以进行持久化配置,但文档只有一个地方提了一下,没展开描述,说明持久化不推荐使用。

       数据也可以放SSD,并做了特定优化,相比mysql会更快,但数据操作模型过于简单,可使用场景很少。也比mongo性能更好,但其要求SSD存储,这样容量较小,费用也较高,这时mongo是好选择

    2. 数据操作模型
        
      支持 按主键及二级索引筛选数据
      支持 聚合 (强大,一个卖点)
      不支持排序(通过聚合功能的lua脚本也可能可以实现,但并不现实)
      
      虽然支持类SQL语法操作,但可进行的操作非常简单,好于memcache, 稍好于mongo,比redis差些,跟mysql完全没法比,但其聚合功能还比较强大。

    3. 集群管理

       相当强大,多个平等的结点,平摊存储所有数据,并且互相备份。集群结点的失效及添加完全自动化处理,不影响用户请求。
       相比memcache,这是它强大的地方,也不会弱于其它nosql的集群管理。

    4.存储大数据


       内存或SSD中可以存放很大的单个二进制数据。

    5. 聚合功能

       这里聚合的概念等同于mysql中的聚合。可以通过编写lua脚本,实现对数据的聚合,此时aerospike可以看作一个分布式的基于内存的map-reduce计算平台,相比普通的            hadoop map-reduce,速度是很快的,当然,可处理的数据量相对较少。

    aerospike可能应用场景 

    aerospike总体来说是一个基于内存的并且具有高度可靠性的分布式计算系统。放在内存中是易失的,更多场景应该是放在SSD,但放在SSD其性能就不一定具有太大优势了,而且SSD存储容量小,费用也是比较贵的。

    1. 替换memcache做缓存

        这是由于它有强大的集群管理功能,对非常重要不能宕机的缓存服务可以采用它,但代价就是需要更多的硬件服务器。

    2.性能要求很高的实时聚合计算
        aerospike是一个分布式的基于内存的map-reduce服务,速度快。
        一般来说,原始数据变化较频繁,而对聚合计算实时要求较高的情景可以用它。

  • 相关阅读:
    [jenkins] 启动错误 Failed to start LSB: Jenkins Automation Server.
    SpringBoot AOP注解式拦截与方法规则拦截
    JS !function 稀奇古怪的写法
    业务场景后端优化
    对称加密和非对称加密
    第三篇 -- 余生,我累了,也懂了
    第二篇 -- 关东野客书籍
    第十一篇 -- 关于防火墙的一些问题
    第三十一篇 -- 学习第六十八天打卡20190911
    第二十九篇 -- UDP和TCP
  • 原文地址:https://www.cnblogs.com/xiaoit/p/4552645.html
Copyright © 2020-2023  润新知