MariaDB does not have binlog-in-InnoDB (https://mariadb.com/docs/server/server-management/server-monitoring-logs/binary-log/innodb-based-binary-log) enabled here?
Why this assessment of MySQL 9.7.0 vs Mariadb 13.0.1 for threadpool MariaDB’s thread pool is open source; MySQL’s requires a commercial license and some variation is there so, I thought of assessing to know the real gain of threadpool in terms of performance. This performance assessment, I did on on my 6 core ubuntu 24.0 laptop for read-only, read-write and tpcc cached workloads. Here, a cached/memory-bound workload means that data fully fits into buffer-pool. Since, threadpool is available in commercial MySQL so, I could not test it and hope it will be opensource like other commercial features were added to 9.7.0 community edition. I took latest build of MySQL commnunity 9.7.0 and Mariadb 13.0.1 to have all recent changes. Summary Threadpool did not have significant impact in case of Mariadb for read/read-write loads. But, threadpool had very good impact in TPCC workload and it showed +400% gain wrt no-TP Mar...
Why this bog : I thought of sharing what I leanred from recent perforamance/benchmark assessment of duckdb storage engine for mariadb Setup First of all, if you want setup duckdb for mariadb , please refer 2 good blogs: 1.https://mariadb.org/duckdb-storage-engine-for-mariadb-when-the-sea-lion-learns-to-quack/ - In case, you want to build from source and install. Note : In case you find issue related to libcrypt you can try this: sed -i 's/libxcrypt-dev/libcrypt-dev/g' /test-data/clones/mdb-server/storage/duckdb/duckdb/build.sh (modify path as per you cloned path) USER="mysql" GROUP="mysql" DEFAULT_MDB_DATADIR=/var/lib/mysql/ INSTALL_PREFIX=/usr sudo chown "$USER:$GROUP" /run/mysqld sudo "$INSTALL_PREFIX/bin/mariadbd-safe" --datadir="$DEFAULT_MDB_DATADIR" & ( above , in case you want to shutdown and start mariadb again) 2. https://mariadb.org/mariadb-duckdb-a-new-playground-for-a...
Why we need to assess the performance of crash recovery in MySQ and here is my explanation: It’s not just WLs or bug fixes — any change in redo format or code changes around it, flushing behavior, or recovery concurrency can silently slow things down and if you have huge volume of data to recover than it could be painful. MySQL errorlog is the best place to look into details like whats happening during recovery and which phase of recovery is time consuming. Basically , I measured the recovery timing - from “Starting crash recovery” to “Apply batch completed , in MySQLD error log. Refer this about recovery in Innodb here: https://dev.mysql.com/doc/refman/8.4/en/innodb-recovery.html#innodb-crash-recovery Let me share some of my hack to measure the time taken for crash-recovery experiment. 1. I used ` innodb_checkpoint_disabled ` which is strictly a testing mechanism. It forces maximum redo accumulation and doesn’t reflect real‑world recovery . in...
MariaDB does not have binlog-in-InnoDB (https://mariadb.com/docs/server/server-management/server-monitoring-logs/binary-log/innodb-based-binary-log) enabled here?
ReplyDeleteMy apologies, I missed "default binlog" in the post. Surprising indeed
Deletein mysql binlog was enabled by default and in mariadb, its off so I enabled it so comaprison is binlog on in mysql vs binlog on in mariadb
ReplyDelete