Aller au contenu
Accueil » Articles de conseil » Les fichiers d’une base de données

Les fichiers d’une base de données

Les fichiers

Les bases de données sont contenues physiquement dans des fichiers.

Les fichiers portent généralement les extensions :

  • MDF (Main Database File) pour le premier fichier de données, comportant certaines pages techniques vitales, notamment la structure du stockage de la base
  • NDF (Next Database File) pour les autres fichiers de données
  • LDF (Log Database File) pour les fichiers du journal de transaction

Les fichiers sont divisés en blocs de 8196 octets appelés pages et organisées par ensembles de 8 pages consécutives appelées extensions. Jusqu’à la version 2000, les lignes étaient limitées à une taille maximale de 8060 octets (les colonnes de type LOBs (image, text, ntext) n’étant pas comptabilisées dans cette limite). Depuis la version 2005 il est possible de dépasser largement cette limite et d’aller jusqu’à 2 milliards d’octets. En revanche la taille utile de la page est de 8096 octets.

Les bases de données ne peuvent fonctionner que lorsque tous les fichiers sont présents, mais la lecture est possible au cours de la restauration, via le concept de restauration fragmentaire (piecemeal).

Les fichiers de données sont regroupés logiquement dans la base de données dans des groupes de fichiers qui constituent la destination des objets de la base (table, index…) Un groupe de fichier est considéré comme l’unité de stockage de toute table ou index et si ce groupe contient plusieurs fichiers, alors SQL Server répartit les données dans tous les fichiers (équivalent à un RAID 0), les opérations de lecture et d’écriture étant effectuées en parallèle dans les différentes fichiers, sous le contrôle direct du moteur de stockage de SQL Server. Ces fichiers et groupes de fichiers peuvent être sauvegardés de façon indépendante même s’il existe une interdépendance logique entre les objets d’un fichier et d’un autre (intégrité référentielle en particulier).

La possibilité de placer plusieurs fichiers de données dans le groupe de fichiers vous permet de répartir la charge entre les différents périphériques de stockage, ce qui contribue à améliorer les performances d’E/S du système. En revanche, le journal de transactions ne bénéficie pas des multiples fichiers car SQL Server écrit dans le journal de transactions de manière séquentielle.

La séparation entre le placement d’objets logiques dans les groupes de fichiers et les fichiers de base de données physiques vous permet d’affiner la disposition des fichiers de base de données, en tirant le meilleur parti du sous-système de stockage. Le nombre de fichiers de données prenant en charge une charge de travail donnée peut varier en fonction des besoins pour prendre en charge les exigences d’E/S et la capacité prévue, sans affecter l’application. Ces variations dans la disposition de la base de données sont transparentes pour les développeurs d’applications, qui placent les objets de base de données dans les groupes de fichiers plutôt que dans les fichiers de base de données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *