返回 登录
0

riserdb存储介绍(一)

汪雨田,现就职于暴风影音,负责后端的研发工作,平时专注于nosql,分布式的研究,热爱传统文化以及中医学, 热爱工作在代码的田间地头。

  1. riser概述
    基于leveldb的开发的key/value存储服务,实现了redis部分协议,分别包括 set,setex,get,mget,mset,delete,keys,exists,close,ttl,auth,randomkey. 以及主从复制功能。在第一个1.0的版本中功能简单,只支持memcache协议,可维护性差,在现有的2.0版本中,对数据的备份,维护性增强。现已经运行于公司的推荐服务中,运行10个月。

  2. 性能测试
    1). 写性能达到6w,见图:
    图片描述
    2). 读性能
    图片描述

  3. 与ssdb对比
    优点: riserdb在高并发的时候,占用资源少,实例: 在公司的一个业务中,以前使用了ssdb,每天高并发的时候,总会收到服务器的报警信息,检查服务器ssdb占用cpu和内存使用率上比较高。在一个周五的上午,把其中2台服务器换成riserdb后,此2台服务器就安静了。
    缺点: 功能没ssdb多,有时间和机会会增加扩展

  4. 下载,安装以及启动
    下载可以进入: https://github.com/oceanwavewyt/riser/
    安装更简单: ./install {$path}
    进入安装的目录: ./riser-server -c riser.conf -d
    (-d 参数 设置为daemon方式运行)

  5. 配置文件,介绍几个参数
    leveldb_db_path: 数据库的跟目录
    leveldb_db_name: 数据库名称
    leveldb_target_file_size_mb: 数据文件大小(最大设置为128M),大了不稳定
    auth:认证字符串
    slaveof_ip: master服务器的IP
    slaveof_port: master服务器端口
    master_auth: 主从复制认证

  6. 在安装目录提供了链接客户端
    ./riser-cli [-h ip] [-p port]

第二部分中准备介绍一下主从复制的原理。有问题大家一起探讨。

评论