SSDB:可用于替代Redis的高性能NoSQL数据库

过往记忆 过往记忆大数据
SSDB 是一个使用 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据。实现上其使用了 Google 的 LevelDB作为存储引擎,SSDB 不会像 Redis 一样狂吃内存,而是将大部分数据存储到磁盘上。最重要的是,SSDB采用了New BSD License 开源协议进行了开源,目前已经在许多互联网公司得到广泛使用, 如奇虎 360, TOPGAME等。其有以下几个特点:

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

    架构


如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop
从上面可以看到,SSDB使用了 LevelDB Storage引擎来读写内存或磁盘中的数据,正因为部分数据被持久化到磁盘,所有其可以存储比 Redis 多很多的数据。

性能

SSDB官方提供了其和 Redis 的QPS性能对比的基准测试,包括了 set\get 操作的测试,并且在不同的并发进行了对比。


如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop
从图中可以看出,不同并发的 SSDB set 操作其性能均比 Redis 稍微差了一点,但是 get 操作要比 Redis 好。

使用

SSDB的安装和使用都非常地简单,并且官方还提供了 C++, PHP, Java, Go等语言的客户端 API 文档,但是只有PHP的文档最全,具体文档地址参见:http://ssdb.io/docs/zh_cn/php/index.html。下面提供了PHP版本的使用示例:

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

更多的使用请参见官方文档。

从Redis迁移到SSDB

官方提供了一个工具将 Redis 中的数据迁移到 SSDB,使用如下:

php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port
各参数的含义:

  • redis_host: Redis 运行所在的 IP 或者主机名
  • redis_port: Redis 监听的端口
  • redis_db: Redis 的 DB 编号
  • ssdb_host: SSDB 运行所在的 IP 或者主机名
  • ssdb_port: SSDB 监听的端口
    更多的关于 SSDB 和 Redis 的兼容问题可以参见:http://ssdb.io/docs/zh_cn/redis-to-ssdb.html
©著作权归作者所有:来自51CTO博客作者mob604756f47778的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 图解数据分析
  2. 后来,我去了拼多多,做了数据分析师。
  3. 说说心里话
  4. Wireshark分析艺术【读书总结】
  5. 如何去使用Python分析股票数据?学到就是赚到
  6. Spark 2.0介绍:Catalog API介绍和使用
  7. 下一代大数据处理平台Apache Beam成为Apache顶级项目
  8. Apache CarbonData 1.0.0发布及其新特性介绍
  9. Kubernetes 稳定性保障手册 -- 可观测性专题

随机推荐

  1. 全志A64 Android7.1屏蔽使用按键进入安全
  2. android应用中去掉标题栏的方法
  3. Android下如何防止横竖屏切换的时候进度
  4. Linux 命令行更新指定版本 android sdk
  5. 修改应用按键无响应的时间
  6. Installation error: INSTALL_FAILED_VER
  7. Android 开源项目
  8. ImageView的属性android:scaleType,即Imag
  9. Android为每个应用程序分配的内存大小是
  10. Android P 默认壁纸被拉伸