当前位置:网站首页>SSDB基础
SSDB基础
2022-04-23 18:54:00 【franket】
前言
ssdb 是一个高性能支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.
它与Redis相比具备明显优势的一个特性就是基于硬盘存储,所以它支撑的数据量不会因为内存的限制而受约束。
至于性能,由于存取效率一部分取决于硬盘的IOPS,所以官网给的benchmark结果应该是极高IOPS的硬盘(比如固态硬盘)上测试出的结果,有人在正常环境下做过测试,实际效率是redis的42%~57%,CPU负载要高出一倍,并发效率也与redis有明显差距,详细可以参考 redis和ssdb读取性能对比
虽然SSDB效率上不如REDIS,但基于磁盘存储有着其最大的优势,毕竟很多业务数据远超过服务器内存的容量,即便不超过,相较硬盘,内存也要贵很多,所以时间与空间的取舍就取决于具体的应用场景了
Tip: 目前官方版本是 SSDB 1.9.2
概要
下载和安装
使用下面的方法进行安装
wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
unzip master
cd ssdb-master
make
sudo make install
安装过程
[[email protected] 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]
[[email protected] src]# ll master.zip
-rw-r--r-- 1 root root 1460288 Nov 24 19:37 master.zip
[[email protected] src]#
[[email protected] 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
[[email protected] src]#
[[email protected] 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
[[email protected] src]#
[[email protected] src]# cd ssdb-master/
[[email protected] 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'
[[email protected] ssdb-master]# echo $?
0
[[email protected] 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
[[email protected] ssdb-master]#
版权声明
本文为[franket]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1986135
边栏推荐
- Tencent map and high logo removal method
- 视频边框背景如何虚化,简单操作几步实现
- How can programmers quickly develop high-quality code?
- Simple use of viewbinding
- mysql_linux版本的下载及安装详解
- 实战业务优化方案总结---主目录---持续更新
- 中金财富怎么样?在上边开户安全吗
- After opening the original normal project, the dependency package displays red and does not exist.
- ctfshow-web361(SSTI)
- iptables初探
猜你喜欢
ctfshow-web362(SSTI)
After opening the original normal project, the dependency package displays red and does not exist.
Machine learning theory (7): kernel function kernels -- a way to help SVM realize nonlinear decision boundary
七、DOM(下) - 章节课后练习题及答案
【历史上的今天】4 月 23 日:YouTube 上传第一个视频;网易云音乐正式上线;数字音频播放器的发明者出生
视频边框背景如何虚化,简单操作几步实现
How to virtualize the video frame and background is realized in a few simple steps
ESP32 LVGL8. 1 - slider slider (slider 22)
[mathematical modeling] - analytic hierarchy process (AHP)
MVVM模型
随机推荐
2022.04.23(LC_763_划分字母区间)
配置iptables
MVVM模型
Use stm32cube MX / stm32cube ide to generate FatFs code and operate SPI flash
std::stoi stol stoul stoll stof stod
Database computer experiment 4 (data integrity and stored procedure)
WebView saves the last browsing location
Esp32 (UART event) - serial port event learning (1)
迁移学习进阶
Treatment of incomplete display of listview height
Machine learning practice - naive Bayes
Redis common interview questions
On iptables
Loop path
简化路径(力扣71)
WebView opens H5 video and displays gray background or black triangle button. Problem solved
Sentinel service fusing practice (sentinel integration ribbon + openfeign + fallback)
深入理解 Golang 中的 new 和 make 是什么, 差异在哪?
C: generic reflection
ESP32 LVGL8. 1 - roller rolling (roller 24)