Skip to main content
Blog

RISC-V Public Beta Platform Release · Database Adaptation Evaluation On RISC-V server

By PerfXLab

Introduction

PerfXLab was founded in 2016. Our core team is from Chinese Academy of Sciences. We dedicate to the research and development of computing software stack technology, and providing basic software and hardware platforms for RISC-V community. Welcome to email us: riscvinfo@perfxlab.com.

Recently we used HS-2 platform to test thedatabase compatibility on RISC-V server. HS-2 is a mATX RISC-V workstationrecently launched by us.

The databases participating in this experiment are as follows. We will try to install them through APT and compiling them respectively:

  • MySQL
  • MariaDB
  • Redis
  • MongoDB5
  • PostgreSQL
  • TiDB

The configuration of the experimental machine is as follows:

  • Processor: SG2042 (64 cores)
  • Memory: 32GB
  • Operating system: Ubuntu 22.10 (GNU/Linux 6.1.31 riscv64)
  1. MySQL

MySQL Database Services is a fully managed database service that deploys cloud-native applications using the world’s most popular open source databases.

  • Through APT: OK
  • Through compiling: A compilation failure message is displayed. Therefore, MySQL cannot be directly installed through compilation. You need to install related patches before compilation, and then compile.
  1. MariaDB

MariaDB is a general open source relational database management system. One of the most popular database servers in the world, MariaDB is released under the GPLv2 open source license and is guaranteed to remain open source.

  • Through APT: OK
  • Through compiling: OK
  1. Redis

Redis stands for REmote DIctionary Server and is written by Salvatore Sanfilippo. It is an open source, written in ANSI C language, BSD-compliant, network-enabled, memory-based, distributed, optional persistent Key-Value storage database, and provides multiple language apis.

Redis is often referred to as a data structure server because values can be strings, hashes, lists, sets, and sorted sets.

  • Through APT: OK
  • Through compiling: OK
  1. MongoDB

MongoDB is a database based on distributed file storage. Written in C++. Designed to provide scalable, high-performance data storage solutions for WEB applications. MongoDB is a product that sits between relational and non-relational databases, and is the most feature-rich and relational-like of the non-relational databases.

  • Through APT: No
  • Through compiling: No, even after installing the related packages.
  1. PostgreSQL

PostgreSQL is a free object-relational database management server (ORDBMS) distributed under a flexible BSD license. PostgreSQL developers pronounce it as post-gress-Q-L. PostgreSQL’s Slogan is “the world’s most advanced open source relational database”.

  • Through APT: OK
  • Through compiling: OK
  1. TIDB

TiDB is an open source distributed relational database designed and developed by PingCAP. The database is written in the Go language.

  • Through APT: No
  • Through compiling: No

Conclusion

Through this experiment, the following results are obtained.

DataBase APT installation Compile and install
MySQL ×
MariaDB
Redis
MongoDB × ×
PostgreSQL
TiDB × ×
  • Of the six database software tested so far, MongoDB is available only for Ubuntu 22.04 LTS, while TiDB does not support riscv64 either as a script or compiled install. Therefore, it is hoped that the support of these two databases on the RISC-V architecture will be improved.
  • PostgreSQL and Redis, both of which compiled smoothly and were still running. They have the best performance in the compatibility test. It shows that the two databases are very good for riscv64 compatibility.
  • Both Redis and PostgreSQL come with their own stress testing tools. The redis-benchmark of Redis just need us to set the stress testing parameters, and then we just wait for the test results to come out. While the pgbench of PostgreSQL is convenient, too. Just create the test database and initialize the test database before setting up the stress test parameters. Therefore, the built-in stress test program is a plus for these two databases, because using the built-in stress test program can help us understand the performance of the server on the database.