Edition 2012 – 10 et 11 décembre
Rejoignez la Communauté
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
SQL SERVER : STOCKAGE INTERNE
11 décembre 2012
Edition 2012 – 10 et 11 décembre
SOMMAIRE
David Barbarin
~10 ans expérience SQL Server
 Insentia SA
Blog : http://blog.d...
Edition 2012 – 10 et 11 décembre
SOMMAIRE
 Instant database file initialization et impact sur les fichiers de bases
de do...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
INSTANT DATABASE FILE
INITIALIZATION
Edition 2012 – 10 et 11 décembre
INSTANT DATABASE FILE INITIALIZATION
 Fichiers initialisés par une opération de rempliss...
Edition 2012 – 10 et 11 décembre
INSTANT DATABASE FILE INITIALIZATION
 INSTANT DATABASE FILE INITIALIZATION est une fonct...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
TABLES, ALLOCATION, PAGES,
EXTENT …
Edition 2012 – 10 et 11 décembre
TABLES ET ALLOCATION
Table / Index
Partition Partition
Heap / B-tree
(Hobt)
Heap / B-tree...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
PAGES
 Une table ce n’est pas un tableau et des lignes du point de vue
stockage !!!
 Le...
Edition 2012 – 10 et 11 décembre
PAGES
Header
CBA
Row A
Row B
Row C
96 octets
8096 octets
2 octets / ligne
Edition 2012 – 10 et 11 décembre
PAGES
 Fonctions non documentées permettant de visualiser les pages
 DBCC PAGE, DBCC IN...
Edition 2012 – 10 et 11 décembre
PAGES
 Pages systèmes
• Boot page : Stocke des informations critiques (page 9 fichier 1)...
Edition 2012 – 10 et 11 décembre
PAGES
 Pages systèmes
 GAM : Global Allocation Map
 Détermine si une extent est dispon...
Edition 2012 – 10 et 11 décembre
PAGES
 Pages systèmes
 DCM : Differential Change Map
 Traque les extents modifiées dep...
Edition 2012 – 10 et 11 décembre
PAGES
 Pages systèmes
 IAM : Index Allocation Map
 Permet de connaître quelles extents...
Edition 2012 – 10 et 11 décembre
EXTENSIONS
 Une extension est un regroupement de 8 pages de données contiguës
 Les exte...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
STOCKAGE D’UNE LIGNE DE DONNÉES
 Format de stockage FixedVar
1 octets 1 octets 2 octets ...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
Merci à nos Sponsors
Rencontrez les dans l’espace partenaires
Sponsors Platinum
Sponsors ...
Edition 2012 – 10 et 11 décembre
Continuez l’expérience online
Rejoignez la Communauté
Prochain SlideShare
Chargement dans…5
×

SQL Server stockage interne

348 vues

Publié le

SQL Server et stockage interne

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

