Hello,
Je suis arrivé sur un projet l'année dernière en J2EE qui se base () sur une BDD MariaDB 10.1.26 sous Debian 9. Cette base est répliquée sur une autre machine via le service intégré Master/Slave.
A l'époque, la BDD comptait environ 45 tables pour un volume de données total de 6Go.
En moins d'un an, on est passé , 56 tables pour 24Go de données, dont une table de plus de 73M d'entrées et de 12Go à elle seule (et sa table de liaison 5.6Go), et environ 200M d'entrées au total.
Je suppose que vous voyez où je veux en venir, ça commence à devenir tendu. Tout manipulation sur la base est lourde, très lourde ... J'ai voulu ajouter 2 colonnes à la grosse table en question, ça m'a pris 2 jours car ça a bien planté (et le fait de se prendre des timeout de partout n'aide pas).
J'ai donc quelques questions que j'espère vous pourrez m'aider à répondre :
- Est-ce que je peux continuer sur MariaDB sachant que le volume va augmenter de façons exponentielles ? J'ai lu qu'en théorie on limite les tables à 2Go, j'ai déjà bien dépassé ce palier ...
- Est ce que passer la BDD sur un SSD va me permettre de résoudre le problème ? (à court termes je me doute, mais d'ici 2 ans ?) sachant que je n'ai que 32Go de ram sur le serveur, qui héberge aussi une VM et le serveur web, donc pas de possibilité de tout laisser en RAM
- Est-ce qu'il y a un moyen "d'archiver" les tables de façons automatique ? J'ai un champs en datetime dans la table principale, et généralement on ne travaille qu'avec les données des 5/6 derniers mois, mais on peut avoir besoin des données des 5/6 dernières années. Est-ce possible de faire une table "currentWork" et une table archivée, sans impact ou presque dans le code ?
Partager