Speeding up slave connect: Binlog GTID indexes (MDEV-4991)

Date and time

  • Wednesday 4 October, 13:55 – 14:10 EET (UTC+3)


I am implementing GTID indexes to greatly speed up how connecting slaves
find their starting Global Transaction Id (GTID) position.

An on-disk B+-Tree allows to lookup the position directly, avoiding a
sequential scan of the binlog file. The index is prefix-compressed and
sparse and increases the disk usage by only a few percent. The index is
written asynchronously and has minimal impact on binlog scalability. Normal
binlog recovery is used to make the index crash-safe.

Kristian Nielsen, Kristian Nielsen Consulting ApS

Kristian Nielsen is working in MySQL/MariaDB development since 2005. He
designed and implemented MariaDB replication features such as Group Commit,
Global Transaction ID, and Parallel Replication.

Since the beginning, Kristian has been an avid advocate of moving
MariaDB towards a true “bazaar” style Open-Source project, where the many
different companies, organisations, and individuals that are active in the
MySQL/MariaDB ecosystem can work together in the spirit of the Linux Kernel