MariaDB Server

Performance oriented InnoDB log format changes

How InnoDB crash recovery works
D.mariadb
Marko Mäkelä
<p>The persistent circular buffer (the <code>ib_logfile0</code>) is the fundament of the persistent InnoDB buffer pool.</p> <p>Over the years, the log file format has been changed in MariaDB Server to improve the performance. A well-designed file format imposes minimal write amplification and is easy to parse.</p>
The 512-byte block size of the InnoDB log was a perfect match for the industry standard that was defined by the venerable Seagate ST-225. Alas, the industry moved on, and now block sizes range from 64 bytes (the size of a memory cache line) to 4096 bytes. Therefore, a format that works efficiently with any block size is needed. We present a flexible format where each mini-transaction (comprising log records) is a block on its own, with a checksum that is calculated in a local buffer, reducing contention on the mutex that protects the global log buffer. The old 12-byte block header is shrunk to a 1-bit sequence number, for detecting the end of the circular log. The additional overhead is 4 bytes per mini-transaction for a CRC-32C checksum. No-op records may be written to pad the log buffer to match the physical block size. Encryption will only cover data. The length of each record is explicitly stored in clear, which allows consistent hot backups without having any encryption keys. For encrypted log, 8-byte part of initialization vector will be written after each mini-transaction.

Additional information

Type devroom

More sessions

2/5/22
MariaDB Server
Ian Gilfillan
D.mariadb
<p>A brief introduction and overview of what you can expect from the MariaDB devroom at FOSDEM</p>
2/5/22
MariaDB Server
Michael "Monty" Widenius
D.mariadb
<p>As was announced in December 2021 https://mariadb.org/new-innovation-release-model/, MariaDB Server now has a new release model, with more frequent major releases. MariaDB Server 10.7 is the first release following this model.</p> <p>Some of these releases will have 1 year support cycles, while others will be supported long term just like before. In this talk, I will present the pros and cons of this new release model, what it means for the MariaDB Server community, its users and also its ...
2/5/22
MariaDB Server
Praveen GR
D.mariadb
<p>MariaDB is one of the most used open-source relational databases. The development of MariaDB focuses on stability and performance.MariaDB 10.6 is the current stable version of MariaDB and comes with a number of new features. This presentation covers - MariaDB in Open Source Ecosystem, Features in MariaDB 10.6, Variables added and Removed.</p>
2/5/22
MariaDB Server
Ian Gilfillan
D.mariadb
<p>At the time of writing, MariaDB 10.7 is in RC, and the MariaDB 10.8 preview releases are imminent. The new release model means new features no longer have to wait a year between major releases before seeing the light of day, and the initiative of separate preview releases for each major feature eases testing and reduces instability.</p> <p>This presentation covers some of the major new features being unveiled in MariaDB 10.7 and 10.8.</p>
2/5/22
MariaDB Server
Valerii Kravchuk
D.mariadb
<p>Current MariaDB Server GA versions are formally not supported on macOS 10.x and 11.y. But it;s relatively easy to set up the environment and build it from current 10.2 - 10.7 GitHub sources, with few minor issues to resolve in the process depending on maxOS and major server version used. This talk is a summary of my related experience, with a quick review of related fixed and open bugs, as well as some unique features like DTrace support that one may benefit from on macOS.</p>
2/5/22
MariaDB Server
Sergei Petrunia
D.mariadb
<p>MariaDB 10.8 is getting improved histograms, called JSON_HB. This talk will cover - what the new histograms are, - what are the advantages over the old histograms, - how do they compare to histograms in MySQL 8.</p> <p>At the end of the talk, I'll cover a closely related topic of usage of the histogram data in the query optimizer: - why this is hard, - what are known limitations and their workarounds - what MariaDB team is doing to improve this.</p>
2/5/22
MariaDB Server
Michael "Monty" Widenius
D.mariadb
<p>The MariaDB optimizer has its roots in the original MySQL optimizer. Being a long standing project, it has inherited a number of quirks and features that -at the time of coding- made sense. The datasets had different sizes 10-20 years ago and the cost model is not always accurate for current workloads.</p> <p>Thus, there is now an ongoing effort to significantly improve the calculations that the MariaDB Optimizer is doing. With the addition of JSON Histograms, the range optimizer is one of ...