Pour finir l'année en beauté, le Spring User Groupe FR vous propose de nous retrouver le Mardi 20 Décembre 2011 à 19h00 pour une session sur "Spring Batch Avancé". Lors de la première présentation (http://www.slideshare.net/sugfrance/spring-batch-concepts-de-base), nous avons vu les concepts de base de "Spring Batch".
Lors de cette session nous vous proposons d'aborder les notions avancés de "Spring Batch" en tenant compte de vos suggestions (voir le Google Moderator http://www.google.com/moderator/#16/e=5f36). A la fin de la conférence, nous vous proposerons un quizz afin de gagner quelques exemplaires de "Spring Batch in Action" (A.Cogoluegnes, T. Templier, G. Gregory, O. Bazoud), offerts par la société Ekino (http://www.ekino.com / @3k1n0).
Olivier Bazoud / @obazoud est architecte logiciel chez Ekino (http://www.ekino.com), spécialisé dans les technologies Java/JEE/Spring. Fort de 12 ans d’expérience, Olivier est en charge de l’architecture technique de sites et d'applications web à très fort traffic.
Julien Jakubowski / @jak78 est architecte chez OCTO Technology. Il a 10 ans d'expérience acquise au sein de projets à fort engagement pour des grands comptes, dans des secteurs d'activités variés : banque, assurance, industrie, grande distribution...
Julien accompagne ses clients sur des problématiques d'architecture, d'expertise technique, et de productivité des développements.
Il est également co-fondateur et président du Ch'ti JUG (Java User Group de la région Lilloise), qui rassemble tous les mois plus de 100 passionnés de technologies Java.
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
http://chtijug.org/session-spring-batch-avec-ekino-le-29-novembre/
Nous avons le plaisir de vous annoncer que la prochaine session du Ch’ti JUG est prévue le 29 novembre 2011. Elle aura lieu à l’IUT A de Lille 1, boulevard Paul Langevin, à Villeneuve d’Ascq. Plan d’accès
Le thème de cette session est Spring Batch : un framework pour implémenter des traitements de masse en Java.
Cette présentation sera animée par Olivier Bazoud / @obazoud et Julien Jakubowski / @jak78.
Cette session est rendue possible grâce à Ekino / @3k1no.
http://www.parisjug.org/xwiki/bin/view/Meeting/20130514
Quand j'écris une application Web, il y a pléthore de frameworks Web. Quand j'accède à une base de données, il y a des solutions de persistance (Hibernate, etc.). Quand je fais du batch, je suis... à poil ! Les batchs seraient-ils les parents pauvres de Java ? Spring Batch offre pourtant une solution pour vous guider lors de l'écriture de vos batchs en Java en toute décontraction. Le 14 Mai, Olivier et Julien vous présenteront Spring Batch et vous donneront une autre vision des batchs en Java.
Intervenants : Julien Jakubowski et Olivier Bazoud
Pour finir l'année en beauté, le Spring User Groupe FR vous propose de nous retrouver le Mardi 20 Décembre 2011 à 19h00 pour une session sur "Spring Batch Avancé". Lors de la première présentation (http://www.slideshare.net/sugfrance/spring-batch-concepts-de-base), nous avons vu les concepts de base de "Spring Batch".
Lors de cette session nous vous proposons d'aborder les notions avancés de "Spring Batch" en tenant compte de vos suggestions (voir le Google Moderator http://www.google.com/moderator/#16/e=5f36). A la fin de la conférence, nous vous proposerons un quizz afin de gagner quelques exemplaires de "Spring Batch in Action" (A.Cogoluegnes, T. Templier, G. Gregory, O. Bazoud), offerts par la société Ekino (http://www.ekino.com / @3k1n0).
Olivier Bazoud / @obazoud est architecte logiciel chez Ekino (http://www.ekino.com), spécialisé dans les technologies Java/JEE/Spring. Fort de 12 ans d’expérience, Olivier est en charge de l’architecture technique de sites et d'applications web à très fort traffic.
Julien Jakubowski / @jak78 est architecte chez OCTO Technology. Il a 10 ans d'expérience acquise au sein de projets à fort engagement pour des grands comptes, dans des secteurs d'activités variés : banque, assurance, industrie, grande distribution...
Julien accompagne ses clients sur des problématiques d'architecture, d'expertise technique, et de productivité des développements.
Il est également co-fondateur et président du Ch'ti JUG (Java User Group de la région Lilloise), qui rassemble tous les mois plus de 100 passionnés de technologies Java.
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
http://chtijug.org/session-spring-batch-avec-ekino-le-29-novembre/
Nous avons le plaisir de vous annoncer que la prochaine session du Ch’ti JUG est prévue le 29 novembre 2011. Elle aura lieu à l’IUT A de Lille 1, boulevard Paul Langevin, à Villeneuve d’Ascq. Plan d’accès
Le thème de cette session est Spring Batch : un framework pour implémenter des traitements de masse en Java.
Cette présentation sera animée par Olivier Bazoud / @obazoud et Julien Jakubowski / @jak78.
Cette session est rendue possible grâce à Ekino / @3k1no.
http://www.parisjug.org/xwiki/bin/view/Meeting/20130514
Quand j'écris une application Web, il y a pléthore de frameworks Web. Quand j'accède à une base de données, il y a des solutions de persistance (Hibernate, etc.). Quand je fais du batch, je suis... à poil ! Les batchs seraient-ils les parents pauvres de Java ? Spring Batch offre pourtant une solution pour vous guider lors de l'écriture de vos batchs en Java en toute décontraction. Le 14 Mai, Olivier et Julien vous présenteront Spring Batch et vous donneront une autre vision des batchs en Java.
Intervenants : Julien Jakubowski et Olivier Bazoud
Il y a souvent des difficultés dans la communication entre les équipes d’exploitation et les équipes
de développement. Les enjeux ne sont pas les mêmes: les uns ont pour mission de stabiliser
le système, les autres au contraire de le faire évoluer. Ces incompréhensions sont encore plus
fortes avec les équipes BI, car les bases BI ont des besoins très différents des applications traditionnelles.
En expliquant ces différences, j’espère amener à une meilleure compréhension entre
les équipes. C’est aussi l’occasion de parler des technologies récentes qui adressent les besoins
BI: Exadata, In-Memory, réplication temps réel,…
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
Il y a souvent des difficultés dans la communication entre les équipes d’exploitation et les équipes
de développement. Les enjeux ne sont pas les mêmes: les uns ont pour mission de stabiliser
le système, les autres au contraire de le faire évoluer. Ces incompréhensions sont encore plus
fortes avec les équipes BI, car les bases BI ont des besoins très différents des applications traditionnelles.
En expliquant ces différences, j’espère amener à une meilleure compréhension entre
les équipes. C’est aussi l’occasion de parler des technologies récentes qui adressent les besoins
BI: Exadata, In-Memory, réplication temps réel,…
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS
Le GUSS (http://guss.pro)et DataCore (https://www.datacore.com/)vous proposent un Meetup sur le IO dans SQL Server. Au programme :
Nous démarrerons ce meetup par une session technique sur les IO dans le moteur SQL animée par les experts Sarah Bessard (https://www.linkedin.com/in/ninjadba)et Nicolas Souquet (https://www.linkedin.com/in/nicolassouquet/).
De la requête aux disques, en passant par la RAM : maîtriser le spectre des IOs sous SQL Server
Nous décrivons le chemin suivi par les données dans SQL Server, pour saisir toute l'efficacité de son moteur de stockage et de gestion mémoire.
La session est agrémentée d'exemples pratiques pour comprendre l'accès aux données dans SQL Server, et supporter les performances de vos requêtes avec précision.
Tout ce que vous devez savoir sur les meilleures pratiques autour d'Exchange 2013... Des thèmes aussi divers que "comment virtualiser au mieux un serveur Exchange 2013" à "Que faire de mes dossiers partagés et que deviennent t'ils dans Exchange 2013". Tout ce qu'il y a à savoir expliqu par nos meilleurs experts Microsoft sur le sujet.
Speaker : Guy Groeneveld (Microsoft), Stefan Plizga (Microsoft), Raquel Municio (Microsoft France), Lionel Constantin (Microsoft France)
Session des Journées SQL Server 2014 - Christophe Laporte
---
DBA : Oui, ici le service DBA. Que se passe-t-il ?
Utilisateur : Je ne sais pas ce qu’il se passe, on est complétement bloqué sur l’application …
DBA : OK, on cherche la cause du problème …
Scène banale du métier de DBA. Mais par où commencer ? Les outils de diagnostics sont multiples, entre ceux fournis en standard avec SQL Server et les outils tiers, difficile de faire un choix.
Commençons donc par la base : quelle méthodologie pour un diagnostic et une résolution d’incident efficace ?
Les compteurs de performance et les DMVs font partie des outils standard. Mais difficile de s’y retrouver.
Durant cette session je vous propose de lister et commenter mes compteurs de performance favoris et les DMVs les plus utiles afin de diagnostiquer un problème dans SQL Server.
La nouvelle version du Framework .NET apporte des innovations majeures qui permettent encore plus de performance et accroissent le champ des possibles. Du poste client au serveur d’entreprise, ce jeu de nouvelles fonctionnalités logée au cœur du noyau vous offrent une gestion plus fine de votre code et donnent un nouveau souffle à vos applications. Ne manquez pas cette session et venez découvrir comment augmenter considérablement les performances de vos programmes et tirer parti de toute la puissance des ordinateurs modernes.
Dans ce webinar, nous allons parler des différences entre une sauvegarde physique et une sauvegarde logique. Nous allons lister les avantages et inconvénients, les principales considérations et les outils disponibles pour les deux méthodes.
- Perte de données
- Exports logiques
- Standbys
- WALs et Recovery
- Snapshots VM/Disques
- Sauvegardes physique
- Conclusion
Similaire à Guss webcasts Tempdb Internals - june 2013 (20)
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
1. Les Webcasts
Groupe des Utilisateurs SQL Server
Juin 2013 – Tempdb
David Baffaleuf– CAPDATA
MVP SQL Server
2. David Baffaleuf
http://blog.capdata.fr
@dbaffaleuf
Leader SGBD reconnu en France
www.capdata.fr
Conseil
Service
Formation
DBA à distance
Management d’infrastructures IT hétérogènes
www.osmozium.com
Support Management
Technical Management
Data Management
Production Management
3. 30 ‘ chrono
• Toutes les
• questions
• que vous
• vous posez
• sur tempdb
• … Et aussi celles que vous ne vous posez pas !
• Démos !
4. Qu’est-ce qu’elle a de plus que les autres ???
Stockage
explicite
Stockage
implicite
Worktables,
jointures hash,
tris, version
store …
#temp, ##temp,
variables table,
TVF, TVP…
Logging
Recovery
Allocation
Caching
Non
persistance
Partagée
SPOF
5. Comment est-elle créée ?
Ouverture master
Recovery master
Ouverture model
Recovery model
Création tempdev.mdf (4-5M)
Import des extents de model
Extension taille tempdev.mdf
Création tempdb
Création templog.ldf
Création des autres fichiers
sqlservr –f (minimal start)
Création tempdev.mdf (4-5M)
Création journal 516096 bytes
…dans le répertoire par défaut
• Instant File Initialization
• Pas de model, pas de tempdb
• Si le fichier tempdev / templog n’existe pas ?
6. Qu’est-ce qu’elle stocke ?
• Stockage explicite :
Tables, indexes physiques, LOBs… (attention non persistées !!)
Tables temporaires (créées par utilisateur / par feature Dbmail, UCP,
DataCollector…)
Variables tables, TVF, TVP.
• Mais aussi stockage implicite:
Tris ORDER BY
Checkdb facts
Workfiles (Hash Join)
Worktables (spools, features…)
Tables internes trigger
Online index operations
Version store…
7. Tables temporaires 1/2
• Nommage:
#temp__________________________________________14563
##temp
• Allocation:
– Extents mixtes d’abord (sauf si –T1118)
– IAM toujours en extent mixte
– Extents uniformes si taille > 8 pages
• Scope/durée de vie:
session / procédure (#)
instance (##).
8. Tables temporaires 2/2 [ Caching ]
• Mécanismes de cache particuliers:
Cachestore: CACHESTORE_MEMOBJECTS
Tables systèmes.
Seulement dans procédures, fonctions, triggers.
2 pages par #temp < 8Mb (DATA + IAM)
Pas de DDL après la création de la table #temp (sauf DROP TABLE)
Pas de contraintes nommées (index uniques / clustered supportés mais leaf pages
seulement, et 2 pages pour NCI)
PLAN PS
SELECT INTO
#temp …
#temp
9. Tables temporaires vs variables tables ?
• Pas stockées en mémoire mais bien sur disque !!
• SELECT INTO non autorisé
• Scope = batch ou procédure (pas session)
• Mise en cache / suppression différée = temp tables.
• Pas d’index
• Pas de statistiques
• Pas de rollback (transactions implicites sur les VT)
• TVF = variable table
• TVP = variable table
10. Worktables
• Utilisées par certaines features (XML, Service Broker, CHECKDB,…)
• Utilisées par certains opérateurs :
Index / Table (Eager) Spools.
Exchange Spill.
Merge Joins
• Curseurs, variables type (max).
• Créées par le code de l’engine, donc pas de métadonnées dessus, pas
d’accès aux tables systèmes.
• Object_id < 0
• Mixed / Uniform extents
• Seule l’allocation est loggée !!
• Espace tracé dans les DMVs (internal_object_reserved_page_count)
11. Workfiles
• Utilisés uniquement par l’opérateur Hash Join (recursion).
• Pas de correspondance dans le buffer pool (BUF).
• Espace tracé dans les DMVs (internal_object_reserved_page_count)…
• …mais pas dans sys.dm_os_buffer_descriptors.
• Toujours en extents uniformes.
• Aucune journalisation.
12. Version Store
• Utilisé pour RCSI / Snapshot Isolation.
• Online index rebuild,
• Tables internes des triggers
• MARS ?...
• Aucune journalisation de l’allocation dans le version store.
• Allocation tracée séparément de internal dans
sys.dm_db_file_space_usage (version_store_reserved_page_count).
• Non tracée dans %session% ou %task%
• Trace séparée dans sys.dm_tran_version_store.
• Désallocation asynchrone (Garbage Collection)
13. CHECKDB et Tempdb ?
• Pas de database snapshot dans tempdb pour CHECKDB !!
• CHECKDB peut utiliser tempdb pour stocker les facts:
Tracer l’allocation des objets à contrôler durant le CHECKDB
Suivre les liens précédent / suivant dans le chaînage
Suivre les pointeurs forwarding / forwarded records
Par type d’allocation: LOB, B-TREE, FILESTREAM, IAM, …
• Normalement stockés en mémoire, et dans des worktables si plus
assez de place.
• 1 fact ~= 1 ligne de 5 colonnes dans une worktable.
• DBCC CHECKDB (bigDB) WITH ESTIMATE_ONLY
14. Comment dimensionner Tempdb ?
• Ne pas laisser la taille par défaut.
• Initialisation instantanée !!
• DBCC CHECKDB WITH ESTIMATE_ONLY est un minimum.
• Monitorer la taille, réévaluer la taille initiale au besoin.
• Pas d’autogrow ! SIZE = MAXSIZE.
• Pour réduire:
v > =2008 : ALTER DATABASE TEMPDB MODIFY FILE … + stop / start
V < 2008: net start MSSQLSERVER /f
15. Problèmes liés à l’allocation PFS GAM SGAM
• Contention sur PFS/GAM/SGAM
Création / suppression massive de tables temporaires (proc / session)
Création / suppression d’objets internes plus incontrôlable encore.
Impliquent des modifications dans ces 3 pages PFS, GAM, SGAM.
Impliquent des modifications dans les tables systèmes (sysschobjs, sysallocunits,
syscolpars, sysrscols…)
• Ces pages sont protégées par des latches
Chaque accès en lecture / écriture nécessite d’obtenir un latch (SH/EX).
On constate des attentes globales sur PAGELATCH_SH et PAGELATCH_EX
Sur les ressources types : PFS (2:1:1), GAM (2:1:2) et SGAM (2:1:3), et parfois des pages
appartenant à des tables systèmes et les pages IAM.
• Les mécanismes de caching permettent de réduire cette contention
Mais ne fonctionnent que pour les tables temporaires dans des procédures, fonctions ou
triggers.
17. Combien de fichiers de données 2/2
• Bonne pratique = 1 fichier de même taille par CPU.
• Observer la contention avant de multiplier les fichiers.
• Attentes de type PAGELATCH_SH / PAGELATCH_EX sur :
2:1:1 PFS (=Page Free Space)
2:1:2 GAM (=Global Allocation Map)
2:1:3 SGAM (=Shared GAM)
• Ajouter des fichiers additionnels au besoin
• Réévaluer la contention…
• … jusqu’à disparition de la contention.
• …et si le caching est insuffisant:
• -T1118 pour tables < 8 pages et contention SGAM.
18. Proportionnal Fill / Round Robin
Espace
Libre
Espace
Libre
Espace
Libre Espace
Libre
• Proportion réévaluée:
• Au restart de l’instance (lorsque les fichiers sont créés)
• Lors d’un ajout / retrait de fichier
• Toutes les 8192 allocations d’extents (mixtes ou uniformes)
• Attention –T1117 s’applique à toutes les bases, pas seulement tempdb.
20. Tempdb sur des disques dédiés ?
• Les avantages:
Isoler les fluctuations: moins d’impacts sur les autres bases.
SSD
• Les inconvénients:
Moins de disques disponibles en tout.
Lissage plus difficile
Précos SQLCAT 10Tb range.
21. Logging & recovery ?
• Images après pour INSERT / UPDATE non loggées pour les heaps (tables
tempo).
-- a=1
update #t set a=2
update base.dbo.t
set a=2 #t t
• Journal de transactions utilisé uniquement pour les ROLLBACKS.
• Pas de REDO.
• Pas de write ahead logging => lazy commits
• Auto Checkpoint exécuté seulement lorsque le journal est plein à 70%
• Attention si CHECKPOINT manuel dans tempdb
• Internal objects (sorts, worktables) => seule l’allocation est loggée.
• Parfois même rien n’est loggé !! (workfiles, version store)
TVF et TVP sont considérées comme des variables tables du point de vue de l’allocation.
Version store n’est pas compté dans les compteurs ‘internal’ de sys.dm_db_%%_usage
DEMO : montrer le temps de démarrage de SQL Server avec et sans le fichier tempdb.mdf
Import des extents de model = Clearing tempdb database
Création des autres fichiers = Starting tempdb
516096 bytes = taille de headers de 2 VLFs
Attention le thread qui affiche recovery complete pour chaque base en cours de recovery est obligé d’attendre que la tempdb soit complètement créée car un verrou X database est posé et le thread a besoin d’utiliser tempdb.
L’initialisation sera plus courte si tempdbdev.mdf existe et qu’il a une taille >= à la taille attendu pour la création. Surtout problème pour le journal car IFI ne s’applique pas.
Par contre si le journal existe, on ne zéro-initialise pas tout, simplement qq enregistrements pour les premiers VLFs
Deferred drop: pas si la table < 8Mb => 2 pages sont conservées + histogramme
Le nommage change lorsque la table temporaire est mise en cache
Drop table #temp = truncate table #temp
Drop table #temp = truncate table #temp
Encore une bonne raison pour faire des procs stocks !!!
DEMO: montrer la différence de vitesse entre temp cached et temp non cached. DEMO1
GAM / SGAM interval : tous les 4Gb, pas seulement 2:1:2 ou 2:1:3
PFS interval = 64Mb pas seulement 2:1:1
Proportionnal Fill / Round robin
On va tourner sur les fichiers ayant au moins le même espace libre.
L’application du TF1118 peut servir lorsque les tables temporaires seront systématiquement sous les 8 pages.
Initialement, ces pages proviendront d’extents mixtes, et souvent différents. Activer le TF1118 permet de n’allouer que des extents dédiés uniformes. Une fois activé, il agit sur toutes les bases pas seulement tempdb. Attention toutefois les pages IAM seront toujours allouées depuis des extents mixtes.
Attention TF1118 n’affecte que les tables tempo et les worktables (internal)
Proportionnal Fill / Round robin
On va tourner sur les fichiers ayant au moins le même espace libre.
-T1106 aide à vérifier la rotation dans les fichiers (roundrobin / proportionnal fill)