grande taille de la base de données est souvent des centaines de Go, et parfois même utiliser le calcul de la tuberculose. Les données à table unique atteignent souvent des millions de disques et enregistre le nombre augmentera au fil du temps. Cela affecte non seulement l'efficacité de la base de données de maintenance de base de données, augmente également la difficulté. En plus de la quantité de données de table, les modèles d'accès différents sur la table peut également affecter les performances et la disponibilité. Ces problèmes peuvent être assez grande surface de la table sont grandement améliorées. Lorsque les tables et les index deviennent très volumineux, le partage des données peut être divisée en parties plus petites et plus faciles à gérer pour améliorer l'efficacité du système. S'il ya plusieurs CPU ou un sous-systèmes disques multiples, vous pouvez obtenir de meilleures performances dans les opérations en parallèle. Ainsi, à la partition de la grande table pour faire face à énorme quantité de données d'une manière très efficace. Dans cet article, un exemple concret de la façon de créer et de modifier la table de partition, et la façon d'afficher la table de partition.
1, SQL Server 2005
SQL Server 2005 est le lancement de Microsoft SQL Server 2000 après un intervalle de cinq ans après le lancement d'une plateforme de base de données, son moteur de base de données relationnelles pour les données et les données structurées fournit une fonction de stockage plus sécurisé permet à l'utilisateur de construire et gérer des d'affaires, la haute disponibilité et haute performance des applications de données. En outre, SQL Server 2005 combine l'analyse, le reporting, l'intégration, et des notifications. Cela permet aux entreprises de construire et de déployer des solutions rentables BI pour aider l'équipe à travers le tableau de bord, tableau de bord, les services Web et applications de données mobiles à tous les secteurs d'activité. Les deux développeurs, administrateurs de bases de données, les travailleurs de l'information, ou de responsables politiques, SQL Server 2005 peut apporter des solutions innovantes et à gagner plus des avantages de ces données.
Il apporte de nouvelles fonctionnalités, telles que des améliorations T-SQL, partition de données, les agents du service et avec. Net Framework d'intégration dans la gestion, la disponibilité, l'évolutivité et des améliorations de sécurité, et d'autres aspects .
2, méthode de réalisation de table de partition
partition de la table divisée en partition horizontale et verticale de partition. table de partition horizontale dans plusieurs tables. Chaque table contient le même nombre de colonnes, mais moins de lignes. Par exemple, une table multi-milliards-ligne contenant le niveau de la partition en 12 tableaux, chaque petite table, a déclaré un mois de données dans une année donnée. Un mois en particulier de données suffit pour référence le mois correspondant de la table de la requête. La cloison verticale aspiré plus de la table d'origine dans le tableau ne contient que moins de colonnes. Zonage du district est la façon la plus courante de le présenter au niveau de la réalisation de district spécifiques.
partition horizontale couramment utilisés méthode est basée sur l'utilisation de la période et le niveau de la partition. Par exemple, cet exemple envoie un message log contient l'année la plus récente des données, mais seulement de visiter régulièrement ces données trimestre. Dans ce cas, tenir compte des données en quatre régions, chacune contient un quart seulement des données.
2.1, créer un groupe de fichiers
La création de la table de partition d'abord créer un groupe de fichiers, et créer des groupes de fichiers multiples est surtout d'obtenir de bons I / O équilibre. Dans des circonstances normales, le numéro de dossier du meilleur groupe et le même nombre de partitions, et ces groupes sont généralement situés dans un autre fichier sur le disque. Chaque groupe de fichiers peut se former par un ou plusieurs fichiers, chaque partition doit être mappé à un groupe de fichiers. Un groupe de fichiers peut être utilisé par plusieurs partitions. Afin de mieux gérer les données (par exemple, afin d'obtenir plus précises de contrôle de sauvegarde), sur la table de partition doit être conçu de sorte que seules les données pertinentes, ou le regroupement logique des données dans le groupe même dossier. Utilisez ALTER DATABASE, ajouter le nom de fichier logique de groupe:
ALTER] DATABASE [DeanDB ADD FILEGROUP [FG1]
DeanDB pour le nom de base de données, FG1 nom de groupe de fichiers. Créer un groupe de fichiers, puis utilisez ALTER DATABASE pour ajouter des fichiers au groupe de fichiers:
[Base de données ALTER DeanDB] ADD FILE (nom = N'FG1 ', filename = N'C: DeanDataFG1.ndf', size = 3072KB, FILEGROWTH = 1024 Ko) À FILEGROUP [FG1]
La mise en place d'un groupe similaire de quatre papiers et documents et de stocker des données pour chaque fichier sur disque différent.
2.2, créer une fonction de partition
Créer une partition table fonction de partition doit être déterminée mécanisme, la fonction de partition de table de partition standard est déterminé par. Créer une fonction de partition de données a RANGE LEFT | / DROITE "deux options. Au nom de chacun de quel côté de la valeur limite dans le local. Par exemple, il ya quatre partitions, puis la définition de la valeur frontière trois points, et spécifier chaque valeur est la première partition sur la frontière (à gauche) ou une deuxième partition de la limite inférieure (droite). Code:
Créer une partition [FUNCTION SendSMSPF] (datetime) AS DROIT DE GAMME VALUES ('20070401 ', '20070701', '20071001 ')
2.3, créer un schéma de partition
fonction de partition créer, il doit être associé avec le schéma de partitionnement de partitionner un document montrant un groupe spécifique. Est de définir la réelle de stockage de supports de données et la correspondance entre les blocs de données. Plusieurs données de la table peuvent partager les mêmes données de la fonction de partition, généralement ne partagent pas les mêmes données système de partitionnement. Par schéma de partitionnement différent, utilisez la fonction de partition même, les tableaux de données différentes ont les mêmes conditions géographiques, mais stockées dans différents médias. Créer un code de programme de partition est la suivante:
[CREATE schéma de partition SendSMSPS] AS [PARTITION SendSMSPF] A ([FG1], [FG2], [GPC3], [FG4])
2.4, créer une table de partition
La mise en place d'une fonction de partition et de bonne schéma de partition, vous pouvez créer une table de partition. touches partition table de partition et la partition en définissant le programme associé. Insérez le disque, SQL SERVER clés basées sur la partition différente, fonction de partition est définie par les données dans la partition appropriée. Ainsi, la fonction de partition, le schéma de partition et la table de partition en combinant les trois. Le code pour créer la table de partition est la suivante:
CREATE TABLE SendSMSLog ([ID] [int] IDENTITY (1,1) NOT NULL, [IDNUM] [nvarchar] (50) NULL, [SendContent] [texte] NULL [SendDate] [datetime] NOT NULL,) ON SendSMSPS ( SendDate)
2,5, afficher les informations de table de partition
Système en marche pendant un certain temps ou que les données antérieures sur la table de partition, il faut voir les conditions de stockage de données spécifique, qui est, le nombre d'enregistrements pour chaque district d'accéder à ces dossiers d'accès dans cette zone et ainsi de suite. $ Partition.SendSMSPF nous pouvons voir, le code est le suivant:
SELECT partition.SendSMSPF $ (o.SendDate) AS [Partition] Numéro, min (o.SendDate) AS [Min] SendDate, max (o.SendDate) AS [Max] SendDate, COUNT (*) AS [lignes de partition] DE dbo.SendSMSLog AS oGROUP PAR partition.SendSMSPF $ (o.SendDate) ORDER BY [Partition] Numéro
Dans la mise en œuvre du script ci-dessus dans l'Analyseur de requêtes, les résultats présentés dans la figure 1:
informations Figure 1: La table de partition
2.6 Division Maintenance
Partition ajouter entretien partition principale de la conception, de réduire, de fusionner et convertir des partitions. Par ALTER PARTITION FUNCTION option SPLIT, la fusion et ALTER TABLE SWITCH option à réaliser. SPLIT passera plus d'une zone, mais MEGRE combinera ou de réduire la partition, SWITCH est la conversion entre les partitions logiques dans le groupe.
3, comparaison des performances
Nos données sur les 26,5 millions, environ 4G espace mémoire occupé par la comparaison des performances des IBM365 table unique environnement de test, CPU Xeon 2,7 g * 2, de la mémoire, 16G, disque dur 136g * 2, la plate-forme système de Windows 2003 SP1 + SQL Server 2005 SP1 . Les résultats du tableau 1:
table de partition Tableau 1: Comparaison de performance de la partition et non pas (unité: ms)
Test partition article n'est pas de partition
11654661466
21333
32014061546
41714061000
Description:
1, selon le temps d'un relevé quotidien le temps consacré à la récupération
2, un seul enregistrement dans le temps passé
3, selon le temps d'un relevé quotidien le temps nécessaire pour supprimer
record 4, le nombre de temps mensuel de statistiques économiques
Comme on peut le voir dans le tableau 1, à opérer sur la table de partition de table de partition que pas plus rapide, car le fonctionnement de la table de partition en utilisant le CPU et I / O, le fonctionnement en parallèle, la quantité de données pour récupérer des données sont également plus petits, l'emplacement plus courte des données de temps.
4 Conclusion
Du traitement des données massive a été un casse-tête. la technologie de séparation, c'est que tous les concepteurs sont les premiers à examiner la question de savoir si la séparation des fonctions de programme d'application ou de la séparation de l'accès aux données, si à un plan raisonnable, Dunengshifen Youxiao des questions Jiejue de données à grande efficacité table basse, il Weihuchengben supérieur. SQL Server 2005 dispose de la nouvelle table des partitions, vous pouvez partitionner les données raisonnable, lorsque l'utilisateur l'accès à certaines données, SQL Server Engine permet d'optimiser le stockage physique des données pour trouver la meilleure mise en œuvre du programme, ce qui n'est pas une aiguille dans une botte de foin .