当前位置:网站首页>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
边栏推荐
- 机器学习实战 -朴素贝叶斯
- ESP32 LVGL8. 1 - event (event 17)
- Machine learning theory (7): kernel function kernels -- a way to help SVM realize nonlinear decision boundary
- Fundamentals of machine learning theory -- some terms about machine learning
- Introduction to ROS learning notes (I)
- 解决:cnpm : 无法加载文件 ...\cnpm.ps1,因为在此系统上禁止运行脚本
- Sentinel rule persistence into Nacos
- Sentinel规则持久化进Nacos
- 2022.04.23(LC_714_买卖股票的最佳时机含手续费)
- 根据快递单号查询物流查询更新量
猜你喜欢
MVVM模型
PyGame tank battle
Machine learning practice - naive Bayes
解决:cnpm : 无法加载文件 ...\cnpm.ps1,因为在此系统上禁止运行脚本
Résolution: cnpm: impossible de charger le fichier... Cnpm. PS1 parce que l'exécution de scripts est désactivée sur ce système
Esp32 (UART 485 communication) - 485 communication of serial port (3)
Getting started with vcpkg
玻璃体中的硫酸软骨素
Practice of Druid SQL and security in meituan review
根据快递单号查询物流查询更新量
随机推荐
ESP32 LVGL8. 1 - roller rolling (roller 24)
ESP32 LVGL8. 1 - slider slider (slider 22)
Go 语言 GUI 框架 fyne 中文乱码或者不显示的问题
Iptables - L executes slowly
ctfshow-web362(SSTI)
机器学习实战 -朴素贝叶斯
Machine learning theory (8): model integration ensemble learning
ESP32 LVGL8. 1 - msgbox message box (msgbox 28)
ESP32 LVGL8. 1 - calendar (calendar 25)
Sogou cell thesaurus analysis (only extract words and word frequency)
【C语言进阶11——字符和字符串函数及其模拟实现(2))】
Practice of Druid SQL and security in meituan review
Résolution: cnpm: impossible de charger le fichier... Cnpm. PS1 parce que l'exécution de scripts est désactivée sur ce système
Go language GUI framework Fyne Chinese garbled or not displayed
Scrollto and scrollby
listener.log
ESP32 LVGL8. 1 - bar progress bar (bar 21)
Seata处理分布式事务
One of the reasons why the WebView web page cannot be opened (and some WebView problem records encountered by myself)
Getting started with vcpkg