[MySQL compatible/derivative] MariaDB features [Seal]

table of contents
This is Ohara from the Technical Sales Department
we will be writing about the features of
MariaDB a MySQL-compatible database derived from MySQL Incidentally, the "Mai" in "MySQL" is the name of the developer's eldest daughter, and the "Maria" in "MariaDB" is the name of his second daughter.
*This article is current as of September 2020
MariaDB's unique features and functionality (MariaDB 10.3 and later)
MariaDB was originally released as a compatible and derivative version of MySQL, but recently MariaDB has been updating more quickly, and it also has many specifications and functions that are unique to MariaDB and not available in the original MySQL
Here we have summarized the specifications and features unique to MariaDB.
*Since MySQL and MariaDB are constantly being updated, there is a good chance that MySQL will import MariaDB specifications and features in the future.
| item | overview |
| Forced ID termination | Kills the query with the specified ID |
| Regular Expression Engine Changes | Regular expression engine changes for improved regular expression functionality |
| Obtaining the deletion results | When using the DELETE ... RETURNING syntax, if the deletion is to occur on a single table, the deletion results are returned |
| Setting initial values for BLOB and text columns | You can set an initial value for BLOB columns (large binary data type) and TEXT columns |
| Executing Dynamic SQL | Force SQL generation from a string, like OracleDatabase |
| System Versioning Table | A function to record the date and time of data update and save data history |
| Oracle compatibility mode | OracleDatabase SQL mode |
| Table Value Constructor | Ability to generate data combinations on the fly |
| Application Function | Ability to define aggregate functions as stored functions |
| Sequence Table | Function to generate sequential numbers |
| FOR Loop | A function that allows looping using the FOR syntax |
| Application Period Table | You can set the time as you like |
Recommended features of MariaDB

Earlier, we listed the unique specifications and features of MariaDB that are not available in MySQL, but here we would like to introduce three of the most recommended points
● System versioning table:
・When changing (updating) database data, overwriting is the default method, but if you enable the system versioning feature, a history of all changes will be saved. By clearly specifying/designating the data that remains in the history, you will be able to retrieve the relevant data, allowing you to analyze data at any point in time, audit changes, and compare data at different points in time
● Oracle compatibility mode:
This function enables compatibility with the commercial database Oracle Database. It makes it easier to migrate from Oracle Database by allowing you to use Oracle Database's own syntax and execute its own stored procedure language (PL/SQL)
● Sequence table:
- You can handle sequential numbers in a separate table, similar to the sequence function in PostgreSQL that manages sequential numbers. This makes it easy to check the current value of sequential numbers and reassign sequential numbers
Notes on MariaDB (Incompatibility with MySQL)
When comparing MariaDB and MySQL, there are many similarities in terms of specifications and functions, but they are not all compatible, so you should pay attention to the following points
● Differences in functions (e.g., different implementations of JSON and GTID)
● Differences in system variables (different default values)
● Character sets/collations are not supported
summary
Above, we have introduced the overview and features of MariaDB
If you normally use MySQL, you should find it easy to get started with MariaDB, even though there are differences in the procedures
0