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

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

per 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)

per Howard Miller,
Avatar Core developers Avatar Documentation writers Avatar Particularly helpful Moodlers Avatar Peer reviewers Avatar 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)

per Visvanath Ratnaweera,
Avatar Particularly helpful Moodlers Avatar 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)

per Tim Hunt,
Avatar Core developers Avatar Documentation writers Avatar Particularly helpful Moodlers Avatar Peer reviewers Avatar 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)