
Qu’est-ce que le Partitionnement?
Le partitionnement consiste à diviser les grands objets de base de données, comme les tables, les index, et les vues, en parties plus petites et plus faciles à gérer. Cette méthode améliore l’organisation des données, facilitant ainsi la gestion de grands ensembles de données et la montée en performance, surtout pour les données complexes ou volumineuses.
Les principaux avantages du partitionnement sont une meilleure contrôlabilité, performance, et disponibilité. Cela permet aux administrateurs d’optimiser et de maintenir différentes parties de la base de données indépendamment, améliorant ainsi l’efficacité des requêtes et la disponibilité du système tout en permettant des stratégies de gestion plus ciblées.
- Dans certains cas, le partitionnement améliore les performances lors de l’accès aux tables partitionnées.
- Le partitionnement peut jouer le rôle de colonnes principales dans les index, ce qui diminue la taille de l’index et augmente la possibilité de trouver les index les plus recherchés en mémoire. Lorsqu’une grande partie d’une section est utilisée dans le jeu de résultats, le balayage de cette section peut être effectué beaucoup plus rapidement qu’un accès occasionnel aux données réparties dans toute la table par index.
- Le chargement massif et la suppression de données peuvent être réalisés en ajoutant et en supprimant des sections, ce qui aide à augmenter les performances.
- Les données rarement utilisées peuvent être téléchargées sur des dispositifs de stockage de données moins coûteux.

Dans DataSunrise, le partitionnement est utilisé pour diviser les tables de la base de données de stockage d’audit en sections (tables plus petites). Le Stockage d’Audit est une base de données utilisée pour stocker les résultats du Monitoring des Activités de Base de Données de DataSunrise.
- Rend l’administration du Stockage d’Audit plus simple, car les données partitionnées sont distribuées par partitions selon la date du partitionnement. L’administrateur de la base de données peut désactiver l’interrogation des partitions, les archiver, etc.
- Augmente les performances lors de l’accès, de la récupération des données et de l’écriture de données dans les tables partitionnées;
- Augmente les performances lors de la suppression des données d’audit obsolètes du Stockage d’Audit;
DataSunrise prend en charge le partitionnement pour les types suivants de bases de données de Stockage d’Audit :
- PostgreSQL
- MySQL
- MS SQL Server
Paramètres de Partitionnement
Peuvent être trouvés dans Paramètres Système -> Paramètres supplémentaires.
- Longueur des Partitions (jours) – longueur des partitions, jours (si AuditPartitionShort == 1, alors minutes). Peut être trouvé dans Paramètres Système -> Stockage d’Audit. Si Longueur des Partitions est modifiée, toutes les partitions créées à l’avance seraient supprimées et de nouvelles partitions seraient créées avec les nouveaux paramètres de Longueur des Partitions.
- AuditPartitionCountCreatedInAdvance – nombre de partitions créées à l’avance. Ainsi, des partitions vides créées pour être remplies à l’avenir. Cela permet à DataSunrise d’écrire des données dans des partitions existantes sans délai;
- AuditPartitionFirstEndDateTime – date/heure de la fin de la première partition. Cette heure est nécessaire pour l’ajustement des limites des partitions autour d’une valeur “ronde”. Par exemple : lundi 00:00:00 (pour une longueur de partition de 7 jours).
Partitionnement dans les Environnements de Données Modernes
Le partitionnement est devenu essentiel dans les environnements de big data. De nombreuses plateformes de cloud offrent des options de partitionnement automatique. AWS Redshift utilise des styles de distribution pour une disposition optimale des données. Azure Synapse emploie des méthodes de distribution pour améliorer les performances des requêtes. Le partitionnement fonctionne bien avec les lacs de données stockant des pétaoctets d’informations. Il permet une récupération plus rapide des données dans les applications de business intelligence. De nombreuses organisations mettent en œuvre des stratégies de partitionnement basées sur le temps. Cette approche fonctionne bien pour les données historiques et les séries chronologiques. Un partitionnement approprié réduit les coûts en optimisant l’utilisation du stockage. Il améliore également la conformité aux politiques de conservation des données.
Stratégies Efficaces de Distribution des Données
Créer des stratégies efficaces de distribution de la base de données nécessite une planification minutieuse basée sur les modèles d’accès et les exigences commerciales. L’organisation par plage fonctionne mieux pour les valeurs séquentielles comme les dates, permettant aux équipes d’accéder rapidement aux données récentes tout en archivant les informations plus anciennes.
La distribution par hachage répartit les données uniformément entre les segments de stockage, idéale pour l’équilibrage de charge dans des environnements à haute concurrence. Les approches basées sur les listes organisent les enregistrements par valeurs catégoriques spécifiques, les rendant parfaites pour la segmentation géographique ou par département.
De nombreuses organisations mettent en œuvre des méthodes hybrides, combinant plusieurs techniques de distribution pour maximiser les avantages de performance tout en minimisant la surcharge de maintenance. Une analyse régulière du nettoyage garantit que les requêtes ciblent constamment uniquement les segments de données nécessaires, offrant des performances optimales à mesure que les volumes de données augmentent.
Gestion des Partitions dans DataSunrise
DataSunrise inclut des mécanismes de gestion des partitions : DataSunrise crée des tables supplémentaires nécessaires au fonctionnement (pour PostgreSQL), crée et maintient à jour les fonctions de partitionnement, les schémas partitionnés, les groupes de fichiers et les index (pour MS SQL), modifie les clés et les index pour se conformer aux exigences de partitionnement (MySQL), active le partitionnement, crée et supprime des partitions.
Les SELECTs sont effectués via la table principale. Les INSERT/UPDATEs sont effectués directement vers la partition (sauf pour MS SQL Server). Cela contribue à augmenter la vitesse d’écriture.
Noms des Partitions et des Tables
Les partitions pour PostgreSQL sont organisées comme des tables enfants nommées <table_name>_p<datetime>, où <table_name> est la table principale, <datetime> est l’heure supérieure de la partition au format suivant : YYYYMMDDhhmm.
Pour MySQL, le partitionnement est mis en œuvre en utilisant des mécanismes natifs. Les noms des partitions sont formés selon le schéma suivant : p<datetime>, où <datetime> est l’heure supérieure de la partition au format suivant : YYYYMMDDhhmm.
Pour MS SQL Server, le partitionnement est mis en œuvre via le schéma.