paint-brush
Is MariaDB simply a fork of MySQL?by@alejandroduarte
1,711 reads
1,711 reads

Is MariaDB simply a fork of MySQL?

by Alejandro DuarteJune 29th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

MariaDB started as a fork of MySQL. Many of the original developers of MySQL moved to this new project called MariaDB. In my eyes, MariaDB is the real continuation of MySQL under a different name. Today, MariaDB has an impressive lineup of components and technologies that puts it apart from MySQL.
featured image - Is MariaDB simply a fork of MySQL?
Alejandro Duarte HackerNoon profile picture


Is MariaDB simply a fork of MySQL? This is one of the most misleading ideas about MariaDB. Yes, it’s a project rooted in MySQL, but no, it’s not simply a fork of MySQL. MariaDB started as a fork many years ago by the creator of MySQL (Michael “Monty” Widenius). Many of the original developers of MySQL moved to this new project called MariaDB. In my eyes, MariaDB is the real continuation of MySQL under a different name.






Today, MariaDB has an impressive lineup of components and technologies that highly improve the database experience. From the reliable and open-source MariaDB Community Server to the cutting-edge MariaDB SkySQL second-generation cloud database service, in this article, we’ll dive into how each tool addresses real-world problems.


MariaDB Community Server: Power and Openness

As software developers, we crave speed, reliability, and openness and the MariaDB Community Server aligns with all this. Rooted in MySQL, this open-source database server adheres to the ISO SQL/PSM standard. It gives the freedom to create small-scale applications with confidence. MariaDB Community Server is a battle-tested solution used in small and big companies (did you know Wikipedia uses MariaDB Community Server?).






MariaDB Storage Engines

Once more and more people use our applications, data grows and new patterns and corner cases emerge. Development teams come across SQL queries that perform well and others that don’t so much. The typical case is that of OLTP vs OLAP. Transactional vs analytical. Another case is that of read-heavy vs write-heavy workloads. Not all tables are put under the same stress in the read-and-write spectrum. Not all tables are used for report generation. Different workloads require different ways to treat the data. And this is a concern of the database.


MariaDB includes many, many storage engines. A storage engine is simply a component that we can install and activate on top of the database server and that allows us to store or handle data in different ways. We can later run for example ALTER TABLE some_table ENGINE=MyRocks if we want to optimize such a table for write-heavy workloads. Also, cross-engine joins between tables are possible!





MariaDB Enterprise Server: Production-Ready Powerhouse

When it's time to move from development or small internal applications to production environments in business-critical applications, MariaDB Enterprise Server is the way to go. Built on the strong foundation of the MariaDB Community Server, MariaDB Enterprise Server brings default configurations better suitable for production workloads. The MariaDB Enterprise Server binaries go through further tests to guarantee readiness for production environments. MariaDB Enterprise Server has paid support, a requirement that gives extra confidence to software developers as well as project managers and stakeholders.





MariaDB MaxScale: Scaling and High Availability Made Easy

Scaling, ensuring high availability, and managing databases can be daunting tasks. Enter MariaDB MaxScale, in my opinion, the best database proxy in the market. MaxScale acts as a traffic cop, directing queries to the right places and handling automatic failover seamlessly. Your applications won’t notice when a database node goes down or is put in maintenance mode. With support for various protocols like MongoDB and Kafka, MaxScale allows us to build resilient and scalable applications, minimizing complexity at the database cluster level. Everything looks like a single logical database thanks to MaxScale.






MariaDB ColumnStore: Unlocking Analytical Power

Creating reports or writing any kind of analytical ad-hoc SQL queries over mountains of data is challenging. Especially, when trying to make these reports and queries run fast. You might have to tweak indexes and maintain them. Not an easy task in databases with dozens or hundreds of tables and columns. That's where MariaDB ColumnStore comes to the rescue. Designed for data warehouses and analytical workloads, ColumnStore persists the data in a columnar fashion. This approach brings significant performance benefits, enabling lightning-fast analytical queries and insights without having to deal with database indexes.


MariaDB Xpand: Scaling Reads and Writes, Reliably

Scaling both reads and writes while maintaining ACID properties may seem like an impossible dream. But MariaDB Xpand makes it a reality. As a distributed SQL database, MariaDB Xpand offers seamless scalability of reads and writes with automatic slicing and replication of data. It ensures high availability by automatically rebalancing data when hotspots are detected. All this happens automatically and transparently to applications. With MariaDB Xpand, developers can focus on application logic while enjoying the benefits of a robust and scalable relational database. In other words, distributed SQL with Xpand is the new (and I would dare to say the correct) way to do database sharding.





MariaDB SkySQL: Fully Managed Database Services in the Cloud

Moving to the cloud has become essential for modern software development. MariaDB SkySQL makes the transition seamless. SkySQL allows deployments of MariaDB products effortlessly with a few clicks, whether it's MariaDB Enterprise Server, ColumnStore, or Xpand. Additionally, it offers serverless analytical deployments, geospatial services, remote monitoring, and cloud backup of MariaDB servers running anywhere (even on a Raspberry Pi if you want!). All this makes it a comprehensive solution for all cloud database needs.





MariaDB is Much More than a Fork of MySQL

MariaDB has become a go-to choice for many developers seeking robust, scalable, and reliable database solutions. From the open-source MariaDB Community Server to the production-ready MariaDB Enterprise Server and Xpand, MariaDB offers a range of tools to address all kinds of specific needs. MaxScale manages database traffic, ColumnStore unlocks analytical power, Xpand enables scalable reads and writes, and SkySQL simplifies cloud database deployments and management. With MariaDB, developers can focus on building software without losing sleep over database challenges.


In this article, I briefly explored some of the features that make MariaDB much more than a fork of MySQL. I hope you can see it now!


I’m happy to answer any questions or present this topic internally at your company, conference, developer group, meetup, or anything. Just let me know!