Author: knielsen

  • New binlog implementation in MariaDB 12.3

    I have recently completed a large project to implement a new improved binlog format for MariaDB. The result will be available shortly in the upcoming MariaDB 12.3.1 release.

    In this article, I will give a short overview of the new binlog implementation. For more details, check the documentation which is in the source tree as the file Docs/replication/binlog.md, or here: https://github.com/MariaDB/server/blob/knielsen_binlog_in_engine/Docs/replication/binlog.md

    EDIT: Also see Mark Callaghan’s benchmark of the new feature.

    Using the new binlog

    To enable the new binlog, […]

  • On the results from the replication poll

    Here are the results of a recent poll on LinkedIn and mariadb.org about the popularity of a few of the major replication features (I aggregated the results from the two sites):

    What is your favorite MariaDB replication feature?

    I want to share some reasons why the poll results match my own thoughts on the relative importance of these features:

    1. Parallel replication

    Parallel replication brings a much needed performance boost to replication. This is not only useful for the big […]

  • Talk: The implementation of MariaDB parallel replication

    On November 6 2024 I presented a talk with the title: “The implementation of MariaDB parallel replication” at a local TeqHub meetup in Copenhagen.

    In the talk I first presented how MariaDB replication works overall. I then described the central idea of optimistic parallel replication. Finally I described three details of the implementation: transaction scheduling; conflict detection; and efficient commit ordering. Here are the slides for the presentation.

    I was very impressed by the level of the engagement of the […]

  • MariaDB non-blocking client API and node.js

    Last Summer I implemented a non-blocking client API in MariaDB, and it was included in the MariaDB 5.5 release. But somehow I never got around to announcing it.

    However, that did not prevent Brian White from noticing it, and using it to implement a new mysql binding for node.js called mariasql.

    Now, node.js is a single-threaded, event-driven framework for web application sever development. In such frameworks, all I/O is done non-blocking or asynchronously, as are all other actions that may […]

  • Setting up a new MariaDB Buildbot host

    Yesterday I set up a new machine for our MariaDB Buildbot. This is quite an important build host for us, it runs more than 20 different builds for each push into our most important trees, and is the host that builds most of our release packages. So quite a workhorse! It is a pretty fast machine, with 5 SSD disks, 48GB of RAM and 2 x quad-core Intel Xeon E5420.

    This is a replacement for the previous machine serving the […]