zoukankan      html  css  js  c++  java
  • 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服务,速度快。
        一般来说,原始数据变化较频繁,而对聚合计算实时要求较高的情景可以用它。

  • 相关阅读:
    The Android ION memory allocator
    ffmpeg 从mp4上提取H264的nalu
    annexb模式
    算法优化:rgb向yuv的转化最优算法
    Android平台上PMEM的使用及Platform设备注册(二)
    Android平台上PMEM的使用及Platform设备注册(一)
    ffmpeg教程
    视频编解码学习之四:视频处理及编码标准
    深入浅出:了解jsonp跨域的九种方式
    前端小知识集锦
  • 原文地址:https://www.cnblogs.com/xiaoit/p/4552645.html
Copyright © 2011-2022 走看看