Upgrade / scaling of a DB for a single instance (~100k Users)

Upgrade / scaling of a DB for a single instance (~100k Users)

by Marco Schrittwieser -
Number of replies: 3
Hello moodlers,

we are running at the moment a single moodle (v 4.1.7) instance with a MariaDB.

Over the years the user numbers have increased to 95k at the moment (and is still rising) and the DB size is about 85GB.

We are now looking for a future-proof and scalable solution for a state of the art DB and a way to migrate from the MariaDB.

Additional info - we have to run everything inhouse, so AWS etc. is no option.

Every possible solution or migration experiences would be great.

Thanks a lot,

Marco
Average of ratings: -
In reply to Marco Schrittwieser

Re: Upgrade / scaling of a DB for a single instance (~100k Users)

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Why do you want to migrate away from MariaDB. In general, migrating to a different database is going to be a load of hassle - probably for little or no benefit.

If you really want to spend money on your database, I can actually recommend Enterprise MySQL and it **should** be straightforward to migrate.
In reply to Marco Schrittwieser

Re: Upgrade / scaling of a DB for a single instance (~100k Users)

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
I assume you are considering a cluster solution. The DBMS clustering is highly vendor specific. I haven't seen any deep discussions here. There is more on web server clustering front on this site, Server cluster for example. Again not many people advising on it. I think the experts are among themselves. Meet the A new "Large scale Moodle deployment" support group.
In reply to Visvanath Ratnaweera

Re: Upgrade / scaling of a DB for a single instance (~100k Users)

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
The easiest type of clustering to set up is just replication to a second instance (which is mainly done for resiliance).

If you have that, then you can set up using the read-only replica to handle some of the load. That was implemented in MDL-19711, and for now, the only docs that exist are what is in config-dist https://github.com/moodle/moodle/blob/9587029a4609b3222a3564207aada02716d3332d/config-dist.php#L113.

That can be a relatively quick win.
Average of ratings: Useful (2)