SQL Server stockage interne

  1. 1. Edition 2012 – 10 et 11 décembre Rejoignez la Communauté
  2. 2. Edition 2012 – 10 et 11 décembre Sponsors Platinum SQL SERVER : STOCKAGE INTERNE 11 décembre 2012
  3. 3. Edition 2012 – 10 et 11 décembre SOMMAIRE David Barbarin ~10 ans expérience SQL Server  Insentia SA Blog : http://blog.developpez.com/mikedavem/ Twitter : @mikedavem Conseil et formation oArchitecture système et Bases de Données oHaute disponibilité oPerformance et optimisation oSécurité
  4. 4. Edition 2012 – 10 et 11 décembre SOMMAIRE  Instant database file initialization et impact sur les fichiers de bases de données  Tables, allocations, pages, extensions, stockage des lignes de données
  5. 5. Edition 2012 – 10 et 11 décembre Sponsors Platinum INSTANT DATABASE FILE INITIALIZATION
  6. 6. Edition 2012 – 10 et 11 décembre INSTANT DATABASE FILE INITIALIZATION  Fichiers initialisés par une opération de remplissage de 0 (zeroing filling operation) pour les opérations suivantes :  Création d’une base de données  Expansion de fichiers  Ajout de fichiers à une base de données  L’initialisation des fichiers peut prendre beaucoup de temps en fonction de la taille de fichier à initialiser et de la performance du stockage
  7. 7. Edition 2012 – 10 et 11 décembre INSTANT DATABASE FILE INITIALIZATION  INSTANT DATABASE FILE INITIALIZATION est une fonctionnalité qui permet de s’affranchir de l’initialisation des fichiers (zeroing filling operation)  Concerne uniquement les fichiers de données. Les fichiers journaux ne sont pas concernés (by design  SQL Server se sert de cette opération pour détecter la fin du journal lors d’un recovery)  Nécessite la mise en place de certains prérequis :  Privilège SE_MANAGE_VOLUME_NAME pour le compte de service SQL Server  Support de la fonction SetFileValidData() par le système d’exploitation  Le fichier n’est pas un fichier sparse  Pas de chiffrement (TDE)
  8. 8. Edition 2012 – 10 et 11 décembre DEMO
  9. 9. Edition 2012 – 10 et 11 décembre Sponsors Platinum TABLES, ALLOCATION, PAGES, EXTENT …
  10. 10. Edition 2012 – 10 et 11 décembre TABLES ET ALLOCATION Table / Index Partition Partition Heap / B-tree (Hobt) Heap / B-tree (Hobt) Allocation unit Allocation unit IN- ROW ROW OVERFL OW LOB IN- ROW ROW OVERFL OW LOB sys.indexes sys.partitions sys.allocation_units
  11. 11. Edition 2012 – 10 et 11 décembre DEMO
  12. 12. Edition 2012 – 10 et 11 décembre PAGES  Une table ce n’est pas un tableau et des lignes du point de vue stockage !!!  Les lignes de données sont stockées dans des pages de 8Ko (8192 octets)  Plusieurs types de pages (pages de données, pages d’index, pages systèmes)
  13. 13. Edition 2012 – 10 et 11 décembre PAGES Header CBA Row A Row B Row C 96 octets 8096 octets 2 octets / ligne
  14. 14. Edition 2012 – 10 et 11 décembre PAGES  Fonctions non documentées permettant de visualiser les pages  DBCC PAGE, DBCC IND (paramètres)  Outils relativement robuste mais attention quant à leur utilisation de ces outils en production !!
  15. 15. Edition 2012 – 10 et 11 décembre PAGES  Pages systèmes • Boot page : Stocke des informations critiques (page 9 fichier 1) • PFS : Page Free Space  Byte map pour chaque page  PFS intervall = 64MB  Traque l’espace libre dans les pages + enregistrement fantôme + page IAM ? + page mixte ? Page allouée ?  L’espace libre est utilisée uniquement pour les tables heap + LOB + varchar(max) + varbinary(max) + XML
  16. 16. Edition 2012 – 10 et 11 décembre PAGES  Pages systèmes  GAM : Global Allocation Map  Détermine si une extent est disponible pour une allocation  Bitmap pour chaque extent  GAM intervalle = 4GB  SGAM : Shared Global Allocation Map  Détermine si une extent est miexte and possède au moins une page non allouée disponible  Bitmap pour chaque extent  GAM intervalle = 4GB
  17. 17. Edition 2012 – 10 et 11 décembre PAGES  Pages systèmes  DCM : Differential Change Map  Traque les extents modifiées depuis la dernière sauvegarde complète  GAM intervalle = 4GB • BCM : Bulk Change Map  Traque les extents modifiées par une opération BULK  GAM intervalle = 4GB
  18. 18. Edition 2012 – 10 et 11 décembre PAGES  Pages systèmes  IAM : Index Allocation Map  Permet de connaître quelles extents sont allouées pour une entité spécifique  GAM intervalle = 4GB  Pages IAM sont liées entre elles (chaine IAM)
  19. 19. Edition 2012 – 10 et 11 décembre EXTENSIONS  Une extension est un regroupement de 8 pages de données contiguës  Les extensions rendent les allocations systèmes beaucoup plus efficaces  L’allocation des extensions est réalisée grâce aux pages systèmes PFS, SGAM et GAM (bitmap par extension vs bitmap par page)  8 premières pages alloués page par page de n’importe quelle extension dans le groupe de fichiers (extension mixte)  Une fois que ces 8 premières pages sont allouées, on bascule vers des extensions dédiées (extentions uniformes)  Fonction non documentée pour visualiser les extensions  DBCC EXTENTINFO
  20. 20. Edition 2012 – 10 et 11 décembre DEMO
  21. 21. Edition 2012 – 10 et 11 décembre STOCKAGE D’UNE LIGNE DE DONNÉES  Format de stockage FixedVar 1 octets 1 octets 2 octets N octets 2 octets Ceiling (N cols / 8) octets 2 octets (2 x nb var cols) octets N octets Partie fixe Partie variable Status bit A Status bit B Longueur portion fixe Données fixe Nb cols NULL bitmap Nb var cols Offset Données variables
  22. 22. Edition 2012 – 10 et 11 décembre DEMO
  23. 23. Edition 2012 – 10 et 11 décembre Merci à nos Sponsors Rencontrez les dans l’espace partenaires Sponsors Platinum Sponsors Gold Sponsors Silver
  24. 24. Edition 2012 – 10 et 11 décembre Continuez l’expérience online Rejoignez la Communauté

×