• 转:SSDB:快速取代redis的nosql


    原文来自于:http://hao.jobbole.com/ssdb%EF%BC%9A%E5%BF%AB%E9%80%9F%E5%8F%96%E4%BB%A3redis%E7%9A%84nosql/

    SSDB是一个开源的高性能数据库服务器, 使用Google 的 LevelDB作为存储引擎, 大家有可能没听过leveldb的名字,但是淘宝的开源nosql tair大家应该有所耳闻吧,他也是基于leveldb做的开发。ssdb支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 是一个可以代替Redis的方案.

    SSDB 的主要特点:

    支持 zset, map 数据结构, 可替代 Redis

    特别适合存储大量集合数据

    使用 Google LevelDB 作为存储引擎

    支持主从同步, 多主同步

    客户端支持 PHP, C++, Python, Lua, Java, Ruby, nodejs, Go 等

    内存占用极少

    php客户端使用实例

    1
    2
    3
    4
    5
    6
    <?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

    编译安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $ 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 command line
    $ ./tools/ssdb-cli -p 8888
     
    # stop ssdb-server
    kill `cat ./var/ssdb.pid`

    性能

    一千个请求

    1
    2
    3
    4
    writeseq  :    0.546 ms/op      178.7 MB/s
    writerand :    0.519 ms/op      188.1 MB/s
    readseq   :    0.304 ms/op      321.6 MB/s
    readrand  :    0.310 ms/op      315.0 MB/s

    ssdb  对比 redis

    687474703a2f2f7777772e6964656177752e636f6d2f737364622f737364622d76732d72656469732e706e673f676974687562 (1)

    并发访问指标

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ========== set ==========
    qps: 44251, time: 0.226 s
    ========== get ==========
    qps: 55541, time: 0.180 s
    ========== del ==========
    qps: 46080, time: 0.217 s
    ========== hset ==========
    qps: 42338, time: 0.236 s
    ========== hget ==========
    qps: 55601, time: 0.180 s
    ========== hdel ==========
    qps: 46529, time: 0.215 s
    ========== zset ==========
    qps: 37381, time: 0.268 s
    ========== zget ==========
    qps: 41455, time: 0.241 s
    ========== zdel ==========
    qps: 38792, time: 0.258 s

    架构

    687474703a2f2f7777772e6964656177752e636f6d2f737364622f737364622e706e67

    github地址https://github.com/ideawu/ssdb

  • 相关阅读:
    双机调试环境部署
    VC++中通过MultiByteToWideChar将string|char*转换为wstring|wchar_t*
    Unicode环境下的类型转换
    SQL调优日记之发挥SQL性能与你的写法有关--对比三种方式实现相同功能
    从MS SQL删除大数据说开去
    Microsoft SQL Server Reporting Services (SSRS)报表技巧之在图表中增加参考线
    想个法子找出性能差的SQL
    MS SQL,数据库增长时众多表中谁是你关注的目标
    TSQL 日期处理总结
    投入.NET,我的第一篇BLOG
  • 原文地址:https://www.cnblogs.com/guoyongrong/p/4015259.html
Copyright © 2020-2023  润新知