• 2014-04-12

    SSDB 数据库如何换用 rocksdb 引擎?

    Views: 48670 | 9 Comments

    SSDB 数据库使用的是 Google 的 leveldb 作为存储引擎, Facebook 基于 leveldb 改造的 rocksdb 据说在某些场景中更好, 所以, 有不少朋友考虑把 SSDB 中的 leveldb 引擎换成 rocksdb. 这是可以的, 而且改动比较小.

    1. 首先, 你需要修改 build.sh 文件, 修改

    LEVELDB_PATH="$BASE_DIR/deps/leveldb-1.14.0"
    

    指向 rocksdb 的目录.

    Continue reading »

    Posted by ideawu at 2014-04-12 12:25:32 Tags: ,
  • 2014-03-05

    SSDB NoSQL 数据库引擎介绍

    Views: 43009 | 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: ,
  • 2013-12-19

    SSDB 支持 TTL 过期机制

    Views: 59757 | 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-11

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

    Views: 44865 | 16 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: 41442 | 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: , ,
  • 2013-10-23

    SSDB 增加 zrank, zrange 命令

    Views: 50958 | 6 Comments

    Zrank/zrrank 命令是 zset 数据结构的一个特有命令, 用于求某个元素在集合中的排序名次. 对于 Redis 来说, 数据都在内存里, 而且是排序的, 所以求元素的排名(indexOf)可以很快, 但因为 SSDB 的数据主要在硬盘中, 所以, 求排序名次可不是那么简单.

    基于这个考虑, SSDB 原来并不支持 zrank 命令. 但 zrank 命令的需求还是有的, 经过考虑, 所以在 1.6.3 版本中增加了 zrank 命令.

    不过, 使用这个命令应该是在离线环境中, 而不能是在线上生产环境中, 因为 zrank 的实现是通过遍历数据(相当于全表扫描).

    另外, SSDB 还增加了 zrange/zrrange 命令, 相当于数组的 slice 操作或者 MySQL 的 limit 操作. 和 zrank 类似, zrange 也是通过表扫描来实现的, 只要 offset 越大, 速度就越慢. 所以, 在 offset 小于 200 时, 可以在线上生产环境使用, 否则最好是离线环境中使用.

    Posted by ideawu at 2013-10-23 13:05:07 Tags: , , ,
|<<<1234>>>| 1/4 Pages, 24 Results.