Category Archives: Contributions
Tracking down changes in database performance is one of the hardest parts of engineering, especially when the change is buried somewhere in a long commit history.
To make this work easier and more repeatable, I put together a small but important tool:
This script does one thing well:
Given a commit hash, it checks out that commit, builds it cleanly, and packages it in a deterministic way so the Test Automation Framework (TAF) can run consistent performance tests.
Why this matters
- When you are bisecting or doing a manual binary search across hundreds of commits, you need reproducible builds.
…
Continue reading “Simple tool to build MariaDB commits for performance-change analysis”
On May… we have released an update of our 5 current LTS releases:
These new releases contain a large amount of external contributions. The number of contributors is constantly growing, which is great!
On behalf of the MariaDB Foundation and the entire MariaDB Team, let me thank you all!
If we refer to MariaDB Server 11.8, we have about 62 contributions from 35 external contributors.
…
An early look at the DuckDB storage engine for MariaDB — columnar, vectorized analytics that live right next to your transactional tables.
The problem
MariaDB’s InnoDB is excellent at what it was built for: transactions. Row-by-row inserts, updates, point lookups, strong consistency. But the moment you ask it to scan tens of millions of rows for a multi-way join with a few aggregations, a row store has to work hard.
The usual answer is to stand up a separate analytical system, then build ETL pipelines to copy data into it.
…
Continue reading “DuckDB Storage Engine for MariaDB. When the Sea Lion Learns to Quack.”
Inspired by some recent LinkedIn posts, I decided to take the AI in my own hands and do some stats on the MariaDB and MySQL repositories.
This graph is what I’ve got.
Not only have MariaDB Server distinct contributors surpassed the distinct MySQL Server contributors count! The External MariaDB contributors alone did! *
This is how the Power Of the Community looks like!
- You get to use a more functional, performant and error free MariaDB Server
- You get a say in shaping the future of the MariaDB Server.
…
We have a new record average time to process a pull request: 21 days!
Part of my job is following (and trying to improve of course) some key metrics about MariaDB Server pull request processing. As a part of that I compile a nice pull request metric and a graph of it. This is what it looked like for the last month:
There’s a single number that caught my attention: 21.05 ! This is a new record low! That’s how much it takes on average from opening a pull request to closing it for all the requests closed last month!
…
Continue reading “A New Pull Request Processing Time Record”
If you ever considered contributing code to the MariaDB server, you should know that this is an intricate process involving multiple steps and multiple actors. To help you see your contributions successfully merged into the MariaDB Server codebase I’ve compiled a comprehensive description of the contribution process itself, the roles involved into it, the sequence of actions and conditions for transition from one to another. There’s even a diagram!
Please go to COMMUNITY_CONTRIBUTIONS.md.
This of course is going to be a moving target! I fully intend to keep the document up to date and enhance it with clarifications and process changes as they happen.
…
Continue reading “Documented: The MariaDB Server (Community) Contribution Process”
We are concluding our series related to new data types using the Type_handler framework, with some limitations that are not yet covered by the framework:
- No custom indexing methods. A plugin type cannot introduce a new indexing method.
- No custom hashing. Plugin types can’t provide their own function for hash-based operations. Things like MEMORY table indexes, GROUP BY, and partitioning fall back to the underlying type’s hash.
- No new field attributes. Plugin types cannot define custom attributes beyond the existing ones: length, precision, scale, and GIS SRID.
…
Continue reading “Adding a New Data Type to MariaDB with Type_handler – Part 5”
This is part 4 of a series related to extending MariaDB with a custom data type using the Type_handler framework.
You can find the previous articles below:
- Adding a New Data Type to MariaDB with Type_handler – Part 0 – how to build MariaDB Server
- Adding a New Data Type to MariaDB with Type_handler – Part 1 – understanding the framework
- Adding a New Data Type to MariaDB with Type_handler – Part 2 – minimal working data type
- Adding a New Data Type to MariaDB with Type_handler – Part 3 – data type output transformation
Overriding Existing Types
In the previous examples, our MONEY data type inherits from DOUBLE and then we override some methods.
…
Continue reading “Adding a New Data Type to MariaDB with Type_handler – Part 4”