Mysql
 sql >> Base de données >  >> RDS >> Mysql

Conception de base de données pour une très grande quantité de données

Puisque vous avez demandé comment les grandes entreprises abordent (généralement) cela :

Ils ont généralement un dba (administrateur de base de données) qui vit et respire la base de données utilisée par l'entreprise.

Cela signifie qu'ils ont des personnes qui savent tout, de la façon de concevoir les tables de manière optimale, de profiler et d'ajuster les requêtes/index/OS/serveur jusqu'à savoir quelle révision du micrologiciel du contrôleur RAID peut causer des problèmes pour la base de données.

Vous ne parlez pas beaucoup du type de réglage que vous avez effectué, par exemple

  • Utilisez-vous des tables MyISAM ou InnoDB ? Leurs performances (et non des moindres leurs fonctionnalités) sont radicalement différentes pour différentes charges de travail.
  • Les tables sont-elles correctement indexées en fonction des requêtes que vous exécutez ?
  • exécutez EXPLAIN sur toutes vos requêtes - ce qui vous aidera à identifier les clés qui pourraient être ajoutées/supprimées, si les clés appropriées sont sélectionnées, comparez les requêtes (SQL vous laisse beaucoup de moyens pour accomplir les mêmes choses)
  • Avez-vous réglé le cache de requête ? Pour certaines charges de travail, le cache de requêtes (activé par défaut) peut entraîner un ralentissement considérable.
  • De combien de mémoire dispose votre box ? Mysql est-il adapté pour en tirer parti ?
  • Utilisez-vous un système de fichiers et une configuration de raid orientés vers la base de données ?
  • Parfois, une petite dénormalisation est nécessaire.
  • Différents produits de base de données auront des caractéristiques différentes. MySQL peut être extrêmement rapide pour certains sites de travail et lent pour d'autres.