SSDB 和 Redis 的优缺点各有哪些

SSDB的优点:1、大数据存储能力;2、读性能优越;3、比较便宜;SSDB的缺点:1、写性能较差;2、相关教程少;3、主从复制效率很低。Redis的优点:1、数据存储在内存, 读写速度快,性能优异等;Redis 的缺点:1、数据存储在内存,主机断电则数据丢失等。

SSDB 和 Redis 的优缺点各有哪些-Worktile社区

一、SSDB的优点

  1. 大数据存储能力:ssdb是将数据存储在硬盘中,这样就能将数据大量的长久保存。
  2. 读性能优越:在使用 SSDB 自带的 ssdb-bench 工具,以及 Redis 自带的 redis-benchmark 工具在相同机器上的测试中,SSDB 的读性能完全超过了 Redis。
  3. 比较便宜:SSDB 对内存的需求小,是个较便宜的方案。

二、SSDB的缺点

  1. 写性能较差:在使用 SSDB 自带的 ssdb-bench 工具,以及 Redis 自带的 redis-benchmark 工具在相同机器上的测试中,SSDB的写性能还是比 Redis 慢了 10% 左右。
  2. 相关教程少:由于ssdb是一个个人项目,所以相对于redis来说ssdb的一些网上学习资源要少的多。
  3. 主从复制效率很低:binlog和数据是分开存储的,日志冗余较多,由于ssdb本身要在多线程条件下才能发挥出更好的性能,为了使多个线程在写入binlog时能保证操作顺序和原子性,ssdb的binlog数据结构上用了一把全局锁,可想而知,这里的锁竞争会很影响性能。

三、Redis 的优点

  1. 数据存储在内存, 读写速度快,性能优异
  2. 支持数据持久化,便于数据备份、恢复
  3. 支持简单的事务,操作满足原子性
  4. 支持String、List、Hash、Set、Zset五种数据类型,满足多场景需求
  5. 支持主从复制,实现读写分离,分担读的压力
  6. 支持哨兵机制,实现自动故障转移

四、Redis 的缺点

  1. 数据存储在内存,主机断电则数据丢失
  2. 存储容量受到物理内存的限制,只能用于小数据量的高性能操作
  3. 在线扩容比较困难,系统上线时必须确保有足够的空间
  4. 用于缓存时,易出现’缓存雪崩‘,’缓存击穿‘等问题

延伸阅读

SSDB 和 Redis 的区别

redis是内存数据库,ssdb是面向硬盘的存储,二者在存储格式和读写方式上有着根本的不同。前面回答里提到的zrevrange 和 zrevrangebyscore慢,而zrange 和 zrangebyscore 还能接受,其实就是说逆序遍历比顺序遍历慢得多,其根本原因就在于逆序遍历的时候,会多一个“记录头部”定位的过程,需要不断尝试去定位到两条记录的“分界点”,而顺序遍历的时候则不需要,因为读完一条记录直接就到了下一条记录的“分界点”,并且像rocksdb之类的存储引擎都会把数据长度保存在记录的元信息里,只需要按长度读取数据就可以了。redis则不存在类似问题,因为它是完全基于指针和偏移量在内存中进行寻址来读取数据的,寻址效率高了好多个数量级。

文章标题:SSDB 和 Redis 的优缺点各有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34706

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLW的头像Z, ZLW

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部