上一期讲到YCSB在RISC-V服务器上对MySQL进行性能测试(RISC-V公测平台发布 · 使用YCSB测试SG2042上的MySQL性能),在这一期文章中,我们继续深入讨论RISC-V+数据库的应用。本期就继续利用HS-2平台来测试数据库软件在RISC-V服务器上的兼容性。
MySQL/MariaDB
实验机配置如下:
一、MySQL/MariaDB
在上一期中,为了测试YCSB(Yahoo! Cloud Serving Benchmark)性能测试软件,顺便测试了MySQL在RISC-V服务器上的兼容性。
直接使用包管理器安装MySQL:
sudo apt-get install mysql-server
先尝试直接通过包管理器安装:
sudo apt-get install mariadb-server
在通过包管理器安装并正常运行后,接下来就尝试通过编译安装MariaDB。
wget
https://dlm.mariadb.com/3239838/MariaDB/mariadb-11.0.2/source/mariadb-11.0.2.tar.gz
进入MariaDB源码文件夹:
tar -xzvf mariadb-11.0.2.tar.gz
执行cmake并编译:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/home/mariadb-DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_cimake -j64sudo make install -j1
vim /home/mariadb/my.cnf
sudo /usr/local/mariadb/bin/mysqld_safe --user=mysql --skip-grant-tables/usr/local/mariadb/bin/mariadb

连接成功!
二、Redis
sudo apt install redis-server
然后启动Redis服务:
sudo servcie redis-server start
进入redis-cli:
redis-cli
如果能进入Redis Shell那就说明安装成功。
wget
https://github.com/redis/redis/archive/refs/tags/7.0.12.tar.gz
tar -xzvf 7.0.12.tar.gz
进入Redis文件夹:
cd redis-7.0.12/
编译:
make BUILD_TLS=yes USE_SYSTEMD=yes -j64
测试一下(可选):
make test
安装:
sudo make install
启动服务器:
redis-serverredis-server &(后台运行)运行redis-benchmark压力测试(10万次请求,20个客户端),以CSV文件形式输出。redis-benchmark -n 100000 -c 20 --csv
结果如下:

三、MongoDB
接下来就是MongoDB,MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
sudo apt install mongodb
结果提示不支持通过apt安装,因此我们选择源码编译安装。
wget https://fastdl.mongodb.org/src/mongodb-src-r6.0.8.tar.gz
解压缩:
tar -xzvf mongodb-src-r6.0.8.tar.gz
进入mongodb源码文件夹:
cd mongodb-src-r6.0.8/
编译:
python3 buildscripts/scons.py install-mongod -j64

四、PostgreSQL
通过APT安装:
apt-get install postgresql postgresql-client
测试一下:
sudo -i -u postgrespsql

wget
https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.gz
tar -xzvf postgresql-15.3.tar.gz
mkdir pg
cd postgresql-15.3/
./configure --prefix=/home/perfxlab01/pg
make world -j64make install-world -j64进入~/pg/
初始化数据库:
./bin/initdb -D ./data/
bin/pg_ctl -D ./data/ -l logfile start
bin/psql -U postgres -h localhost(进入psql shell)CREATE DATABASE test;(退出psql shell)
初始化用于压力测试的数据库:
bin/pgbench -i test
bin/pgbench -c 100 -T 300 -j 64 test
pgbench (15.3)transaction type: <builtin: TPC-B (sort of)>scaling factor: 1query mode: simplenumber of clients: 100number of threads: 64maximum number of tries: 1duration: 300 snumber of transactions actually processed: 93122number of failed transactions: 0 (0.000%)latency average = 322.405 msinitial connection time = 156.199 mstps = 310.168586 (without initial connection time)statement latencies in milliseconds and failures:0.005 0 \set aid random(1, 100000 * :scale)0.002 0 \set bid random(1, 1 * :scale)0.002 0 \set tid random(1, 10 * :scale)0.002 0 \set delta random(-5000, 5000)0.201 0 BEGIN;1.144 0 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;0.429 0 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;290.788 0 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;26.624 0 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;0.432 0 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);2.556 0 END;
五、TiDB
接下来就是TiDB了,TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库。该数据库使用Go语言编写。
下载最新版的TiDB源码包以后解压并进入源码文件夹,然后编译:
tar -xzvf tidb-7.1.1.tar.gzcd tidb-7.1.1/make
结果编译失败:

同时也尝试了通过脚本安装,结果提示不支持该架构。
总结:
数据库
|
APT安装/脚本安装
|
编译安装
|
Redis
|
√
|
√
|
MongoDB
|
×
|
×
|
PostgreSQL
|
√
|
√
|
TiDB
|
×
|
×
|
MySQL
|
√
|
×
|
MariaDB
|
√
|
√
|
参考资料:
MariaDB 简介
https://mariadb.org/zh/
Redis 教程
https://www.runoob.com/redis/redis-tutorial.html
MongoDB官网
https://www.mongodb.com/zh-cn
MongoDB开发者社区
https://www.mongodb.com/community/forums/t/when-to-upload-version-on-debian/181125
mongodb-server binary package in Ubuntu Focal riscv64
https://launchpad.net/ubuntu/focal/riscv64/mongodb-server
MySQL server fails to build on RISC-V 64 https://bugs.mysql.com/bug.php?id=100356
部署Mariadb数据库到Linux(源码编译安装) https://www.cnblogs.com/DragonStart/p/10823222.html
PostgreSQL BuildFarm Status
https://buildfarm.postgresql.org/cgi-bin/show_status.pl
PostgreSQL BuildFarm Status History
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=boomslang&br=REL_15_STABLE
TiDB
https://docs.pingcap.com/zh/tidb/stable
正文完
About HS-2
HS-2 RISC-V通用主板是澎峰科技与合作伙伴共同研发的一款专为开发者设计的标准mATX主板,它预装了澎峰科技为RISC-V高性能服务器定制开发的软件包,包括各种标准bencmark、支持V扩展的GCC编译器、计算库、中间件以及多种典型服务器应用程序。
HS-2 RISC-V通用主板搭载了一颗国产RISC-V 64核处理器(SG2042)。SG2042是目前已量产的性能最高的RISC-V处理器,主要针对高性能计算领域需求设计,适用于科学计算、工程计算、AI计算、融合计算等大算力应用场景。

关于RISC-V公共测试平台

-
加入我们的RISC-V社区
欢迎关注我们,参与进来共建RISC-V软件生态~加入我们的讨论群后,可以向管理员申请免费的64核RISC-V服务器SUDO权限试用账号。
-
发邮件到riscvinfo@perfxlab.com 加入微信讨论群:加iYuta-R2为好友后可拉入群。
加入QQ讨论群:906962594(RVBoards·Only RISC-V)
扫描二维码加群👇

-
RISC-V公共测试云平台系列文章
-
RISC-V公测平台发布 · 我的世界MohistMC
-
RISC-V公测平台发布 · 第一个WEB Server“Hello RISC-V world!” -
RISC-V公测平台发布 ·如何在SG2042上玩转k3s -
“RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog? -
RISC-V公测平台发布:如何在SG2042上玩转OpenMPI -
RISC-V公测平台发布:Compiling The Fedora Linux Kernel Natively on RISC-V -
RISC-V公测平台发布 · Unix Bench完整测试 -
RISC-V公测平台发布 · 使用YCSB测试SG2042上的MySQL性能 -
RISC-V公测平台发布 · 7-zip 测试 -
RISC-V公测平台发布 · CoreMark测试报告 -
RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估(本篇)
欢迎投稿,发送至riscvinfo@perfxlab.com

