转: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

并发访问指标


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

架构

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

时间: 2024-07-31 14:26:40

转:SSDB:快速取代redis的nosql的相关文章

半小时快速了解redis,基于ubuntu 12.04 + redis 2.8.9

一.什么是redis ? 其官方介绍是: Redis is what is called a key-value store, often referred to as a NoSQL database. Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server sincekeys can contain strings, 

快速掌握Redis——第六招:持久化 (数据备份与恢复)

1 何为持久化 redis 是内存数据库,掉电会丢失,转移数据不便.持久化就是内存数据到硬盘数据的转化. 当然,也可以硬盘到内存(备份的概念,保存,恢复). 2 怎么实现 两种方法:快照方式(rdb)+日志方式(aof) 快速+最大化redis性能+方便:rdb 模式 更持久:aof 模式 建议:合理的同时使用这两种方式. 2.1 rdb 快照模式 Snapshotting (快照) 语法 快照是默认的持久化方式(内存全拷贝).这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件

Docker快速构建Redis集群(cluster)

Docker快速构建Redis集群(cluster) 以所有redis实例运行在同一台宿主机上为例子 搭建步骤 redis集群目录清单 . ├── Dockerfile ├── make_master_slave.sh ├── run_master_slave.sh ├── compose_master_slave.sh ├── redis-trib.rb ├── master │?? ├── 7000 │?? │?? ├── data │?? │?? │?? ├── appendonly.ao

全内存的redis用习惯了?那能突破内存限制类似redis的nosql产品ssdb呢?

首先说一下背景,在双十一的时候,我们系统接受X宝的订单推送,同事原先的实现方式是使用redis的List作为推送数据的承载,在非大促的场景下, 一切运行正常,内存占用大概3-4G,机器是16G内存.由于提前预计不足,在双十一来临的时候,订单瞬时量达到了平时的10X倍,内存非常吃紧,情况算 是非常紧急了,采取的临时解决方案就是再开一个redis,将程序中的redis地址指向这台新的,重启一下程序,把数据暂时引导过去. 一:分析 redis确实是一个好东西,一个如此强大的内存数据结构服务器,全内存存

Spring Data Redis 让 NoSQL 快如闪电(2)

[编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis 当作数据库的用例 现在我们来看看在服务器端 Java 企业版系统中把 Redis 当作数据库的各种用法吧.无论用例的简繁,Redis 都能帮助用户优化性能.处理能力和延迟,让常规 Java 企业版技术栈望而却步. 1. 全局唯一增量计数器 我们先从一个相对简单的用例开始吧:一个增量计数器,可显示某网

Redis、NoSQL

NoSQL  非关系型数据库(大数据) 高并发读写对传统的关系型数据库效率低 海量数据高效的存储和访问 需要高可扩展性和高可用性. 特点:易存储,灵活的数据模型,大数据量,高性能,高可用 存储的四大类型 1.键值对  redis  快速查询,但是存储数据缺少结构化 2.列存储  hbase 快速查询,扩展性强,但是功能局限 3.文档数据库 magodb 4.图形数据库 Redis:高性能键值对数据库 五大类型 字符串 字符串集合 哈希 list  ArrayList(数组),LinkedList

MongoDB、Hbase、Redis等NoSQL优劣势、应用场景

NoSQL的四大种类 NoSQL数据库在整个数据库领域的江湖地位已经不言而喻.在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐渐力不从心,无法应对很多数据库处理任务,这时NoSQL凭借易扩展.大数据量和高性能以及灵活的数据模型成功的在数据库领域站稳了脚跟. 目前大家基本认同将NoSQL数据库分为四大类:键值存储数据库,文档型数据库,列存储数据库和图形数据库,其中每一种类型的数据库都能够解决关系型数据不能解决的问题.在实际应用中,NoSQL数据库的分

快速搭建Redis缓存数据库

之前一篇随笔——Redis安装及主从配置已经详细的介绍过Redis的安装于配置.本文要讲的是如何在已经安装过Redis的机器上快速的创建出一个新的Redis缓存数据库. 一.环境介绍 1) Linux版本:Red Hat Enterprise Linux Server release 6.1 (Santiago) 2) Redis版本:Redis 2.6.16  64 bit 3) Redis安装路径:/usr/local/webserver/redis 二.安装步骤 1) 将/usr/loca

redis等NoSql数据库

====================================1.什么是NoSql,都包括哪些================================== ========================2.传统数据库与NoSql数据库=============================== 2.1传统数据库ACID 2.2NoSql数据库 CAP(三个最多满足二个条件) ===================3.redis.conf常用配置===============