码迷,mamicode.com
首页 > 数据库 > 详细

大数据学习总结记录—SSDB

时间:2017-11-25 23:42:40      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:社区   推荐   image   sha   and   比较   排序   arch   ora   

SSBD

简介:一个高性能的支持丰富数据结构的 NoSQL 数据库, 可用于替代 Redis.

详情:SSDB 是一个 C++ 开发的 NoSQL 数据库, 使用 Google 公司开源的 LevelDB 引擎作为底层的存储引擎. Redis 是一个 C 语言开发的内存 NoSQL 数据库。SSDB 采用 New BSD License 许可协议, 一个非常宽松灵活的协议,支持主从复制, 负载均衡。

为什么要替代Redis

Redis 非常流行, 不仅仅是因为其高性能和可持久化的特点, 还因为它支持丰富的数据结构, 能很好的表达业务模型. Redis 的国内属新浪应用比较广泛.但是, Redis 的缺点也很明显, 那就是它的内存数据库模型. 所有数据都存在内存中, 即使最有钱的互联网公司, 也没法承受 $5000 (一台服务器, 100G 内存)固定成本, 以及持续不断的 IDC 租金成本来存储区区的 50GB 的数据, 这个成本太高了!

SSDB优点

SSDB 拥有 Redis 的主要优点 - 高性能, 丰富数据结构, 并且拥有 Redis 所不具备的能力 - 大数据存储能力. SSDB 服务器的单机存储能力是 Redis 的 100 倍! 因为 SSDB 能将数据存储在硬盘中.在使用 SSDB 自带的 ssdb-bench 工具, 以及 Redis 自带的 redis-benchmark 工具在相同机器上的测试中, SSDB 的读性能完全超过了 Redis, 这非常出乎意料. 不过, SSDB 的写性能还是比 Redis 慢了 10% 左右. 要知道, SSDB 是一个硬盘数据库, 而 Redis 是内存数据库, 后者写性能高一些是可以理解的.

特性

  • 替代 Redis 数据库, Redis 的 100 倍容量
  • LevelDB 网络支持, 使用 C/C++ 开发
  • Redis API 兼容, 支持 Redis 客户端
  • 适合存储集合数据, 如 list, hash, zset...
  • 客户端 API 支持的语言包括: C++, PHP, Python, Java, Go
  • 持久化的队列服务
  • 主从复制, 负载均衡

技术分享图片

根据数据进行分析 访问越多ssdb的读操作要略优于redis的都操作,然而写操作则比redis少10%左右

但是由于SSDB的存储是对内存的需求小,容量大,相比redis要省钱,而且存储服务是支持队列,所以在都操作高于写操作的业务选择中SSDB是个较便宜的方案

SSDB架构

主从搭建

主机:

server:

ip: 192.168.31.128

port: 8888

从机:

server:

ip: 192.168.31.128

port: 8889

readonly: yes

    replication:

binlog: yes

slaveof:

   id: svc_1

type: sync

host: 192.168.31.128

port: 8888

主-主 双主搭建

主1

server:

ip: 192.168.31.128

port: 8888

replication:

slaveof:

type: mirror

host: 192.168.31.128

port: 8889

主2

server:

ip: 192.168.31.128

port: 8889

replication:

slaveof:

type: mirror

host: 192.168.31.128

port: 8888

SSDB 为何可以替代Redis?

SSDB是一个C/C++语言开发的高性能开源NoSQL数据库服务器,支持Key-value, Keyhashmap, Key-zset(sorted set) 等数据结构(跟redis很类似),十分适合存储数亿条级别的列表, 排序表等集合数据, 是Redis的替代和增强方案。

SSDB 和Redis在使用上有什么区别?

SSDB 是一款不错的 NOSQL 数据库实现,其丰富的接口和友好的使用对于特定使用场景非常不错,但是因为持久性和存储引擎天然的劣势情况下,并不适合对于持久性要求高或者随机操作频繁的业务。至于替代 Redis 的情况,在多节点情况下,Redis 的持久性更加好,而 Redis 的高性能更是 SSDB 无法达到的,SSDB 替代 Redis 的场景应该不会太多。推荐将 SSDB 用于监控应用、非持久消息队列和顺序操作的缓存服务,也就是容许数据丢失或者阴影读(shadow read)。

SSDB和Redis优缺点比对

优点:SSDB 对内存的需求小,是个较便宜的方案。
   不差钱的话,Redis 在性能、稳定性和社区上都更加优秀
缺点:SSDB 实现很低效,主要是依赖 leveldb 会按 key 来排序的特性
   Redis 测试时数据量小,只读写了内存的可能性

SSDB常规指令集参考:http://ssdb.io/docs/zh_cn/commands/index.html

SSDB源码分析 – 主从和多主同步原理解析:(http://www.ideawu.net/blog/archives/849.html)

SSDB: Redis 的替代(http://www.wzxue.com/ssdb/)

 

大数据学习总结记录—SSDB

标签:社区   推荐   image   sha   and   比较   排序   arch   ora   

原文地址:http://www.cnblogs.com/jack4738/p/7896906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!