Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1542 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SGBD à moyenne volumétrie : MySQL => SQL Server ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SGBD à moyenne volumétrie : MySQL => SQL Server ?

n°2273403
XTC
Иo Яєδєmρtion
Posté le 14-01-2016 à 10:52:37  profilanswer
 

Bonjour,
 
J'ai développé un script PHP chargé de récupérer une relativement grande quantité de données (pour un particulier) dans le cadre d'un projet scolaire. Ma moulinette tourne quotidiennement et enregistre dans une base MySQL entre 40 et 50K lignes x 150 colonnes (soit 600K à 750K données) chaque jour.
 
La base grossissant et comme je constate qu'elle commence à avoir un peu de mal vu la taille de la table, je me demande si ça ne vaudrait pas le coup de passer la base de données sur SQL Server, d'autant plus que j’ai une licence par mon école. Il me semble avoir vu que ce SGBD gérait mieux les volumétries de plus de plusieurs centaines de Mo.
 
Qu'en pensez vous ?

mood
Publicité
Posté le 14-01-2016 à 10:52:37  profilanswer
 

n°2273404
TotalRecal​l
Posté le 14-01-2016 à 11:09:59  profilanswer
 

Pas forcément, ça dépend de la structure des données et du type de requêtes à exécuter.

 

Déjà une table à 150 colonnes ça n'est pas très recommandé comme modèle, ça stocke quoi ?
Qu'entend tu par "un peu de mal", sur quel type d'opérations ?

 

Ensuite il faut tenir compte de l'environnement d'hébergement : PHP + mySql en général c'est du LAMP, SQL Server c'est sous windows...


Message édité par TotalRecall le 14-01-2016 à 11:11:15

---------------
Topic .Net - C# @ Prog
n°2273466
rufo
Pas me confondre avec Lycos!
Posté le 15-01-2016 à 12:05:43  profilanswer
 

Avant de changer de SGBD, as-tu fais les choses suivantes :
1) le serveur a au moins 2 Go de Ram dispo pour Mysql ?
 
2) le serveur a un CPU d'au moins 2.5 GHz ?
 
3) le serveur est dédié à Apache/PHP/Mysql ?
 
4) as-tu tuné le fichier de conf de Mysql ? En particulier, augmenter la taille de certain caches ?
 
5) ta table est-elle correctement indexée ? Suivant la nature des traitements, certains indexes peuvent ralentir le traitement et au contraire, des indexes peuvent grandement l'accélérer. Il faut donc faire des tests.
 
6) tes requêtes utilisent-elles les bons indexes ? (vérifier avec la commande EXPLAIN)
 
7) 150 colonnes, a priori, c'est n'importe quoi comme structure. Ca ressemble fort à un fichier Excel transposé dans une BD, à plat, donc qui ne respecte pas la forme 3NF de Codd. Normaliser la BD pourrait sans doute aider. Après, là encore, une BD "trop" normalisée peut ralentir certains traitement à cause d'un grand nombre de jointures.
 
8) le partitionnement (fonction native de Mysql, dasn ton cas, un partitionnement sur une colonne contenant des dates, par ex) d'une grosse table peut accélérer les traitements.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2273498
Paul JR
Posté le 15-01-2016 à 15:23:46  profilanswer
 

Passer à SQL Server ne t'apportera peut être rien de mieux à part un tas d'ennuis. Beaucoup de sociétés utilisent MySQL ou MariaDB et ce y compris pour de très fortes volumétries.
Comme précisé ci dessus il y à peut être des optimisations à faire coté SGBD, tu as pas mal de chose à voir dans la doc mysql, par exemple les différentes optimisations possibles et le fichier de configuration.  
Déjà tu essai de résoudre quel probleme au juste, les ajouts sont devenus trop lents, ou le probleme c'est pour récupérer les  infos ?

n°2273501
rufo
Pas me confondre avec Lycos!
Posté le 15-01-2016 à 15:39:32  profilanswer
 

9) vérifier si un moteur comme MyIsam ou MEMORY n'accélère pas les traitements (pas besoin d'InnoDB).
 
10) Je me suis laissé dire que MariaDB était un peu plus rapide que mysql...


Message édité par rufo le 15-01-2016 à 15:39:43

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2273503
Paul JR
Posté le 15-01-2016 à 15:56:45  profilanswer
 

Myisam c'est généralement le plus rapide sur les transactions simples, donc le bon choix quand on à pas besoin des fonctions d'innodb. Logiquement sur les insertions de données Myisam est bien plus rapide que innodb, et en fait aussi plus rapide que SQL Server.


Message édité par Paul JR le 15-01-2016 à 15:57:18
n°2273586
gzii
court-circuit
Posté le 17-01-2016 à 14:39:33  profilanswer
 

J'ai monté une base mysql qui fait actuellement 23 Go.
Pas de souci particulier, à part quelques requêtes que j'ai modifié et parfois des tables temporaires pour que ça soit plus rapide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SGBD à moyenne volumétrie : MySQL => SQL Server ?

 

Sujets relatifs
Requête SQL avec liaison multi-tablesPerformance MongoDB vs MySQL, resultat étonnant
Tableau PHP a partir de MySQL[SQL] Select un nbre max de données = selectionner une ligne sur n.
[MySQL] Grouper en prenant la plus grande valeur[SQL] Requètes imbriquées ?
[SQL] Jointure pour villes dans régionAide pour finir - requete SQL avec search avec jointures
[SQL] [facile] selection des données de plus de 256 lignes. 
Plus de sujets relatifs à : SGBD à moyenne volumétrie : MySQL => SQL Server ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR