您现在的位置: 晨光科技 >> 文章 >> 行业研究 >> IT >> 正文  
  SSDB         
SSDB
[ 作者:佚名    转贴自:http://ssdb.io/zh_cn/    点击数:53    更新时间:2018/1/4    文章录入:LA ]
[注:本站登载的某些文章并不代表本站支持或反对其观点或肯定其真实性]

SSDB
一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.

SSDB 是稳定的, 生产环境使用的, 已经在许多互联网公司得到广泛使用, 如奇虎 360, TOPGAME.

 View on GitHub

特性

SSDB vs Redis

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

PHP 使用

require_once('SSDB.php');
$ssdb = new SimpleSSDB('127.0.0.1', 8888);
$resp = $ssdb->set('key', '123');
$resp = $ssdb->get('key');
echo $resp; // output: 123

安装


wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
unzip master
cd ssdb-master
make
# optional, install ssdb in /usr/local/ssdb
sudo make install


启动


# start master
./ssdb-server ssdb.conf

# or start as daemon
./ssdb-server -d ssdb.conf
性能
性能数据使用 ssdb-bench(SSDB) 和 redis-benchmark(Redis) 来获取.

 

 

SSDB 和 Redis 的优缺点各位哪些?

https://www.zhihu.com/question/40733101

孙竟
SSDB 我没用过,但读了源码,发现 sorted set 的实现很低效,主要是依赖 leveldb 会按 key 来排序的特性。而我的使用场景大量依赖 sorted set ,所以就放弃了。不过今天去看 Benchmark · siddontang/ledisdb Wiki · GitHub 的时候,发现主要是 zrevrange 和 zrevrangebyscore 特别慢,而 zrange 和 zrangebyscore 还能接受。其中,LedisDB with lmdb 的性能似乎很好,值得尝试;但不排除测试时数据量小,只读写了内存的可能性。至于优缺点,SSDB / LedisDB 的优点是对内存的需求小,是个较便宜的方案。不差钱的话,Redis 在性能、稳定性和社区上都更加优秀。

作者:孙竟
链接:https://www.zhihu.com/question/40733101/answer/88057574
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


Loen
项目用有用ssdb 性能还不错上面是ssdb与redis的性能对比
PHP有中文说明书:SSDB PHP 客户端 API 文档_SSDB API文档
SSDB1.9.3下载地址:https://github.com/ideawu/ssdb/archive/master.zip

 


ssdb主要看中的是和Redis兼容,这样不用改源码,就可以换个存储引擎了。基于Redis先驱开发的存储有aerospike,vedis,ssdb,解决了多语言多线程分布式环境下快速存储问题,比mysql传统数据库要快,有的和redis协议兼容,方便更换存储引擎。随着工业化生产及技术更新换代,内存会越来越便宜越来越便宜,现在有支持24TB内存的cpu。内存计算是必然出现的,随着容易的提高,未来发展空间很大,因为内存是离cpu最近的存储,速度比外部存储要快得多。ssdb主要是可以把存储不下的持久化到硬盘,解决Redis容量有限问题,如果你在生产系统中,内存不够,是要人命的。

作者:find goo
链接:https://www.zhihu.com/question/40733101/answer/128843708
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

吕飞
我的项目用了ssdb。一般情况下性能还不错,但是数据量大了之后容易出现慢查询。下面是单线程批量插入数据的慢日志: w:0.071,p:54624.628, req: multi_set 1:7270a5848dd162d6f2a80f801af509ee [10751] 1:7270a7637feb3578f6a2c814e2ec4bf1 [10751] [196 more...], resp: ok 100以上原因是leveldb 在持续写入大量数据后会降低写入速度,最后甚至停止写入。在使用ssdb 的过程中还碰到一个问题,ssdb没有能够有限的使用内存缓存数据,导致多次查询相同数据出现慢查询。这种现象主要集中在数据量大,或者第一层数据较多的情况。总体来说ssdb现在不能很好的用起来,出现慢查询我也不能有限的解决。

作者:吕飞
链接:https://www.zhihu.com/question/40733101/answer/117150076
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

李竟成
Redis冷热交换存储。http://github.com/JRHZRD/swapdb
作者:李竟成
链接:https://www.zhihu.com/question/40733101/answer/270737849


redis是内存数据库,ssdb是面向硬盘的存储,二者在存储格式和读写方式上有着根本的不同。前面回答里提到的zrevrange 和 zrevrangebyscore慢,而zrange 和 zrangebyscore 还能接受,其实就是说逆序遍历比顺序遍历慢得多,其根本原因就在于逆序遍历的时候,会多一个“记录头部”定位的过程,需要不断尝试去定位到两条记录的“分界点”,而顺序遍历的时候则不需要,因为读完一条记录直接就到了下一条记录的“分界点”,并且像rocksdb之类的存储引擎都会把数据长度保存在记录的元信息里,只需要按长度读取数据就可以了。redis则不存在类似问题,因为它是完全基于指针和偏移量在内存中进行寻址来读取数据的,寻址效率高了好多个数量级。ssdb貌似就是一个个人项目,但代码质量还是不错的,整个设计思想比较简洁。ssdb的主从复制效率很低。binlog和数据是分开存储的,日志冗余较多,由于ssdb本身要在多线程条件下才能发挥出更好的性能,为了使多个线程在写入binlog时能保证操作顺序和原子性,ssdb的binlog数据结构上用了一把全局锁,可想而知,这里的锁竞争会很影响性能。另外,ssdb默认也没有集群管理的支持。ssdb的好处,和swapdb(http://github.com/JRHZRD/swapdb)一样,都可以省钱。如果有需要,可以尝试swapdb,它结合了redis和ssdb的优点,实现了基于LFU的热度统计和冷热交换,做到了低成本和高性能的高平衡。redis的好处,那就多了。缺点就是纯内存,比用SSD花钱。


知乎用户
山寨架构师
1 人赞同了该回答
SSDB还不是成熟的开源项目,社区不够活跃,贡献者不多;
主要开发人员也非常忙, 项目的后续发展没有规划;
因为一些原因,舍弃了很多重要的功能,比如没法查询命中率;
等等。


Baristas
后台研发工程师
看了看ssdb存储引擎的原理,发现ssdb还是比较适合读取少写入多的场景的,底层用的levedb存储引擎,写入时候第一步记录到日志中,就可以保证数据不丢失,也可以算作写入成功,存储方式使用LSM树,以memtab为存储单位,内部使用skiplist的数据结构,在memtab达到条件进行落盘,落盘以数据写入新鲜度划分为level0,level1......越是新写入的数据查询越快,因为查询是先查询内存中的memtab,找不到查询level0,level1......顺序查询下去,在短时间内数据量很大情况下,很快会达到落盘要求,那么查询很可能就会去读取磁盘中数据,比较慢,个人理解,有误方面还请指出


tommy
攻城狮
测试下来性能非常的差,不建议生产环境使用ssdb


邵万博
童话镇的造梦师
ssdb对windows用户不友好,官方的解决方案竟然是..让用户装linux虚拟机?

  • 上一篇文章: Redis

  • 下一篇文章: HBase
  •    
    [注:标题搜索比内容搜索快]
    发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • TEMP[126]

  • SAE001[93]

  • 高光谱成像基本原理[68]

  • 蒸汽火车解剖图[79]

  • 星球大战死星解剖图集 star wa…[86]

  •  
     最新5篇推荐文章
  • 外媒:正在唤醒中国的习近平[340]

  • 中国反伪科学运动背后的CIA黑手…[517]

  • [转载]袁隆平真言:中国最大的…[698]

  • 台专家:当年我们造IDF时 大陆…[591]

  • 旅日华人:中国严重误判日本民…[596]

  •  
     相 关 文 章
    没有相关文章

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    版权所有 Copyright© 2003 晨光科技        站长:璀璨星辰        页面执行时间:437.50毫秒
    Powered by:MyPower Ver3.5