AccueilđŸ‡«đŸ‡·Chercher

Partitionnement (Oracle)

Le partitionnement de la base de données Oracle est un module de division des données d'Oracle, payant et fréquemment utilisé sur des tables de volumétrie importante pour en augmenter les performances[1].

Le partitionnement

Le partitionnement permet de découper une table ou un index sur des critÚres logiques. La table se comporte alors comme plusieurs tables de dimensions plus petites. Les avantages principaux du partitionnement sont :

  • de pouvoir dĂ©finir des critĂšres de stockage diffĂ©rents pour chacune des partitions (tablespace, initial...)
  • le dĂ©coupage logique de la table permet un accĂšs plus rapide aux informations (moins de lectures disques Ă  effectuer en particulier)

Types de partitionnements

Il existe trois grands types de partitionnements :

  • by range : on dĂ©finit les partitions par tranche supĂ©rieure exclusive (toutes les donnĂ©es < 0)
  • by list : on dĂ©finit une valeur par partition (utilisĂ© lorsque la liste de valeurs pour le champ considĂ©rĂ© est faible)
  • by hash : la partition de stockage est calculĂ©e dynamiquement par un calcul de type hash code, ce mode impose un nombre de partitions 2^n
  • composite : c'est une mĂ©thode de partitionnement hybride. Les donnĂ©es sont d'abord partitionnĂ©es by range. Ensuite, chaque partition sera sous-partitionnĂ©e soit by hash ou by list. Il n'est pas nĂ©cessaire d'avoir exactement le mĂȘme nombre de sous-partitions par partition : par exemple, une partition peut ĂȘtre constituĂ©e de 4 sous-partitions alors qu'une autre sera composĂ©e de 5 sous-partitions.

Le mĂ©canisme de dĂ©coupage logique peut ĂȘtre Ă©tendu sur plusieurs champs, ainsi que sur deux niveaux. On parle dans ce cas de sous-partitionnement.

RANGE / HASH (8i)

RANGE / LIST (9i)

RANGE / RANGE (11g)

LIST / RANGE (11g)

LIST / HASH (11g)

Partitionnement local ou global

Il existe deux façons de partitionner un index sous Oracle :

  • locally partitioned index : pour chaque partition de table crĂ©Ă©e, il y a une (et une seule) partition d'index. Les donnĂ©es dans chaque partition d'index pointent sur l'ensemble des donnĂ©es d'une et unique partition de table. Logiquement, si la table a N partitions, l'index aura Ă©galement N partitions
  • globally partitioned index : l'index est partitionnĂ© indĂ©pendamment de la table. Une partition d'index peut pointer sur des donnĂ©es dans une ou plusieurs partitions de table. Un index globalement partitionnĂ© ne peut ĂȘtre que partitionnĂ© by range. Les index sur des tables partitionnĂ©es sont, par dĂ©faut, des index globaux sur une seule partition (en effet, par dĂ©faut, ils ne sont pas partitionnĂ©s).

Notes et références

Voir aussi

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.