Nachdem ich schon mal mit einem Request Tracker in der Größen Ordnung +2TB gespielt habe, kann ich nur versuchen dich davon abzuhalten, denn das Ende vom Lied war das man Regelmäßig per Skript, das vom RT Mitgeliefert wurde, die Anhänge auf nen NFS Share weggeschoben hat.
Die Antwort lautet auf jeden Fall nicht Relationale Datenbank. Die sind in sich per Design ein SPoF den du nur mit deiner Applikation sinnvoll lösen kannst. Ja man kann ein Galera Cluster betreiben und ich kann dir sagen das dieses RT von dem ich da oben spreche, vorher auf einem Galera lief und am Ende auf ein Master-Slave Blech setup migriert wurde, weil es absolut scheisse skaliert. Galera schickt erst dann ein ack für deinen write wenn alle ihn geschieben habe. Backups mit Galera in der Größen Ordnung kannst du praktisch komplett vergessen. MySQL/MariaDB hingegen gehen noch mit mysqldump.
Ich würde dir für solche Datenmengen ehrlich gesagt alles andere als PHP mit MySQL als Stack empfehlen, weil das einfach schon per se zum scheitern verurteilt ist. Als Beispiel finde ich das Nextcloud es schon fantastisch zeigt wie man es einfach nicht machen sollte, aber die haben noch mehr Probleme als nur ihr Stack.
MongoDB kann man auch kostengünstig gegen /dev/null ersetzen.
Wenn dir ein verteiltes System wichtig ist das skalieren kann, kann man über Cassandradb durchaus nachdenken. Es ist zumindest eine Lösung die gewisse Probleme im Datenbankbereich in der Frage Verteilung/Skalierung gut löst.
Wie man merkt habe ich eine Abneigung gegen PHP und MySQL und das leider irgendwie mit Erfahrungswerten.
Ich bin ein großer Fan von C# geworden nachdem die viel richtig machen. PostgreSQL wäre im Relationalen Bereich mittlerweile mein Standard nachdem die viele nette Erweiterungen bieten wie z.B. TimeScaleDB und richtig top durch optimiert werden können. Fang am Besten mal mit einer SQLite an und schau wie weit du kommst.
Wenn ich mir einen Traum Stack bauen könnte der so einiges kann, würde ich auf C#/Elixir/Rust mit Kafka und CassandraDB setzen um wirklich alles abzudecken was mir nur passieren kann in Frage Skalierung/Verteilung/Integrität.
Ich will aber auch sagen das wir hier nicht von einem Stack reden der Mal eben gebaut wird. Dafür sollte man wirklich ernsthafte Programmierung Erfahrung haben damit das Design von Grund auf zumindest solide ist. Perfekt wird sowas sowie so nie, aber man kann sich schon gut den Weg zum soliden Zustand verbauen.