Cassandra 与 Redis 的对比

总体对比

Cassandra

Cassandra通过列/表的形式来组织数据,使用类SQL语言进行数据操作。Cassandra可以通过对列设置索引的方式提高数据的读取效率。Cassandra采用弱一致性策略,通过牺牲数据一致性来获得性能上的突破。在CAP(Consistency/Availability/Partition Tolerance)三角中主要体现了AP的特性。一般来说,Cassandra在写多于读的业务场景中能够更好地发挥作用。一般在银行、金融等领域使用比较多。

Redis

Redis在实时的大数据量读写方面,效率比Cassandra要高。Redis一般采用内存+磁盘的方式进行数据存储,并通过主-从架构实现横向扩展。与Cassandra相对的,在CAP三角中,Redis主要强调的是CP特性。如果业务需求中有涉及到大量的实时数据读写的,可以考虑使用Redis。由于Redis主要通过内存来保存数据,因此在系统设计过程中应考虑以下问题:

  1. 内存容量问题
  2. 数据丢失的问题

逐项特性对比

 RedisCassandra
适用场景实时读写大数据量并且要求速度很快要求写比读更多的场景
数据结构Key-value结构表结构
操作一般的Key-value操作,不支持范围查询、基于字段的查询等通过CQL操作,可以进行基于列的条件查询
开发语言C/C++Cassandra是用Java开发的
存储基于内存存储,磁盘保存备份基于磁盘存储
其他

redis支持set/list/hash等数据结构

redis支持对集合的逻辑操作

redis支持事务

redis支持很多原子性操作

可以通过设置index,让数据以列或列集合的方式聚集

总结

总体而言,Redis所提供的特性主要是面对在线实时业务的。通过对Redis特性的灵活应用,可以实现诸如分布式锁、分布式信号量、分布式发号机、消息队列等基础服务。在数据服务方面,redis比较适用于读写速度要求高、数据量大、数据具有幂等性的应用场景。

Cassandra的主要应用场景是写入流量大于读取流量的场景。例如:金融交易、支付系统。以及作为数据仓库,收集系统业务数据、定时分析报表生成等场景。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值