From 6d7bf3a92f37fd6b70ad29ab307659c2ac933518 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 06:09:08 +0000 Subject: [PATCH] Add 3 resources: Spirit, Maxwell's Daemon, sysbench-tpcc - Spirit (block/spirit): multi-threaded online schema-change tool for MySQL 8.0+ - Maxwell's Daemon (zendesk/maxwell): MySQL binlog-to-JSON CDC producer for Kafka/Kinesis - sysbench-tpcc (Percona-Lab/sysbench-tpcc): TPC-C-like OLTP benchmark scripts for sysbench Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01VfsnTVerUp7u47LS2DLFAj --- content/resources/software/maxwells-daemon.md | 17 +++++++++++++++++ content/resources/software/spirit.md | 17 +++++++++++++++++ content/resources/software/sysbench-tpcc.md | 17 +++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 content/resources/software/maxwells-daemon.md create mode 100644 content/resources/software/spirit.md create mode 100644 content/resources/software/sysbench-tpcc.md diff --git a/content/resources/software/maxwells-daemon.md b/content/resources/software/maxwells-daemon.md new file mode 100644 index 0000000..5ff3e44 --- /dev/null +++ b/content/resources/software/maxwells-daemon.md @@ -0,0 +1,17 @@ +--- +title: "Maxwell's Daemon" +link: "https://github.com/zendesk/maxwell" +description: "A change data capture application that reads MySQL's binary log and writes each row-level change as JSON to Kafka, Kinesis, or other streaming platforms." +subcategories: + - Replication & High Availability +compatibility: + - MySQL +deployment: + - Self-Hosted +pricing: + - Open Source +--- + +Maxwell's Daemon connects to a MySQL server the way a replica would and turns binary log events into JSON messages, one per row change, published to a configurable target — Kafka and Kinesis are the primary, best-supported producers. Typical uses include feeding ETL pipelines, building or expiring caches, driving search-index updates, audit logging, and loosely coupling services off a single source of truth without having them query the database directly. + +It's built and maintained by Zendesk, released under the Apache License 2.0, and has shipped a steady stream of releases (v1.46.0 as of September 2026) adding support for newer MySQL and MariaDB point releases. The project is widely deployed as a lighter-weight alternative to Debezium or Canal when all that's needed is a binlog-to-JSON bridge rather than a full Kafka Connect platform. diff --git a/content/resources/software/spirit.md b/content/resources/software/spirit.md new file mode 100644 index 0000000..ecad93c --- /dev/null +++ b/content/resources/software/spirit.md @@ -0,0 +1,17 @@ +--- +title: "Spirit" +link: "https://github.com/block/spirit" +description: "A multi-threaded online schema-change and data-migration tool for MySQL 8.0+, built by Block (Cash App) as a faster reimplementation of gh-ost's approach." +subcategories: + - Schema Management & Migration +compatibility: + - MySQL +deployment: + - Self-Hosted +pricing: + - Open Source +--- + +Spirit runs schema changes and other row-copy operations against a live MySQL table by reading the binary log and applying changes in parallel, rather than tailing it single-threaded the way gh-ost does. Both the initial row-copy and the binlog-apply phases are multi-threaded, with the explicit goal of running large migrations as fast as possible while still favoring safety over speed when the two trade off. + +Progress is checkpointed to an internal table as the migration runs, so an interrupted run resumes with only around a minute of lost progress instead of starting over. It requires MySQL 8.0 or later with `binlog_format=ROW` and `binlog_row_image=FULL`, and isn't intended for older MySQL versions or setups that need replicas to stay under 10 seconds of lag during the migration. Spirit is built and used in production by Block's Cash App engineering team and is released under the Apache License 2.0. diff --git a/content/resources/software/sysbench-tpcc.md b/content/resources/software/sysbench-tpcc.md new file mode 100644 index 0000000..8e4bcb4 --- /dev/null +++ b/content/resources/software/sysbench-tpcc.md @@ -0,0 +1,17 @@ +--- +title: "sysbench-tpcc" +link: "https://github.com/Percona-Lab/sysbench-tpcc" +description: "A set of Lua scripts for sysbench that drives a TPC-C-like OLTP workload against MySQL, used to load-test and compare server configurations under realistic contention." +subcategories: + - Testing & Benchmarking +compatibility: + - MySQL +deployment: + - Self-Hosted +pricing: + - Open Source +--- + +sysbench-tpcc implements the queries and schema from the TPC-C specification as a workload for sysbench 1.0.x, generating the kind of mixed read/write, high-contention OLTP traffic a TPC-C benchmark produces. Its own README is explicit that it is not a certified TPC-C implementation — it skips requirements like keying/think time — and shouldn't be used to produce results for vendor comparisons; it's meant as a realistic, repeatable stress workload for comparing hardware, configuration, or storage-engine changes on the same server. + +It's maintained by Percona-Lab under the Apache License 2.0, and is commonly used alongside Percona Server, MySQL, and engines like MyRocks to evaluate how a given tuning or hardware change holds up under sustained contention.