Today’s the day! MariaDB Community Server 10.6 GA is now available for download! We are so excited about this new MariaDB release series that includes new innovation for the community. This release is possible thanks to the MariaDB Corporation engineering team, tons of customer and user feedback and several important community contributions.
10.6 has a long list of new features and I want to highlight a few of them. When we started planning 10.6 in the spring of 2020, we wanted to not only focus on new features for the community but also focus on internal fixes to make the code cleaner and more performant. We ended up doing quite a lot of these internal fixes and we think MariaDB Community Server will be much more robust due to these changes. Since most of these internal fixes aren’t user visible, I won’t spend anymore time on it and instead I want to highlight the following new features:
- JSON_TABLE. We started our journey of bringing structured and non-structured data together in MariaDB Community Server 10.2 when we added our first set of JSON functions. Being able to combine the two by having tables with clear structure (with defined columns) but allowing rows to store unstructured data in JSON strings brings you the benefit of both worlds. With this release, we have taken a large step in bringing this full circle with the addition of JSON_TABLE which allows you to create table-like structures directly based on JSON strings. This allows JSON strings to be used in any part of a SQL statement where a table could be used, in the FROM clause, in CTEs, subqueries etc. We are very excited about this feature and look forward to hearing about different use cases that you have for it.
- Oracle Compatibility: This is another journey that started a long time ago. In MariaDB Community Server 10.3, we added a new SQL mode (sql_mode=ORACLE) for compatibility with a subset of PL/SQL without having to make any changes to the procedures. With the 10.6 release, we added several new functions (such as ROWNUM(), ADD_MONTHS(), TO_CHAR() ) that are commonly used, taking us another step further in allowing easy migrations and subsequent cost savings. We also continue to be the only database with open source Oracle compatibility features.
- Storage Engine Agnostic Atomic DDL: MariaDB supports a wide variety of storage engines for different workloads and purposes – InnoDB, ColumnStore, Xpand, MyRocks, Aria and Spider. Having engine independent Atomic DDL is really complex and impacts the fundamentals of our code. What is Atomic DDL? There are many features that are storage engine dependent and depend on how data is stored and organized inside the engine. DDL operations (ALTER TABLE, CREATE TABLE, CREATE INDEX etc) are operations that can sometimes take a really long time (depending on the engine) and if there is a crash during a DDL operation could (before 10.6) lead to undetermined results, especially in replication setups where the information in the binary log needs to be consistent with what happens in the engine. In MariaDB Community Server 10.6, we made DDL operations atomic and consistent with the binlog. This means that a DDL operation will always be either fully done or not done at all, even if the server crashes in the middle of the operation. This will be done independently of which storage engine you use, starting with Aria and InnoDB now, and adding support for our other storage engines soon. Furthermore, we now guarantee that the binary log will be consistent with whether the operation took place or not. This is a huge improvement over previous versions.
In addition, there are a whole bunch of new features, such as a new version of ColumnStore, improved semi-synch replication, SYS_SCHEMA, and more. For information on all the new features in MariaDB Community Server 10.6, please look at the Community Server 10.6 description page or look at our Community Server RC or Community Server beta blogs. You can also watch my recent webinar with my engineering colleague Sergei Golubchik on demand that dives into further discussion and explanation of these features.
Please download MariaDB Community Server 10.6 now and try it out. Stay tuned for additional blogs about 10.6 features and other cool things coming out in the near future.