• 2014-03-05

    SSDB NoSQL 数据库引擎介绍

    Views: 26135 | 8 Comments

    开源的 SSDB NoSQL 数据库是一个完整的数据库服务器, 可以提供高于 Redis 存储容量 100 倍的存储需求. 日前, 我把 SSDB 数据库的网络部分和数据库引擎部分分离出来, 形成一个独立的 SSDB 数据库存储引擎 Libssdb, 这样, 你的应用包括移动端的 App, 都可以嵌入 SSDB 引擎.

    Libssdb 是对 LevelDB 的封装, 形成了和 Redis 相似的丰富的数据结构和接口, 比纯粹的 KV 存储引擎要更先进, 因为纯 KV 表达业务逻辑的能力非常缺乏.

    在性能上, Libssdb 经过测试, 性能数据和 LevelDB 官网上的数据几乎没有下降. 所以在性能上, 大家可以放心.

    源码下载: https://github.com/ideawu/libssdb

    Posted by ideawu at 2014-03-05 11:32:27 Tags: ,
  • 2014-01-04

    从 Redis 迁移到 SSDB

    Views: 30043 | 10 Comments

    因为越来越多的用户希望从 Redis 迁移到 SSDB, 所以我提供了一个数据迁移的脚本, 用于方便地将 Redis 数据拷贝到 SSDB 中. 这个脚本是一个 PHP 脚本, 所以要求你的环境要安装 PHP, 如果你的应用原来就是 PHP 的, 那当然没有什么问题. 如果是其它语言的用户, 那么就需要安装 PHP 了.

    也许用 C 语言写一个迁移脚本会更好, 但同样需要引入 Redis 的库, 暂时还不想这么做.

    用法:

    php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port
    

    参数:

    • redis_host: Redis 运行所在的 IP 或者主机名
    • redis_host: Redis 监听的端口
    • redis_db: Redis 的 DB 编号
    • ssdb_host: SSDB 运行所在的 IP 或者主机名
    • ssdb_host: SSDB 监听的端口

    详细文档: http://www.ideawu.com/ssdb/docs/zh_cn/redis-to-ssdb.html

    Posted by ideawu at 2014-01-04 13:20:42 Tags: ,
  • 2013-12-19

    SSDB 支持 TTL 过期机制

    Views: 33738 | 22 Comments

    从 SSDB 1.6.7 版本开始, 增加了 Key 过期功能, 可以支持 Key 到期自动删除, 这样, SSDB 就可以作为一个持久化的缓存服务来使用. 该功能和 Redis 的 ttl/expire 一样, 使用方法是:

    $ssdb->setx('key', 'value', 60);
    

    这段代码表示, 设置 key=value, 同时到 60 秒后, 自动删除 key. 需要注意的是, TTL 只支持 KV 数据结构, hash(map) 和 zset 不支持.

    下载 SSDB NoSQL 数据库源码: https://github.com/ideawu/ssdb

    Posted by ideawu at 2013-12-19 13:28:40 Tags: , ,
  • 2013-11-20

    Facebook rocksdb 的网络服务器支持

    Views: 26087 | No Comments

    前几天, 我初探了 Facebook 开源的 rocksdb, 一个据称比 Google leveldb 性能强劲数倍的 KV 存储引擎. 虽然 rocksdb 提供了压测数据, 不过对于 rocksdb 是否名副其实, 以及它在不同的应用场景下有什么特点, 有没有坑, 我还是保留疑问的.

    为此, 需要对我们常见的使用的场景也做压测. 首先, 必须给 rocksdb 封装网络支持, 也即 client-server(C/S) 支持. 我直接使用了 ssdb 的源码, 几乎很少的代码改动就运行起来了. 因为 rocksdb 本来就是基于 leveldb 的, 函数名都几乎一样.

    我直接使用 ssdb 的源码对 rocksdb 进行封装, 也是考虑和原来的 ssdb 做对比. 稍微透露一下, 在空库的条件下测试, rocksdb 作为存储引擎时的性能比使用 leveldb 时有所下降. 不过, rocksdb 的官方测试数据都是在超过 RAM 的大数据场景下测的, 所以接下来, 我还要对各种场景进行测试.

    ssdb-rocks 项目地址: https://github.com/ideawu/ssdb-rocks

    Posted by ideawu at 2013-11-20 00:38:24 Tags: ,
  • 2013-11-11

    SSDB 1.6.6 稳定版发布, 支持 hclear/zclear

    Views: 26038 | 13 Comments

    SSDB 1.6.6 稳定版已经发布了, 这个版本主要的改动如下:

    • 支持 hclear/zclear 命令, 用于清除单个 hashmap/zset.
    • 采用多线程, 写操作和 scan 等可能慢的读操作都放在线程池中执行.

    SSDB 是一个高性能的 NoSQL 数据库, 使用 LevelDB 作为存储引擎, 支持 hashmap/zset 等丰富的列表(集合)数据结构.

    Posted by ideawu at 2013-11-11 10:14:17 Tags: ,
  • 2013-11-06

    SSDB 采用里程碑式版本发布机制

    Views: 23812 | 4 Comments

    从 1.6.4 版本开始, SSDB 采用里程碑式的版本发布机制, 每一个稳定的版本都会作为 git 库中的一个 branch, 而 master 的代码是最新的待发布的代码. 在 github 项目主页, 默认显示的是最新的稳定版本的分支. 目前, 最新的 SSDB 稳定版本是 stable-1.6.4.

    目前, master 上的代码相对 stable-1.6.4 版本, 有了比较大的改动, 加入了多线程支持. 例如, scan 等命令都会在单独的线程中执行, 所以, 即使 scan 非常大的数据, 也不会阻塞别的操作.

    SSDB 是一个 NoSQL 数据库, 兼容 Redis 接口, 存储容量是 Redis 的 100 倍以上, 采用 LevelDB 作为存储引擎. 项目地址: https://github.com/ideawu/ssdb

    Posted by ideawu at 2013-11-06 22:18:21 Tags: , ,
|<<<123456>>>| 1/6 Pages, 35 Results.