首页  

aerospike VS redis     所属分类 aerospike 浏览量 1569
aerospike  / redis

多线程              单线程
强大的集群功能        集群功能不够完善
支持复杂嵌套数据结构   值支持简单数据结构

自动分片 平衡 水平扩容
强大的单节点处理能力 更低的运维成本
aerospike 自带 AMC 监控控制台

Redis 集群功能不够完善
需要codis proxy或者JedisCluster
单实例内存建议不超过10G,内存设定过大,主从切换从库的重新挂在容易导致雪崩问题
基于10G内存,如果支撑TB数据量存储,就要几百个实例的支撑
新增节点,需要手动迁移槽位。




Aerospike's performance is much better than any clustered-nosql solutions out there. 
Higher performance per-node means smaller cluster which is lower TCO (Total Cost of Ownership) and maintenance. 
Aerospike does auto-clustering, auto-sharding, auto-rebalancing 
(when cluster state changes) most of which needs manual steps in other databases.

Redis expects a lot of things to be handled at the application layer like sharding, request redirection etc. 

Even though redis has a way to persist (snapshot or AOF), 
it has its own problems as its designed more like an addon. 
尽管redis有一种持久化(快照或AOF)的方法,但它有自己的问题,因为它的设计更像是一个插件。

Aerospike is developed natively with persistence in mind.



AS(aerospike) can be the good fit as it provides the mode where indexes can be kept in memory and data in SSD. 

Redis isn't a distributed database as Aerospike is - it requires application-side sharding 
(which becomes a bit of a clustering and horizontal scaling nightmare) or a separate proxy, 
which often ends up being the bottleneck. 

Redis不是分布式数据库,需要做应用端分片 ,水平扩容复杂
如果使用代理 ,代理容易成为瓶颈

Redis does not have a clustering solution officially released. 


In Aerospike a client can connect to any node of the cluster, 
and the first things it does is ask for the IPs of the other nodes, and the partition map. 
Knowing the partition map, a client can go directly to the correct node for any operation. 
It also keeps track of changes to the cluster. 
There is no front controller, no proxy, no name node, no 'master'. 

分区表 直接于节点通讯
不需要 前端控制器 代理  主节点

http://www.aerospike.com/docs/architecture/data-distribution.html 
http://www.aerospike.com/docs/architecture/clustering.html 

Aerospike is record level ACID compliant which is true for most of the No-SQL databases.
Aerospike is designed for clustered environment,
Built for horizontal scaling,
Supports data balancing(Automic/Manual),
Auto sharding – application level or transparent to end user.

Clustering or lets call it Auto Clustering. 
Add a node and bring it within cluster happens in <100 ms. 
It is implemented using Paxos Algorithm.

What is is Paxos algorithm?
http://www.quora.com/Distributed-Systems/What-is-a-simple-explanation-of-the-Paxos-algorithm


https://www.aerospike.com/when-to-use-aerospike-vs-redis/

As many have discovered, persistence in Redis – via snapshots and append-only files – can reduce performance and even lead to data loss.

上一篇     下一篇
redis使用简介

redis基本操作

redis复杂嵌套数据结构处理

Redis HyperLogLog 使用

git回退到之前的版本

git合并处理