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

InnoDB (MySQL 5.5.8) est-il le bon choix pour des lignes de plusieurs milliards ?

Une réponse simple à votre question serait oui InnoDB serait le choix parfait pour un ensemble de données de plusieurs milliards de lignes.

De nombreuses optimisations sont possibles.

Les optimisations les plus évidentes consisteraient à définir un grand pool de mémoire tampon, car le pool de mémoire tampon est la chose la plus importante en ce qui concerne InnoDB, car InnoDB met en mémoire tampon les données ainsi que l'index dans le pool de mémoire tampon. Si vous avez un serveur MySQL dédié avec uniquement des tables InnoDB, vous devez configurer jusqu'à 80 % de la RAM disponible à utiliser par InnoDB.

Une autre optimisation la plus importante consiste à avoir des index appropriés sur la table (en gardant à l'esprit le modèle d'accès/de mise à jour des données), à la fois primaires et secondaires. (N'oubliez pas que les index primaires sont automatiquement ajoutés aux index secondaires).

Avec InnoDB, il y a quelques avantages supplémentaires, tels que la protection contre la corruption des données, la récupération automatique, etc.

En ce qui concerne l'augmentation des performances d'écriture, vous devez configurer vos fichiers journaux de transactions pour qu'ils atteignent un total de 4 G.

Une autre chose que vous pouvez faire est de partitionner la table.

Vous pouvez obtenir plus de performances en définissant le bin-log-format sur "row" et en définissant le auto_inc_lock_mode sur 2 (cela garantira qu'innodb ne détient pas de verrous au niveau de la table lors de l'insertion dans des colonnes à incrémentation automatique).

Si vous avez besoin de conseils spécifiques, vous pouvez me contacter, je serais plus que disposé à vous aider.