Tables InnoDB <<< |
Accès disques | Utiliser les raw devices pour l'espace de tables >>> |
16.15 Gestion de l'espace fichiers et des entrées/sorties disque 16 Tables InnoDB Manuel de Référence MySQL 4.1 : Version Française ->Accès disques . Utiliser les raw devices pour l'espace de tables . Gestion de l'espace fichier . Défragmentation des tables |
16.15.1 Accès disquesLors des accès disque, InnoDB utilise un accès asynchrone. Sous Windows NT, il utilise le mode natif asynchrone, fourni par le système d'exploitation. Sous Unix, InnoDB utilise un mode asynchrone simulé, intégré à InnoDB : InnoDB crée un nombre de threads d'accès disques pour prendre en charge les opérations disques, comme les lectures. Dans les prochaines versions, nous allons ajouter le support des accès disques simulés à Windows NT et les accès natifs à Unix. Sous Windows NT, InnoDB utilise des accès non bufferisés. Cela signifie que les pages disques que InnoDB lit ou écrit ne sont pas mis en cache par le système d'exploitation. Cela économise de la mémoire. Depuis la version 3.23.41, InnoDB utilise une nouvelle technique de flush de fichier, appelée doublewrite. Elle apporte de la sécurité lors de la restauration après crash du système d'exploitation, ou un problème électrique, et améliore les performances sous Unix, pour plusieurs distributions, en réduisant le besoin de synchronisation.Doublewrite (Double écriture, en français) signifie que InnoDB , avant d'écrire les pages dans le fichier de données, les écrits dans une zone continue d'espace, appelée un buffer de double écriture. Une fois que cette écriture est faite, que le buffer de double écriture a été vidé, InnoDB écrit les pages à leur destination finale. Si le système d'exploitation crashe entre temps, InnoDB va trouver une bonne copie des données dans le buffer, lors de la restauration. Depuis la version 3.23.41, vous pouvez aussi utiliser une partition brute de disque comme fichier de données, même si cela n'a pas été testé pour le moment. Lorsque vous crée un nouveau fichier de données, vous devez ajouter le mot clé newraw immédiatement après la taille du fichier de données, dans innodb_data_file_path . La partition doit être supérieure ou égale à cette taille. Notez que 1M pour InnoDB est 1024 x 1024 octets, alors que les spécifications de disques utilisent souvent la convention de 1 Mo vaut 1000 000 octets (un million).
InnoDB dispose de deux heuristiques de lectures : lecture séquentielle et lecture aléatoire. En mode séquentiel, InnoDB remarque que l'accès à un segment de la table est séquentiel. Il va alors anticiper, et faire des lectures de plusieurs pages dans la base. En mode aléatoire, InnoDB note qu'une partie de la table est lue dans son entier. Il va alors anticiper, et faire automatiquement les dernières lectures. |
<< | Accès disques | >> |
Tables InnoDB | Gestion de l'espace fichiers et des entrées/sorties disque | Utiliser les raw devices pour l'espace de tables |