MariaDB is the future of MySQL
Why switch from MySQL to MariaDB?
MariaDB is a mature extended fork of MySQL, it’s fully open source, and fixes MySQL issues in several ways, including:
- Stability
- Performance
- Ease of Use
- Vectors for AI-support
- Oracle Database compatibility mode
- Temporal tables and other extended functionality
Stability
Stability is a priority at MariaDB, ensured by
- Backward compatibility
- Four maintained LTS (long term support) releases
- A mature codebase
- Extensive testing
- Regular maintenance updates
Compatibility & Differences in MariaDB KB
Performance
- Proven to be faster and more performant than MySQL in key use cases, by expert tester Mark Callaghan
Mark Callaghan, MariaDB is faster than MySQL
Ease of Use
- MariaDB strives for a “15-minute rule” from download to “hello world”
- In-place upgrade for any earlier MariaDB version and MySQL 5.7 and earlier
- Users describe MariaDB as simple, intuitive and feature-rich
- Available in all major distros, such as CentOS, Debian, Fedora, OpenEuler, Red Hat, OpenSuse, Suse, Ubuntu
- MariaDB connectors available C, C++, Java, NodeJS, ODBC, Python, RD2BC
- MariaDB containers available in Docker
MariaDB connectors and distro repos
Security
- SSL enabled by default
- Zero-configuration SSL
- Zero-trust PARSEC authentication
MariaDB Vectors
- Vector functionality natively available in standard open source RDBMS
- One query for everything: Retrieve vector and relational data together
- More queries per second (QPS) with multiple users than dedicated vector stores
Oracle compatibility Layer
- Most complete Oracle syntax of all Open Source RDBMSes
- Includes all MariaDB features and benefits
- Frees Oracle Database users from high licence costs and vendor lock-in
SET sql_mode=ORACLE;
DELIMITER $$
CREATE OR REPLACE PACKAGE employee_tools AS
FUNCTION getSalary(eid INT)
RETURN DECIMAL(10,2);
PROCEDURE raiseSalary(eid INT,
amount DECIMAL(10,2));
PROCEDURE raiseSalaryStd(eid INT);
PROCEDURE hire(ename TEXT,
esalary DECIMAL(10,2));
END;
$$
DELIMITER ;
Temporal tables
DELETE FROM table WHERE id=4;
SELECT * FROM t1 FOR SYSTEM_TIME BETWEEN
(NOW() - INTERVAL 60 SECOND) AND NOW()
WHERE id=4;
Temporal Tables at MariaDB ServerFest
Returns results from the table as it was 60 seconds ago.
About MariaDB Server
MariaDB began as a community-driven fork of MySQL in 2009, initiated by the original developers of MySQL after concerns over Oracle Corporation’s acquisition of MySQL.
MariaDB has gained popularity due to its open-source nature, performance enhancements, and commitment to staying free from proprietary lock-in.
MariaDB is highly compatible with MySQL, but over time, the two have diverged. While MySQL remains under Oracle’s control, MariaDB operates independently, incorporating community-driven innovations and additional features.
About MariaDB Foundation
The Foundation’s Cornerstones:
- We ensure the MariaDB Server code base remains open for usage and contributions on technical merits.
- We strive to increase adoption by users and across use cases, platforms and means of deployment.
- We provide continuity to the MariaDB Server ecosystem, independent of single commercial entities.
The MariaDB Foundation is grateful to count on leaders such as Amazon, MariaDB plc, Alibaba Cloud, IBM, SIT, Acronis, Intel and many others as sponsors.
Active Community
When we say MariaDB is open for the community, we don’t just mean the GPLv2 licensing, we mean the whole open development model, including:
- an open, public Jira for tracking bugs, issues and feature requests, and a public roadmap
- hosting the development code in a public repo on Github and being open to pull requests, issue reporting and discussions
- open discussions on our free-to-join chat system Zulip
- our wiki-like knowledge base
MariaDB receives numerous code contributions from individuals and organisations worldwide: new features (such as AWS contributions to MariaDB Vector), performance improvements, security updates, bug fixes, etc. MariaDB has been part of Google Summer of Code for the last 13 years.