On this page · 9 sections
  1. Who must migrate, and why
  2. Prerequisites: packages and sources
  3. Step-by-step migration
  4. Shell script paths: the starting template and the edited form
  5. Properties file paths: the starting template and the edited form
  6. What the migrated setup runs
  7. Reading the migration as a sequence
  8. Verification checklist
  9. Sources

Who must migrate, and why #

Teams that already run benchmarks through TAF and want to point those runs at TidesDB must migrate their setup. They need a MariaDB build that includes the TidesDB plugin, and they need TAF's properties files and shell scripts to refer to that build's paths. The MariaDB Foundation TAF guide is direct about why this is more than a small edit: switching from InnoDB to TidesDB is not a one-line ENGINE=TIDESDB change, and the plugin must be installed, configured, and wired correctly first.

The guide describes itself as a details document rather than an overview. Its purpose is to give readers a reproducible starting point, using the properties, shell scripts, and wiring that were added to TAF. Readers can extend the setup afterwards, but the baseline has to run first, and that baseline depends on paths that the user must set. This article follows the guide's order: prerequisites, installation, path edits, verification, and the workloads the setup covers.

Prerequisites: packages and sources #

According to the guide, TidesDB currently ships inside MariaDB 11.4.13, and the required RPMs can be downloaded from the MariaDB 11.4.13 RPM mirror. The guide lists six packages for TAF:

  • MariaDB-server-11.4.13-1.el9.x86_64.rpm
  • MariaDB-client-11.4.13-1.el9.x86_64.rpm
  • MariaDB-common-11.4.13-1.el9.x86_64.rpm
  • MariaDB-devel-11.4.13-1.el9.x86_64.rpm
  • MariaDB-plugin-tidesdb-11.4.13_5.0.0-1.el9.x86_64.rpm
  • MariaDB-shared-11.4.13-1.el9.x86_64.rpm

The guide also names the TAF GitHub repository and a specific commit that contains all the new TidesDB properties and shell scripts: TAF commit e55a3269. Checking out that commit is the most direct way to make sure the files you edit are the files the guide describes. The guide says these downloads are all you should need to get started.

Step-by-step migration #

The guide's workflow has a clear sequence. Installation comes first, because TAF needs the server binaries and the plugin directory in place before the configuration can refer to them. Path edits follow. The driver scripts run last, and the guide says they fail if the paths they use are wrong.

  1. Download the six MariaDB 11.4.13 RPMs listed above into a local directory.
  2. Check out the TAF commit that contains the TidesDB properties and shell scripts, so the files match the guide.
  3. Run TAF with --db-software-install and --db-software-install-packages, passing the full list of RPM paths. The guide's command includes --verbose.
  4. Wait for TAF to finish its install work. The guide says TAF unpacks the layered RPMs, flattens the installation tree, and places the result under taf-perl/database_software_installs/. It also says TAF prepares the server binaries and the plugin directory and marks the install as active.
  5. Confirm the completion message. The guide says TAF prints "Install has completed. Happy benchmarking!" when the installation is ready.
  6. Set tidesdb_data_home_dir in each TidesDB properties file, inside the [db_config_start] and [db_config_end] section.
  7. Set taf.db_plugin_dir in each TidesDB properties file so that TAF passes the plugin directory to the database as a command-line option on start.
  8. Set PROP_DIR and INSTALL_DIR in both tidesdb_small.sh and tidesdb_large.sh, which the guide places under scripts/mariadb/tidesdb/.
  9. Compile sysbench. The guide notes that, being a fresh install, sysbench will need to be compiled, and it asks readers to see its Building Sysbench section before running anything. This article does not reproduce those build steps.
  10. Run the driver script that matches your host class.

Shell script paths: the starting template and the edited form #

The starting template for the two path variables in the driver scripts is shown first. It is the form as published in the guide, with the placeholder still in place.

Bash
PROP_DIR="/<path to>/taf-perl/properties/mariadb/tidesdb"
INSTALL_DIR="/<path to>/taf-perl/database_software_installs/MariaDB-server-11.4.13-1.el9.x86_64"

After editing, the same two assignments point at absolute paths on your own machine. The path below is illustrative only and is not a location the guide provides.

Bash
PROP_DIR="/example/benchmarks/taf-perl/properties/mariadb/tidesdb"
INSTALL_DIR="/example/benchmarks/taf-perl/database_software_installs/MariaDB-server-11.4.13-1.el9.x86_64"

The guide says each script defines these two variables, and that every user must update them. PROP_DIR is the directory containing the TidesDB sysbench properties files. INSTALL_DIR is the directory containing the MariaDB and TidesDB installation produced by the RPM install step. The guide states that if either path is incorrect, TAF will fail to locate the properties or the server binaries. The edit therefore has to be made in both tidesdb_small.sh and tidesdb_large.sh, since each script is a separate file with its own definitions.

Properties file paths: the starting template and the edited form #

The properties files have two path settings that the guide says must be adjusted. The first is the TidesDB data path, which sits inside the [db_config_start] and [db_config_end] section. The second is the plugin directory path, which the guide says is not the default MariaDB plugin directory. The starting template is shown first.

