Gehe zum Hauptinhalt

Revolutionizing Database Hosting with MariaDB Catalogs

MariaDB Catalog Feature Project CF Hackathon 20204

Empowering Hosting Companies with Cost-effective Resource Management

MariaDB Catalogs is a new, upcoming feature whose development is financially in-part sponsored by IONOS. It is designed to help hosting companies save a lot of money and provide greater control of database resources per customer. This is a bold statement to make, so let’s dig into the technology and see why.

Challenges in Database Hosting

In general, when you are hosting many websites for many customers, you
split the databases up in one of two ways:

  1. You have many database servers in one or more machines, typically using containers or virtual machines.
  2. You have one big database server with many different database schemas in it, one per customer.

Option 1: Multiple Database Servers

The first option here has the disadvantage of being expensive to implement. A typical MariaDB Server installation will require 1GB of RAM, and there will be a significant number of threads running per installation. RAM is still not very cheap when you are dealing with hundreds of GB.

Option 2: Single Database Server

The second option is lighter on resources, but there are also disadvantages to this. The customer has less control, typically only one database user and one database schema. Also, noisy neighbours can become a big issue, staving resources for other customers.

The Promise of MariaDB Catalogs

MariaDB Catalogs provides the best of both worlds, whilst also providing additional features that are useful for hosting companies.

MariaDB Catalog Feature Project CF Hackathon 20204
MariaDB Catalog Feature

Put simply, MariaDB Catalogs are containers inside of MariaDB Server. Every „catalog“ is an isolate set of users and database schemas. Each one cannot see another. You can connect to them either using a port number per catalog, or providing the catalog name along with the database schema you wish to connect to upon connecting, for example „cat1.wordpress“. The user is then authenticated against a set of users stored in that catalog. Each catalog can only see the status variables and statistics for that catalog, with the superuser „Def“ catalog having the ability for a global view.

Technical Insights: How MariaDB Catalogs Work

The Catalogs on disk are basically an extra directory level in the MariaDB data directory. This makes it very easy to move a catalog from one server to another. As for memory, this is shared across the entire MariaDB Server.

Future Prospects: Enhancements and Potential Developments

Whilst it will not be in the first release, Catalogs will provide the ability to restrict resources per-catalog. This will allow you to not only monitor usage per-catalog, but constrain lower-tier customers to a set amount of resources.

Further Links

Schreibe einen Kommentar

Deine E-Mail-Adresse und Kundennummer werden nicht veröffentlicht. Erforderliche Felder sind mit * markiert