9
2.2 Structures de stockage
l’exécution de la requête. Les ordres d’extraction ou d’écriture proprement dits sont
envoyés au moteur de stockage, dont la responsabilité est, outre de lire et écrire les
pages de données, de gérer aussi la cohérence transactionnelle, notamment à travers
le verrouillage. Toute la communication entre SQL Server et le serveur physique sur
lequel il est installé, est prise en charge par une couche d’abstraction nommée
SQLOS (OS pour Operating System), une sorte de système d’exploitation intégré au
moteur, dont nous reparlerons plus loin dans ce chapitre.
La séparation des rôles entre moteur relationnel et moteur de stockage est une
constante dans les architectures des SGBDR, certains permettent même le choix
entre différents moteurs de stockage, comme MySQL.
Nomenclature SQL Server
Il est utile de spécifier ici les termes utilisés dans le cadre d’un serveur SQL Server. Il est par
exemple à noter que les différents termes peuvent sembler troublants pour un développeur
habitué à Oracle, car la nomenclature d’Oracle est sensiblement différente de celle de SQL
Server.
Un serveur SQL est un service Windows, qui est appelé une instance. Ainsi, chaque installation de SQL Server sur une même machine crée une nouvelle instance. Une seule instance
par défaut est possible par serveur : les autres instances sont appelées « instances
nommées ». Il est ainsi possible d’installer des versions et des éditions différentes sur la même
machine. Ensuite, une même instance peut comporter un grand nombre de bases de
données, qui sont fortement isolées les unes des autres, notamment du point de vue de la
sécurité. Ces bases de données contiennent des schémas, qui sont des conteneurs logiques
conformes à la norme SQL, et ne sont en rien liés à des structures physiques de stockage ou
à des utilisateurs de la base. Un objet tel qu’une table, une vue, une procédure stockée, etc.
appartient à un et à un seul schéma.
2.2 STRUCTURES DE STOCKAGE
Le défi des SGBDR comme SQL Server est d’assurer les meilleures performances
possibles lors de l’écriture et de la lecture de larges volumes de données. Pour ce
faire, chaque éditeur soigne son moteur de stockage avec d’autant plus de sérieux que
l’accès aux disques durs, quelles que soient leurs spécifications, est l’élément le plus
lent d’un système informatique.
Pour assurer ce stockage de façon optimale, SQL Server utilise deux types de
fichiers différents : fichiers de données et fichiers de journal de transaction.
2.2.1 Fichiers de données
Les fichiers de données offrent un stockage structuré organisé selon un modèle schématisé dans la figure 2.2. Un groupe de fichiers peut contenir un ou plusieurs
fichiers, qui eux-mêmes contiennent des pages de données ou d’index, regroupés
dans des extensions (extents).
Précédent

- 21/334

Suivant