MySQL: taille maxi d'une base pour vous

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

MySQL: taille maxi d'une base pour vous

Message le Jeu Oct 19, 2006 15:50

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.


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1619
Inscription: 30 Mai 2005

Message le Jeu Oct 19, 2006 15:56

des clusters mysql répliqués peuvent être une solution

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Jeu Oct 19, 2006 15:58

merci, as-tu de la doc là dessus, de quoi se renseigner un peu ?


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1619
Inscription: 30 Mai 2005

Message le Jeu Oct 19, 2006 16:10

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.

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Jeu Oct 19, 2006 16:27

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.


Dmx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 256
Inscription: 7 Avr 2004

Message le Jeu Oct 19, 2006 16:52

Grosses bases de donnée = Oracle

Mysql c'est bien, mais ca à ses limites ...

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Jeu Oct 19, 2006 17:03

Pourquoi Oracle en particulier ?


itsme
WRInaute impliqué
WRInaute impliqué
 
Messages: 744
Inscription: 13 Oct 2004

Message le Jeu Oct 19, 2006 19:01

Tilt a écrit: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.

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Jeu Oct 19, 2006 19:16

Tu as essayé ? Saurais-tu quel type de table, quelles options mysql quel config de serveur sont les mieux adaptées ? optimisation......


scourtaud
WRInaute discret
WRInaute discret
 
Messages: 242
Inscription: 12 Aoû 2006

Message le Jeu Oct 19, 2006 20:11

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


itsme
WRInaute impliqué
WRInaute impliqué
 
Messages: 744
Inscription: 13 Oct 2004

Message le Jeu Oct 19, 2006 20:56

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


scourtaud a écrit: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

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Ven Oct 20, 2006 11:10

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 ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités