Dans une base de données, une partition est une division logique d'une table stockée en plusieurs parties indépendantes. Il peut être horizontal (les lignes d'une même table sont divisées en plusieurs partitions) ou vertical (les colonnes d'une même table sont divisées en plusieurs lots). Le partitionnement de tables est généralement effectué pour améliorer la gestion, la performance ou la disponibilité. Chaque partition peut être placée sur des serveurs ou des disques différents. Cela permet également d'obtenir une capacité de base de données supérieure à la taille maximum des disques durs ou d'effectuer des requêtes en parallèle sur plusieurs partitions.
Les principes de partitionnement de tables dans les SGBD reposent sur la famille d'algorithmes "diviser pour régner".
Base de données orientée ligne
Le partitionnement horizontal d'une table divise les données en blocs de lignes, généralement en fonction de la clef primaire.
Base de données orientée colonne
Le partitionnement vertical d'une table divise les données en blocs de colonnes.
On décide généralement de partitionner une table de manière verticale lorsque celle-ci possède un degré trop élevé (le nombre de colonnes est appelé degré). On parle alors de table "obèse". Les critères retenus pour un partitionnement vertical sont généralement liés à l'usage de la table. On constate que certaines colonnes de la table sont lues de manière conjointe, tandis que d'autres sont ignorées. On isole alors les différentes colonnes lues conjointement pour former, en quelque sorte, des "sous-tables" liées par la clef primaire conjointe. Ce partitionnement permet de réduire la consommation des E/S (Entrées/Sorties) c'est-à-dire des pages lues ou écrites (moins d'utilisation du cache), comme de minimiser la quantité de données verrouillées lors des écritures (moins de blocages), il en résulte donc des gains de performance.
centré|vignette|1412x1412px|Table obèse pouvant être partitionnée
La table obèse montrée ci-avant, peut être découpée en plusieurs partitions verticales, chacune répondant à des besoins d'exploitation différents.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Dans une base de données, une partition est une division logique d'une table stockée en plusieurs parties indépendantes. Il peut être horizontal (les lignes d'une même table sont divisées en plusieurs partitions) ou vertical (les colonnes d'une même table sont divisées en plusieurs lots). Le partitionnement de tables est généralement effectué pour améliorer la gestion, la performance ou la disponibilité. Chaque partition peut être placée sur des serveurs ou des disques différents.
PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD. Ce système est comparable à d'autres systèmes de gestion de base de données, qu'ils soient libres (comme MariaDB et Firebird), ou propriétaires (comme Oracle, MySQL, Sybase, DB2, Informix et Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de développeurs et d'entreprises.
MySQL (prononcer []) est un système de gestion de bases de données relationnelles (SGBDR). Il est distribué sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle, PostgreSQL et Microsoft SQL Server. Son nom vient du prénom de la fille du cocréateur Michael Widenius, (prononcer []).
This course is intended for students who want to understand modern large-scale data analysis
systems and database systems. The course covers fundamental principles for understanding
and building syste
This hands-on course teaches the tools & methods used by data scientists, from researching solutions to scaling up
prototypes to Spark clusters. It exposes the students to the entire data science pipe
Explore l'appariement des patrons de mise à l'échelle dans les grands graphiques et optimise l'exécution des requêtes sous des contraintes de mémoire en utilisant le partage de travail et le traitement par lots.
Explore les bases de données parallèles et distribuées, couvrant les architectures, l'optimisation des requêtes, le stockage des données et les transactions distribuées.