Tablespace

espace de stockage des données

Un tablespace est un espace de stockage dans lequel des données composant les bases de données peuvent être enregistrées. Il fournit une couche d'abstraction entre les données logiques et les données physiques[1], et sert d'espace d'allocation pour tous les segments pris en charge par le système de gestion de bases de données (un segment de base de données est un objet de base de données qui occupe un espace physique, comme les données d'une table ou d'un index). Une fois créé, le tablespace peut être référencé par son nom lors de la création des segments de base de données.

Le tablespace spécifie uniquement l'espace de stockage de la base de données, non la structure logique de celle-ci ou le modèle de données. Par exemple, différents objets du même schéma de base peuvent reposer sur différents tablespaces. De même, un tablespace peut servir des segments provenant de différents schémas. Parfois, il peut être utilisé pour spécifier le schéma et ainsi faire le lien entre les données physiques et logiques. En utilisant les tablespaces, un administrateur peut contrôler l'utilisation de l'espace disque d'une installation. Les tablespaces sont couramment utilisés pour optimiser les performances. Par exemple, un index énormément utilisé peut être placé sur un SSD (mémoire flash, chère et rapide). A contrario, une table qui contient des données archivées et qui est rarement accédée peut être stockée sur un HDD (disque dur classique, bon marché mais lent).

Alors qu'il est courant pour les tablespaces de stocker leurs données dans un fichier du système de fichiers, un fichier donné ne peut appartenir qu'à un seul tablespace. Certains systèmes de base de données autorisent la configuration des tablespaces directement via la gestion des périphériques au niveau système d'exploitation (raw devices), assurant de meilleures performances en évitant la surcharge du système d'exploitation.

Oracle stocke les données logiquement dans les tablespaces et physiquement dans des fichiers de données associés aux tablespaces correspondants.

Notes et références

modifier
  1. (en) Andrew J. Oppel, Databases : a beginner's guide, New York, McGraw Hill Professional, , 478 p. (ISBN 978-0-07-160846-6, lire en ligne), p. 44

    « […] a logical file that forms a layer of abstraction between the physical and logical layers, thereby providing better logical data independence »

    .