您的位置:首页 > 其它

aerospike特点简单描述

2015-03-22 10:38 162 查看
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服务,速度快。

一般来说,原始数据变化较频繁,而对聚合计算实时要求较高的情景可以用它。

aerospike官网描述的其目前主要应用如下:

For session management, as a server-side cookie store or user profile store with fast access to current context—such
as page views, recent search terms, ads served, game state, last move, friends list, and location—as well as pre-computed data loaded from analytic warehouses.

By recommendation engines running similarity metrics on current context, matching recent behavior, and finding
users who are close by or have played particular games recently.

As an in-memory database or persistent cache replacing Memcached and MySQL as a safe, reliable and persistent cache
or in-memory database for mobile, social-media and content-rich applications. Aerospike’s unique flash optimizations deliver near in-memory speeds with 10x gains in cost performance.

http://www.aerospike.com/press-releases/aerospike-launches-free-community-edition/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: