前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSDB基础

SSDB基础

作者头像
franket
发布2022-04-23 18:29:21
1.1K0
发布2022-04-23 18:29:21
举报
文章被收录于专栏:技术杂记

前言

ssdb 是一个高性能支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.

它与Redis相比具备明显优势的一个特性就是基于硬盘存储,所以它支撑的数据量不会因为内存的限制而受约束。

至于性能,由于存取效率一部分取决于硬盘的IOPS,所以官网给的benchmark结果应该是极高IOPS的硬盘(比如固态硬盘)上测试出的结果,有人在正常环境下做过测试,实际效率是redis的42%~57%,CPU负载要高出一倍,并发效率也与redis有明显差距,详细可以参考 redis和ssdb读取性能对比

虽然SSDB效率上不如REDIS,但基于磁盘存储有着其最大的优势,毕竟很多业务数据远超过服务器内存的容量,即便不超过,相较硬盘,内存也要贵很多,所以时间与空间的取舍就取决于具体的应用场景了

下面分享一下 ssdb 的基本操作,详细可以参阅 官方文档

Tip: 目前官方版本是 SSDB 1.9.2


概要


下载和安装

使用下面的方法进行安装

代码语言:javascript
复制
wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
unzip master
cd ssdb-master
make
sudo make install

安装过程

代码语言:javascript
复制
[root@h101 src]# wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
--2015-11-24 19:36:34--  https://github.com/ideawu/ssdb/archive/master.zip
Resolving github.com... 192.30.252.130
Connecting to github.com|192.30.252.130|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/ideawu/ssdb/zip/master [following]
--2015-11-24 19:36:35--  https://codeload.github.com/ideawu/ssdb/zip/master
Resolving codeload.github.com... 192.30.252.147
Connecting to codeload.github.com|192.30.252.147|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: “master.zip”

    [                                                                                                     <=>

2015-11-24 19:37:19 (33.7 KB/s) - “master.zip” saved [1460288]

[root@h101 src]# ll master.zip 
-rw-r--r-- 1 root root 1460288 Nov 24 19:37 master.zip
[root@h101 src]# 
[root@h101 src]# unzip master.zip 
Archive:  master.zip
9497637f54da00f364e310de42000284545cfebe
   creating: ssdb-master/
  inflating: ssdb-master/.gitignore  
  inflating: ssdb-master/ChangeLog   
  inflating: ssdb-master/Dockerfile  
  inflating: ssdb-master/LICENSE     
  inflating: ssdb-master/Makefile    
  inflating: ssdb-master/README.md 
...
...
   creating: ssdb-master/tools/ssdb_cli/
  inflating: ssdb-master/tools/ssdb_cli/cluster.cpy  
  inflating: ssdb-master/tools/ssdb_cli/exporter.cpy  
  inflating: ssdb-master/tools/ssdb_cli/flushdb.cpy  
  inflating: ssdb-master/tools/ssdb_cli/importer.cpy  
  inflating: ssdb-master/tools/ssdb_cli/util.cpy  
  inflating: ssdb-master/tools/unittest.php  
 extracting: ssdb-master/version     
[root@h101 src]# 
[root@h101 src]# ll ssdb-master/
total 4912
drwxr-xr-x 6 root root    4096 Nov 23 20:34 api
-rw-r--r-- 1 root root     671 Nov 24 19:41 build_config.mk
-rwxr-xr-x 1 root root    3468 Nov 23 20:34 build.sh
-rw-r--r-- 1 root root    4831 Nov 23 20:34 ChangeLog
drwxr-xr-x 6 root root    4096 Nov 23 20:34 deps
-rw-r--r-- 1 root root     971 Nov 23 20:34 Dockerfile
drwxr-xr-x 2 root root    4096 Nov 23 20:34 docs
-rw-r--r-- 1 root root    1470 Nov 23 20:34 LICENSE
-rw-r--r-- 1 root root    1573 Nov 23 20:34 Makefile
-rw-r--r-- 1 root root    4412 Nov 23 20:34 README.md
drwxr-xr-x 6 root root    4096 Nov 24 19:41 src
-rwxr-xr-x 1 root root     946 Nov 23 20:34 ssdb.conf
-rwxr-xr-x 1 root root 4950089 Nov 24 19:40 ssdb-server
-rwxr-xr-x 1 root root     705 Nov 23 20:34 ssdb_slave.conf
drwxr-xr-x 3 root root    4096 Nov 24 19:40 tools
drwxr-xr-x 2 root root    4096 Nov 24 19:40 var
drwxr-xr-x 2 root root    4096 Nov 24 19:40 var_slave
-rw-r--r-- 1 root root       6 Nov 23 20:34 version
[root@h101 src]# 
[root@h101 src]# cd ssdb-master/
[root@h101 ssdb-master]# make 

##### building snappy... #####
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
...
...
g++ -o ssdb-repair ssdb-repair.o ../src/net/link.o ../src/net/fde.o ../src/util/log.o ../src/util/bytes.o   --1.18/libleveldb.a" "/usr/local/src/ssdb-master/deps/snappy-1.1.0/.libs/libsnappy.a" "/usr/local/src/ssdb-mas
g++ -o leveldb-import leveldb-import.o ../src/net/link.o ../src/net/fde.o ../src/util/log.o ../src/util/byteseveldb-1.18/libleveldb.a" "/usr/local/src/ssdb-master/deps/snappy-1.1.0/.libs/libsnappy.a" "/usr/local/src/ss
g++ -o ssdb-migrate ssdb-migrate.o ../api/cpp/libssdb-client.a ../src/util/libutil.a
make[1]: Leaving directory `/usr/local/src/ssdb-master/tools'
[root@h101 ssdb-master]# echo $?
0
[root@h101 ssdb-master]# make install 
mkdir -p /usr/local/ssdb
mkdir -p /usr/local/ssdb/_cpy_
mkdir -p /usr/local/ssdb/deps
mkdir -p /usr/local/ssdb/var
mkdir -p /usr/local/ssdb/var_slave
cp -f ssdb-server ssdb.conf ssdb_slave.conf /usr/local/ssdb
cp -rf api /usr/local/ssdb
cp -rf \
		tools/ssdb-bench \
		tools/ssdb-cli tools/ssdb_cli \
		tools/ssdb-cli.cpy tools/ssdb-dump \
		tools/ssdb-repair \
		/usr/local/ssdb
cp -rf deps/cpy /usr/local/ssdb/deps
chmod 755 /usr/local/ssdb
chmod -R ugo+rw /usr/local/ssdb/*
rm -f /usr/local/ssdb/Makefile
[root@h101 ssdb-master]#

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 概要
    • 下载和安装
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档