Bases de données : concept, types et architecture

Une base de données est un ensemble structuré d’informations ou de données. Elle permet de stocker, organiser et gérer ces informations de manière efficace, facilitant l’accès rapide aux données et les manipulations via le langage SQL (Structured Query Language).

Dans SQL Server, une base de données est un conteneur qui regroupe des tables, des vues, des procédures stockées, des fonctions, des déclencheurs, et bien d'autres objets. Chaque base de données est un ensemble indépendant d'objets, avec des permissions et des utilisateurs propres.

3.1.2 Types de bases de données dans SQL Server

SQL Server prend en charge plusieurs types de bases de données pour différentes applications et cas d'utilisation :

  • Bases de données relationnelles : Les données sont organisées en tables avec des relations bien définies entre elles. Ce modèle garantit l'intégrité des données via des clés primaires et étrangères.

  • Bases de données OLTP (Online Transaction Processing) : Optimisées pour les opérations de lecture et d’écriture rapides, courantes dans les systèmes de gestion transactionnels.

  • Bases de données OLAP (Online Analytical Processing) : Utilisées pour l'analyse des données massives, elles sont souvent stockées dans des cubes multidimensionnels via SQL Server Analysis Services (SSAS).

  • Bases de données temporaires : La base tempdb est un espace de travail temporaire utilisé par SQL Server pour stocker des objets temporaires, des tables temporaires et gérer les transactions complexes.

3.1.3 Architecture des bases de données dans SQL Server

SQL Server utilise une architecture à plusieurs couches, où chaque base de données est composée de plusieurs fichiers physiques sur le système d’exploitation :

  • Fichiers de données principaux (.mdf) : Ils contiennent les données utilisateur et les objets de la base de données.

  • Fichiers de données secondaires (.ndf) : Optionnels, ils permettent de répartir les données sur plusieurs disques pour de meilleures performances.

  • Fichiers de journal de transaction (.ldf) : Ils enregistrent toutes les modifications effectuées dans la base de données, assurant la durabilité et la récupération des transactions en cas de panne.

L'architecture de SQL Server inclut également un système de gestion des processus appelé SQL Server Agent, qui permet l'exécution automatisée de tâches telles que les sauvegardes et la maintenance des bases de données.

3.1.4 Les types de bases de données système :

Dans SQL Server, il existe plusieurs bases de données système qui sont essentielles au bon fonctionnement de l'instance. Voici une explication des principales bases de données système présentes dans SQL Server : master, msdb, model et tempdb.

1. master

  • La base de données master est la base de données système la plus importante dans SQL Server. Elle contient toutes les informations cruciales sur l'instance de SQL Server, y compris :

    • Les informations de configuration de l'instance.

    • Les informations sur toutes les bases de données de l'instance (y compris leur emplacement, taille, etc.).

    • Les informations sur les utilisateurs, les logins, les comptes de sécurité.

    • Les objets de l'instance comme les vues système, les procédures stockées système, etc.

    En cas de corruption ou perte de cette base de données, l'instance SQL Server ne peut plus démarrer correctement.

2. msdb

  • La base de données msdb est utilisée principalement pour les tâches de planification et de gestion des tâches automatisées. Elle contient des informations sur :

    • Le service SQL Server Agent (qui permet la planification de tâches automatiques telles que les sauvegardes, les scripts de maintenance, etc.).

    • L’historique des sauvegardes/restaurations.

    • Les alertes et les notifications définies dans SQL Server.

    • L’historique des jobs (tâches) et des plans de maintenance.

    • Les informations liées à l'intégration et à la gestion des paquets SSIS (SQL Server Integration Services).

    Cette base de données est essentielle pour la gestion des opérations programmées et l'automatisation des tâches.

3. model

  • La base de données model sert de modèle pour la création de nouvelles bases de données. Chaque fois qu'une nouvelle base de données est créée dans SQL Server, une copie de la base de données model est utilisée comme modèle pour la structure de la nouvelle base. Cela inclut :

    • La taille initiale des fichiers de la base de données.

    • Les paramètres de la base (collation, options de récupération, etc.).

    • Les objets système qui devraient exister dans toute nouvelle base.

    Si vous souhaitez qu'une configuration spécifique soit appliquée à toutes les nouvelles bases de données, vous pouvez modifier la base model.

4. tempdb

  • La base de données tempdb est une base temporaire utilisée par SQL Server pour stocker des objets temporaires ou de courte durée. Cela inclut :

    • Les tables temporaires créées explicitement par l'utilisateur.

    • Les objets internes créés par SQL Server pour stocker les résultats temporaires (par exemple, lors de l'utilisation de la clause ORDER BY ou des jointures complexes).

    • Les opérations de tri qui ne tiennent pas en mémoire sont stockées ici.

    • Les tables dérivées et les résultats intermédiaires de certaines requêtes.

    La base tempdb est recréée chaque fois que SQL Server démarre, donc elle ne conserve pas les données d'une session à l'autre. Il est important de bien surveiller la taille et les performances de tempdb, car elle peut devenir un goulet d'étranglement si elle est mal configurée ou si elle manque d'espace.

Last updated