MySQL: taille maxi d'une base pour vous

WRInaute impliqué
Bonjour,

Savez-vous si mysql peut gérer une base de plusieurs Go (de texte) correctement ? Quelle est la taille maxi d'une base sans gros ralentissements ? Y-a t'il des solutions de compression ?

Y-a t'il des secrets de configuration pour ce type de base et, quel moteur de bdd est le mieux adapté à des bases gigantesques (plusieurs dizaines de Go) ?

Merci à ceux qui sauront me répondre.
 
WRInaute passionné
non mais j'en saurai plus bientôt en ce qui concerne l'optimisation de mysql dont la mise en place mysql cluster simple.

J'en saurai plus ensuite mais mon expérience se limite à une expérimentation d'un ami sur une base de 3,5Go de texte qui tournait très lentement sous typo3. Un problème résolu ensuite avec eaccelerator et des bonnes clés sur les champs utilisés dans les requêtes.
 
WRInaute impliqué
Il semble que le type de table MyISAM soit par défaut limité en poids (4Go). Il est possible de créer des tables Merge qui renvoient sur plusieurs tables MyISAM.
Le type InnoDB par contre est conçu pour gérer d'immenses tables de texte (fonctionne avec MySQL, à condition de l'installer).
Difficile de trouver la meilleure config sous MySQL5.x pour une table simple mais lourde, type ('id unique primaire','text') :
C'est simple comme structure mais quelle config adopter si on prévoit d'avoir des centaines de millions d'enregistrements ? hmm.
 
WRInaute impliqué
Tilt a dit:
Pourquoi Oracle en particulier ?
Parceque avec Oracle, tu as en plus de pb de ressources :lol:

Quand a Mysql, pas de probleme pour avoir des bases de plusieurs Go. Il faut juste faire attention a ne pas avoir des tables superieures a la taille limite des fichiers sur ton systeme d'exploitation.
 
WRInaute impliqué
Tu as essayé ? Saurais-tu quel type de table, quelles options mysql quel config de serveur sont les mieux adaptées ? optimisation......
 
WRInaute discret
Salut,


J'ai récemment fait sauter mysql avec une table de 21 000 000 de lignes pour 2.5 Go....

Il voulait plus rien entendre... Dieu merci elle n'etait pas essentielle... Mais le moindre appel à cette table plantait le serveur mysql...
Sur la fin il avait du mal a redemarrer avec cette table et meme un count ne marchait plus...

Bref 21 000 000 C'etait trop..

Le tout sur un bi-xeon dedié et bien configuré...

Amicalement

Sebastien
 
WRInaute impliqué
Tilt a dit:
Tu as essayé ? Saurais-tu quel type de table, quelles options mysql quel config de serveur sont les mieux adaptées ? optimisation......

scourtaud a dit:
Salut,
J'ai récemment fait sauter mysql avec une table de 21 000 000 de lignes pour 2.5 Go....
...

Normal :) Comme je le disais, cela depend des limites systemes de ton serveur. Vous avez toutes les chances d'avoir un maximum de 2 a 4GO pour les tables.

Cela peut aller pour une table de 2GO a 512GO. Je ne parle pas des 8TB que l'on peut obtenir, car il y a peu de chance que quelqu'un ici ait ce qu'il faut :wink:

Tout est la, resume en quelques lignes:
http://dev.mysql.com/doc/refman/5.0/fr/table-size.html
 
WRInaute impliqué
Merci pour vos réponses intéressantes et pour la doc.

Par déduction d'après vos expériences, le mieux serait donc de limiter une table à 1Go et d'en créer plusieurs identiques, + une table "Merge" qui les indexe toutes.
Avec un test de taille qui permette de creer une nouvelle table, de mettre à jour la table merge et de reporter toutes les nouvelles insertions sur la dernière table créée.
Le genre de pb dont tu parles, scourtaud, avec perte de données, c'est justement ce que je veux surtout éviter.

Sinon, y-a t'il un moyen efficace de compresser les champs 'text' sans transformer la table en une table lecture seule et sans provoquer de ralentissements ?
 
Discussions similaires
Haut