Bash
tidesdb_data_home_dir=/<path to>/taf-perl/data/
taf.db_plugin_dir=/<path to>/taf-perl/database_software_installs/MariaDB-server-11.4.13-1.el9.x86_64/lib64/mysql/plugin/

After editing, both lines point at your own absolute paths. The values below are illustrative and keep the directory names from the template.

Bash
tidesdb_data_home_dir=/example/benchmarks/taf-perl/data/
taf.db_plugin_dir=/example/benchmarks/taf-perl/database_software_installs/MariaDB-server-11.4.13-1.el9.x86_64/lib64/mysql/plugin/

The guide says the four TidesDB properties files live under properties/mariadb/tidesdb/, and that each one contains both settings that users must adjust to their environment. Those four files are sysbench_tidesdb_small_host_reads.properties, sysbench_tidesdb_small_host_writes.properties, sysbench_tidesdb_large_host_reads.properties, and sysbench_tidesdb_large_host_writes.properties. The guide describes these two settings as the only path values in each file, so an edit that fixes only one of them leaves the other unchanged.

Warning

The main pitfall is that none of the paths are defaults. The guide says both the properties files and the shell scripts must be updated to match your environment, and it states that an incorrect path in the scripts makes TAF fail to locate the properties or the server binaries. Placeholder text left in any of the six path locations is the most likely cause of a failed start.

Install RPMs with TAF
→
Set data and plugin paths in properties files
→
Set PROP_DIR and INSTALL_DIR in both scripts
→
Run small or large driver script
Figure 1. Migration steps as described in the TAF TidesDB guide.

What the migrated setup runs #

The guide organises the TidesDB test cases by workload type and host class. The read workloads are POINT_SELECT and OLTP_RO. The write workloads are OLTP_RW and OLTP_WO_MODIFIABLE. Each has a small-host and a large-host properties file. According to the guide, each file sets the sysbench test type, the dataset size for its host, the concurrency levels, the TidesDB engine selection, the required TidesDB configuration parameters, and the two path values described above.

The driver scripts run the read workload and then the write workload for the selected host class. The small-host script uses the small-host properties files, and the large-host script uses the large-host files. The guide says output from both workloads is logged to a single file. Before any workload runs, the scripts set deterministic CPU frequency behaviour, so that frequency scaling and boost logic do not change results between runs.

The guide lists optional extensions that readers can add to the scripts, including logging or timestamps, loops for multi-run experiments, threadpool toggles, dataset scaling, host-specific tuning, and environment validation. It describes the baseline scripts as intentionally minimal, so these additions sit on top of a setup that already runs. The guide refers to a Hardware Sponsor section for the host specifications. This article does not state those specifications.

Reading the migration as a sequence #

The guide's order matters for a practical reason that the guide itself makes clear. TAF can only use the plugin directory and the server binaries after the install step has placed them, and the scripts can only find the properties after their paths are set. Taken together, the steps show a dependency chain: an install that has not finished leaves the plugin path with nothing to refer to, and an edited property file cannot help a script whose PROP_DIR still points at a placeholder.

Because the guide repeats the path step in both the properties files and the shell scripts, this suggests that a migration done in one place will not be complete. That is an inference from the layout of the guide, not a statement the guide makes. A checklist that covers every file is therefore the safer approach.

The guide also says that the setup is meant to be extended. Once the baseline runs, changes such as an added loop or a logging line can be made in the same scripts. Keeping those changes under version control alongside the path edits lets you see which lines are the guide's baseline and which are yours.

Key takeaways

To migrate a TAF setup to TidesDB, install the six MariaDB 11.4.13 RPMs through TAF, confirm the completion message, and then set the data and plugin paths in every TidesDB properties file. Set PROP_DIR and INSTALL_DIR in both driver scripts, compile sysbench, and run the script for your host class.

Verification checklist #

  • All six MariaDB 11.4.13 RPMs listed in the guide are present, and their file names match the list.
  • The TAF commit e55a32691c1234e6fea20ac86ba6b59575fdd520 is checked out, so the properties and scripts match the guide.
  • TAF printed "Install has completed. Happy benchmarking!" after the install.
  • The install directory exists under taf-perl/database_software_installs/.
  • tidesdb_data_home_dir in each of the four TidesDB properties files points to an absolute path on your machine, with no placeholder text left.
  • taf.db_plugin_dir in each of the four TidesDB properties files points to the plugin directory inside your install.
  • PROP_DIR and INSTALL_DIR are set in both tidesdb_small.sh and tidesdb_large.sh.
  • Sysbench has been compiled, following the Building Sysbench section of the guide.
  • The driver script for your host class completes its read and write workloads, and the output is written to the single log file the guide describes.

Sources

  1. MariaDB Foundation: Exploring TidesDB Performance with TAF - MariaDB.org mariadb.org · Oct 16, 2026

Also consulted

Next reading

Edited and approved by Jarosław Krzemiński. Spotted a mistake? Report a correction or read the corrections policy.