Home
Administration des bases de données réparties
Contents
1. Techniques de stockage P Rigaux p 31 4 Mise jour 2 Seconde solution garder une table des pages libres libre espace acess O 123 1 N 7 O 1089 7 Avantage on peut savoir facilement ou trouver l espace n cessaire Techniques de stockage P Rigaux p 32 4 59 Oracle Principales structures physiques dans ORACLE 1 bloc unit physique d E S La taille d un bloc ORACLE est un multiple de la taille des blocs du syst me sous jacent 2 Extension ensemble de blocs contigus contenant un m me type d information 3 Segment ensemble d extensions stockant un objet logique une table un index Le param trage du stockage des donn es tables et index est sp cifi dans un tablespace Techniques de stockage P Rigaux p 33 Tables segments extensions et blocs Niveau logique Segment Niveau X physique UT Blocs Extension Techniques de stockage P Rigaux p 34 60 Les blocs Oracle La structure d un bloc repose sur un adressage physique logique chaque enregistrement ayant une adresse interne Bloc Oracle En t te adresse du bloc type du segment Tables repr sent es dans le bloc Adresses des enregistrements Espace libre L Enregistrements Un chainage est cr quand il faut d placer un enregistrement Techniques de stockage P Rigaux p 35 G
2. Fragmentation horizontale de l index Index divis en N fragments e Taille maxi d un fragment pouvant tenir en m moire Chaque fragment est r pliqu M fois D ploiement Sur une grille de N colonnes x M machines Acc s Chaque requ te est diffus e vers les N fragments Pour chaque fragment choisir la r plique la moins charg e Agr gation des N r sultats partiels Moteur de recherche 2 requ te Grille ded N x M machines de donn es de charge o Passage l chelle dimensionnement adapt la croissance en charge et en donn es 14 26 Moteur de recherche 3 e Index adapt aux crit res des requ tes 90 des recherches sur moins de 2 mots cl s Tri par prix ou date e Requ te tronqu e L utilisateur lit seulement les 10 premiers l ments du r sultat e Exemple les 10 premiers articles dont le titre contient le mot M tri s par date d expiration Tri local sur chaque fragment Chaque fragment envoie seulement 10 nuplets Agr gateur e Fusion de N listes de 10 l ments tri es Strat gie 2 Communiquer en mode asynchrone 27 Asynchronisme avantages 1 e Traitement asynchrone sans attente bloqu e G n raliser le choix d une communication asynchrone autant que possible Communication asynchrone pour l int gration des divers l ments de l architecture e Avantages Passage l chelle dimensionnement ind pendan
3. a Par intervalle Pr dicat d in galit age gt 18 7 lt age lt 77 m Par pr fixe a like avec joker en derni re position a b like Dup mais pas b like D t 67 Type de requ tes 1 m Requ te cibl e r sultat un seul tuple Cl de recherche cl de la relation a Crit re conjonction de pr dicats d galit m Annuaire nom pr nom age where nom n1 and pr nom p1 Requ te multipoints Le r sultat contient plusieurs tuples Cl de recherche cl de la relation a Crit re conjonction de pr dicats d galit Ex where age 23 m Requ te sur intervalle a Crit re avec un ou plusieurs pr dicats d in galit a Ex where age gt 18 Type de requ tes 2 m Requ te sur pr fixe 1 pr dicat simple a like N 2 pr dicat compos de n pr dicats simples a Le pr fixe est compos de n 1 pr dicats d galit conjonction ordonn e n 1 pr dicats d galit suivis d 1 seul pr dicat quelconque like lt gt Requ te min max a Crit re attribut max domaine de l attribut Select from Personne where age m select max age from Personne Requ te avec tri order by Requ te de regroupement group by Requ te avec jointure Pr dicat de jointure R a S a 68 Structure de donn e d un index Une entr e une paire valeur n de page Les entr es sont organis es en arbre La racine de l arbre tient en m moire Les n uds interm diaires
4. Acc s possible depuis java a Pilote passerelle JDBC ODBC a L implem de Driver est sun jdbc odbc JdbcOdbcDriver a Syntaxe de l URL de connexion jdbc odbc nom nom nom ODBC du SGBD Net8 Interface Java a Pilote implem du client Net8 L implem du Driver est jdbc driver OracleDriver a Client 100 Java a URL jdbc oracle thin h te port SID s Ex jdbc oracle thin pc8 1521 base08 a Passerelle JDBC OCI a URL jdbc oracle oci8 nom de service r seau a Utilise le fichier tnsnames ora Acc s C S cas d utilisation Client sqlplus sur linux a installation D compresser instant client dans un r pertoire a Ajouter le r pertoire la liste LD_LIBRARY_PATH Cr er un fichier tnsnames ora a Positionner TNS_ ADMIN a Usage a sqlplus system mot_de_passe nom_service_r seau Client Java sur linux a Installation JDK java sun com copier le pilote dans un r pertoire a export CLASSPATH r pertoire du _pilote ojdbc14 jar a Usage a java Application Acc s C S transfert de port Transf rer une appli web protocole http a ssh avec tunnel pour le transfert local a acc s EM http client 5500 a Isqliplus http client5560 Transf rer le module d coute ssh pb le tunnel 1521 ne suffit pas Transf rer cman ok Transf rer l affichage ssh avec tunnel pour transf rer le serveur graphique a X11 ou VNC bureau distant WinXP Application r partie Plusieurs applications cl
5. articles identifiant d utilisateur Valeur d un attribut e cat gorie Par intervalle Prix date e Surcouche de traitement r parti du SQL e Rend la r partition transparente aux applications e Achemine les instructions SQL vers le fragment ad quat e Configurable pour quilibrer la charge Traitement de transactions pour les donn es fragment es Peu de transactions ACID Strat gie transactionnelle Eviter les transactions applicatives et la validation r partie Une seule op ration SQL par transaction fr quent Modifie un seul n uplet sur une seule base Quelques transactions plus complexes rare e Modifie plusieurs n uplets sur plusieurs tables d une seule base e Mise en oeuvre par une proc dure trait e par le SGBD bloc PL SQL anonyme Coh rence garantie malgr l absence de transaction Ordonnancement judicieux des op rations Restauration l aide d une couche de communication fiable Ev nements de restauration asynchrones e Proc dure de r conciliation e Diffusion atomique de s quence d v nements Avantages Pas d interblocage Supprime le besoin de disponibilit simultan e des participants d une transaction Maximise l ex cution simultan e des critures Diff rents niveaux de coh rence requis selon les transactions 24 Fragmentation de l application 1 e Fragmentation fonctionnelle S parer les fonctionnalit s dans des groupes applicatifs disti
6. group by serv Clause having n cessaire a clause avec calcul d agr gat a Ex Having count num gt 100 100 Usage des vues a Vue expression SQL nomm e Une vue n est pas une relation temporaire Une vue n est pas une vue mat rialis e m Requ te exprim e sur des vues Substitution gt requ te imbriqu e R criture Requ te r partie m Requ te manipulant des donn es distantes Clause from R1 Rn a Ri relation distante accessible travers le r seau m Lien database link Requ te distante a Toutes les Ri sont sur la m me instance distante a Requ te r partie a Au moins 2 relations situ es sur des instances diff rentes m Vue r partie requ te r partie nomm e G n ralisation d une requ te r partie a clause from Ri peut tre une vue r partie 101 Requ te r partie traitement m R criture requ te r partie gt Sous requ te distante monosite Op rateur global a Op rande sous requ te distante a Choix de l instance traitant l op rateur global Ordre Requ te distante puis op rateur global a Op rateur global a Binaire m Jointure par fusion si op randes tri es m Jointure par boucle imbriqu e a N aire m Union Traitement r parti limitations Jointure globale R m S a jointure par boucle avec index S a Simplification du plan d ex cution a Elagage si fragmentation des donn es connue a V R1U R2 R1 V R2 0 V a
7. ler l acc s distance Pas d acc s distant sans module d coute Acc s local possible sans module d coute combiner l acc s local avec un acc s distant par un protocole autre que net8 ex ssh Configuration a Fichier ORACLE_HOME network admin listener ora a Protocole de comm ex TCP n du port d coute 152 1 par d faut Taille de la file d attente liste des instances utilisant ce module d coute Module d coute usage Contr le local a listener control Isnrctl status stop start a Isnrctl status indique si le module d coute est actif a Isnrctl start d marre et indique les instances servies a Outil de cont le local fourni par POS a Win net start nom de service du module d coute puis netstat ap tcp Win Linux netstat It Linux Contr le distance a tnsping h te a indique si le module d coute est actif sur une machine a h te nom FQN adresse IP nom win telnet Inscription Associer une instance un module d coute a Process Monitor PMON v rification p riodique 1 minute m alter system register SGBD serveur d di partag Un programme client communique avec Un processus SGBD Linux Un processus l ger thread SGBD Win Serveur d di a Un processus pour chaque client Serveur partag N clients par processus a Utilise un dispatcher Multiplexage n sessions Net8 dans 1 session TCP a Pooling r duire la latence a l ouverture d
8. v p a v valeur index e p page contenant la liste des adresses des tuples qui satisfont v a Tous les tuples sont index s chaque tuple correspond une adresse r f renc e par une valeur de cl dans une feuille Plusieurs index non pla ants a appel s index secondaires Index pla ant m Sert indexer un fichier tri a Cl de l index cl de tri du fichier G n ralement non dense a Une feuille contient une liste de couples v p a V valeur index e p adresse de la page contenant le premier tuple qui satisfait V Ok car les tuples de la m me page ont une valeur proche a Les valeurs du domaine de l attribut index ne sont pas toutes pr sentes dans l index a Une valeur par page suffit max a L index contient la plus petite valeur de chaque page de donn es a Ne pas indexer 2 fois la m me valeur dans 2 pages cons cutives Peut tre dense a sile nb de tuples ayant la m me valeur de cl gt nb de tuples par page a Pour tre couvrant Un seul index pla ant par relation appel index primaire a si la relation R est r pliqu e un index pla ant par r plique 71 Efficacit Index parcours s quentiel Relation T nb de pages page T n tuples par page Requ te Req nb tuples du r sultat card Req Index nb de pages Ping a Lecture s quentielle Lire page T avec prefetch des pages de la m me piste lecture c fois plus rapide qu une lecture al atoire 5 lt c lt
9. Be Bia E B A 250 B 150 Besoins m Eviter les incoh rences Une transaction ne doit pas modifier les donn es qui sont en cours de modif par une autre trans a E A E A valid T valid T Ecrasement perte d une criture T ne doit pas lire les donn es en cours de modif par T E A L A abandon T valid T T alu une donn e qui n a jamais t valid e Lecture sale T peut elle lire des donn es modifi es r cemment a L A E A valid T L A m T lit 2 valeurs diff rentes de A Lecture non r p table m R cemment apr s le d but de T apr s la premi re L A a L A Etudiant tq age lt 23 L A insert Dupond 21 L A m T voit un nouveau tuple Lecture fant me 80 D finitions Op ration L X E Y a conflit ssi m me donn e 2 trans diff rentes et au moins 1 criture m L AconflE A E AconflL A E A confl E A a 2 op rations en conflit ne sont pas permutables S quence a Suite ordonn e d op rations appartenant plusieurs transactions a S quence en s rie s rielle op rations regroup es par transaction jamais une L E entre deux L E a S quence s rialisable s riable a quivalent une s quence s rielle obtenue par des permutations d op rations non conflictuelles Precedence Graphe de precedence n ud transaction arc TiT a L Ei est en conflit avec L Ej et L Ei pr c de L Ej m Th or me Graphe de pr c dence ac
10. EUR a Insert into T1 Select num serv From Employ where sal gt 1000 Select num From T1 where t1 serv Compta Ordre Inefficace S lection sal lecture s quentielle pas d index sur sal a S lection serv lecture s quentielle a Sans relation temporaire a Acc s par index sur e serv puis s lection sal a Plus efficace 99 Jointure Sch ma a R a b S c d Index pla ant sur R a Pr dicat de jointure a Ra S c a Index pla ant sur S c Jointure par fusion directe sans tri car donn es d j tri es m Index secondaire sur S c a tri de S selon c puis fusion a Ou jointure par boucles imbriqu es m it ration sur R imbriquant l acc s par index S c Pr dicat compos a R a S c AND S d v a pr dicat S d v peu s lectif 80 a index pla ant sur S d index secondaire sur S c m Jointure par tri de S selon c puis fusion puis s lection sans index m Ou acc s par index S d puis jointure Clause having usage Clause Where vs Having a Where concerne tous les attributs des relations de la clause from a Ordre where est trait avant le regroupement a Having concerne uniquement les attributs de regroupement a Ordre having est trait apr s le regroupement Traiter une s lection le plus t t possible a Ne pas utiliser de clause having si le where est suffisant a R1 Select avg sal from Employ group by serv having serv Compta a R2 Select avg sal from Employ where serv Compta
11. d termine le plan d ex cution choix d un plan parmi n candidats Objectif mesurer l efficacit d un plan comparer l ex cution de plusieurs candidats a Un index est t il efficace pour un certain type de requ te comparer 2 plans avec et sans l index sans le supprimer Directive indique quel plan choisir a Syntaxe select directives voir le livre a Performance Tuning Guide and Reference 77 Directives d acc s aux donn es Parcours s quentiel d une relation full table Acc s par index index table nom_index a Ne pas utiliser l index no_index table nom_index Parcours ascendant des feuilles de l index index asc table nom_index 26 78 Contr le de concurrence ABDR cours 4 Concurrence m 1 transaction 1 s quence d op rations begin L A L B E B L C E A commit m Ex cution simultan e de plusieurs transactions T4 Th Aun instant t plusieurs transactions ont commenc mais ne sont pas encore valid es 79 Exemple m 2 transactions a T1 L A A A 100 E A L B BB 100 E B a T2 L A A 2A E A L B B2B E B Contrainte de coh rence A B BD tat initial A 25 B 25 a T1 puis T2 A 250 B 250 b T2 puis T1 A 150 B 150 c L A 0 E A L A A 2A E A L B B lt B 100 E B L B B amp 2B E B A 250 B 250 2 B d L A A amp A 100 E A L A A 2A E A L B B 2B E B L B
12. en 2 dimensions abscisse x h a ordonn e y h b x y point d acc s aux tuples Sert pour les requ tes avec pr fixe a Peu d int r t si l ordre des attributs de la requ te diff re de l ordre des attributs de l index a 10andb lt 3 gt l index est efficace a lt 10 and b 3 gt l index a b est inefficace car cela demande de parcourir de nombreux index sur b un pour chaque valeur de a inf rieure 10 Index bitmap Matrice M i j index sur l attribut b de relation R a b une colonne par valeur de la cl Nb de colonnes nb de valeurs distinctes de la cl d d une ligne par tuple index Nb de lignes card R n A 1 par ligne Soit le tuple ti v V ona M i j 1 ssi t v J Efficacit a Pr dicat simple a Ex where R b Nord ow Nord est la j me valeur du domaine Vecteur vj j e colonne de M Tuple ti e r sultat ssi vi i 1 pr dicat compos HE R a v1 and R b v2 gt calculer l op et logique entre 2 vecteurs de m Plus rapide que l intersection entre 2 ensembles d adresses de tuples a requ te de d nombrement count a Pas d acc s aux donn es a Faible taille de la matrice si le domaine a peu de valeurs Ex genre M F orientation Nord Sud Est Ouest 73 Implem des index dans les SGBD a Index pla ant B Tree dense IBM Oracle B Tree non dense MS Sybase a Hash dense Oracle m Index non pla ant B Tree IBM Oracle MS Sybase Bitmap
13. lib java Dvpt de sites web Portal Outils d administration a Architecture 2 tiers a DBA Studio java SGBD oracle9i a Architecture 3 tiers Enterprise Manager a Appli web navigateur apache oracle10g Installer Oracle10G Logiciel sur CD ou otn oracle com a Logiciel Oracle 10G tous les livres de la doc a Compl ment facultatif Companion Jdeveloper 10G Pr requis a OS utilisateur Installation a Le logiciel serveur Connectivit client serveur a Les instances une instance 1 BD Post installation a D marrage automatique a Archivage a S curit Documentation Oracle Documentation Library Retrouver rapidement le livre utile a 1 onglet par th me Book List onglet books raccourcis a Recherche par mot cl a Dans chaque livre content index Manuel d installation Installation Doc a Sp cifique pour chaque OS linux64 linux32 R sum pour une installation rapide Oracle Database Quick Installation Guide Outils d administration des BD r parties Les principaux outils Acc s au SGBD a Admin classique Enterprise Manager interface web emoil status start stop doconsole a Requ tes SQL programme en langage PL SQL a Interface web isqlplus IHM ergonomique a Interface textuelle ligne de commande sqlplus Impor Export de donn es sqlloader Besoin d un acc s plus avanc a Acc s distance a Acc s plusieurs SGBD a Automatiser l acc s a Tra
14. lus au cours d une rotation le cylindre est un ensemble de pistes situ es sous les t tes de lecture Techniques de stockage P Rigaux p 6 4 46 Structure d un disque piste blocs axe bras Contr leur donn E d placement des t tes rotation Techniques de stockage P Rigaux p 7 4 Disque m moire acc s direct Adresse num ro du disque de la piste o se trouve le bloc du num ro du bloc sur la piste 1 d lai de positionnement pour placer la t te sur la bonne piste 2 d lai de latence pour attendre que le bloc passe sous la t te de lecture 3 temps de transfert pour attendre que le ou les bloc s soient lus et transf r s Important on lit toujours au moins un bloc m me si on ne veut qu un octet Techniques de stockage P Rigaux p 8 4 47 Exemple le disque Cheetah ISLP 9 1 Go Caract ristique Performance Taux de transfert 80 Mo par seconde Cache 1 Mo Nbre de disques 3 6 t tes Nombre total secteurs 512K 17 783 438 Nombre de cylindres 9772 Vitesse de rotation 10 000 rpm rot par minute D lai de latence En moyenne 3 ms Temps de positionnement moyen 5 2 ms D placement de piste a piste 0 6 m S Techniques de stockage P Rigaux p 94 Quelques calculs partir des sp cifications on calcule nombre de secteurs par face nombre moyen de secteurs par piste nombre moyen d octets pa
15. op rationnel 21 Strat gies Concevoir une solution guid e par les principes suivants Utiliser la fragmentation Communiquer en mode asynchrone Automatiser les t ches Pr voir les pannes Strat gie 1 Utiliser la fragmentation 22 Fragmentation e Diviser chaque probl me en sous probl mes S appuyer sur les solutions existant pour des probl mes de petite dimension charge donn e cas d usage e Raisons Passage l chelle e Multiples ressources ind pendantes Disponibilit pannes isol es Evolutivit d coupler les fonctionnalit s e Application modulaire Co t mat riel banalis gt faible co t unitaire e Type de fragmentation Fragmentation fonctionnelle Fragmentation horizontale Fragmentation des donn es 1 e Fragmentation fonctionnelle Un groupe de bases de donn es par domaine BD1 Utilisateurs BD2 Articles BD3 Transactions BDA4 T e Regrouper les donn es partir du mod le conceptuel Cardinalit Associations mod le d usage e H tes logiques Ind pendance entre l organisation physique et la repr sentation logique des donn es Permet de r organiser les BD sans modifier le code des applications gt 400 machines h bergeant 1000 bases de donn es 23 Fragmentation des donn es 2 e Fragmentation horizontales selon la cl d acc s la plus utilis e Hachage modulo sur la cl primaire e n d
16. travailler dans un service non r f renc m card E S lt card E le distinct demeure inutile 93 Ensemble unique en SQL Une requ te SQL contient elle des doubles a Reg SQL ensemble unique R Select A from T where Cl T A Rest unique a G n ralisation Cl T A T est privil gi e Atteinte a Sila jointure de S avec T ne modifie pas l unicit de T alors S atteint T m Sx T cl S S A gt SOT a Transitivit S gt T et TU SOU m Atteinte non commutative Th or me Requ te select A from R1 Rn where Requ te unique ssi a VRi Cl Ri A OU VRJ Cl Rj n A JIRI Cl Ri Ri gt Rj Exemple 1 m Requ te le n des Emp dirig s par un directeur de service Select num From Emp e Serv s a Where e dir s dir m Unicit Emp est privili gi e a Serv n est pas privil gi e et n atteint pas Emp a Plusieurs services pour un directeur a Pas d unicit car a Un tuple d employ est joint avec tous les services dirig s par le directeur de l employ 94 Exemple 2 m Requ te Select e num s ns From Emp e Serv s Where e dir s dir Unicit a Oui car E et S sont privil gi es Unicit sur les couples num ns mais pas sur num seul Exemple 3 m Requ te Select t num a From Etu t Emp e Serv s a Where t nom e nom and e serv s ns m Unicite a Etu est privil gi e Serv atteint Emp mais Emp n atteint pas
17. 10 a Index non pla ant a lire 1 page par tuple a R partition al atoire des pages lues gt lecture non s quentielle efficace si card Req Pinp lt page T c Pip nombre de page de l index qui ne sont pas d j en m moire m Index pla ant a lire 1 page pour n tuples successifs car ils sont plac s dans la m me page a lecture s quentielle si pas de d bordement efficace si card Req n P lt nb page relation Insertion avec index m Inconv nients a Une mise jour n mise jour des n index Avantage a Verrouillage pour les update verrou partag sur l index a verrou exclusif sur 1 seule page de donn es moins de verrous gt plus de concurrence Coh rence unicit int grit r f rentielle mise jour d une r f rence avec v rification de l existence de la cl mise jour d une cl avec mise jour en cascade des r f rences 72 Index multi attributs m Cl compos e d au moins 2 attributs R a b Index sur les attributs a b relation d ordre a lt b Structure imbriqu e hierarchie un niveau par attribut Niveau principal Index sur 1 attribut Pour chaque valeur du 1 attribut a m Index le 2 attribut b Seuls les tuples qui ont la m me valeur pour a sont index s Index sur chaque attribut B Tree ou table de hachage m Structure en hypercube a Grid file une dimension par attribut de l index Une fonction de hachage par attribut a Ex
18. ALUE t TABLE_ID s SUPPLIER_ID t DATE_TIME to_number to_char t DATE_TIME SSSSS AS SORTTIME FROM TABLES_AVAILABLE t SUPPLIER_INFO s SELECT s SUPPLIER_ID t TABLE_SEATING t DATE_TIME max t DISCOUNT AMOUNT t OFFER_TYPE FROM _TABLES_AVAILABLE t SUPPLIER_INFO WHERE t SUPPLIER ID s SUPPLIER_ID and TO_CHAR t DATE_TIME MM DD YYYY TO_CHAR sysdat MM DD YYYY OR TO_NUMBER TO_CHAR sysdate SSSSS lt s NOTIFICATION_TIME s TZ_OFFSET and t NUM_OFFERS gt 0 and t DATE_TIME gt SYSDATE and s CITY SF and t TABLE_SEATING 2 and t DATE_TIME between sysdate and sysdate 7 and to_number to ghart DA E_TIME SSSSS between 39600 and 82800 and t OFFER_TYPE Discount GROUP BY s SUPPLIER_ID t TABLE_SEATING t DATE_TIME tOFFER_TYP u WHERE t SUPPLIER_ID s SUPPLIER_ID and u SUPPLIER_ID s SUPPLIER_ID and t SUPPLIER_ID u SUPPLIER_ID and t TABLE_SEATING u TABLE_SEATING andt DATE TIME u DATE_TIME and t DISCOUNT u AMOUNT and t OFFER_TYPE _ u OFFER_TYPE and TO_CHAR t DATE_TIME MM DD YYYY TO_CHAR sysdate MMOD EO TO_NUMBER TO_CHAR sysdate SSSSS lt s NOTIFICATION_TIME s TZ_OFFSET and t NUM_OFFERS_ gt and t DATE_TIME gt SYSDATE and s CITY SF and t TABLE_SEATING 2 and t DATE_TIME between sysdate and sysdate 7 and to_number to_char t DATE_TIME SSSSS between 39600 and 82800 and t OFFER_TYPE Discount ORDER BY AMOUNTVA UE DESC t TABLE_SEATING ASC upper s
19. Etu Car e nom n est pas une cl d Employ Non unique le distinct est n cessaire pour assurer l unicit 95 Requ te imbriqu e Imbrication a Une requ te englobante contient une sous requ te a Une relation est dite a Englobante si elle clause from de la requ te englobante Imbriqu e 1 imbriqu e Sous requ te correl e La sous requ te fait r f rence une variable d finie dans la requ te englobante Type de requ tes imbriqu es a Sous requ te corr l e Sous requ te Avec Sans agr gat Sous requ te non corr l e NC a Sous requ te Avec Sans agr gat Sous requ te NC sans agr gat R criture a Fusionner les 2 clauses from a Compl ter la clause where a Pr dicat compos conjonction ajouter un pr dicat de jointure a V rifier que la cardinalit est conserv e Conservation si chaque relation imbriqu e atteint une relation englobante VRi imbriqu e 3Rj englobante Ri gt Rj Si requ te englobante avec agr gation Alors v rifier la cardinalit avant agr gation Exemple Requ te imbriqu e Select from R Where and R a in select S b from S a D simbrication Select From R S Where and R a S b 96 Exemple R1 salaire moyen des directeurs de Service Select avg sal From Employ Where dir in select dir from Service R2 apr s r criture Select avg sal from Employ e Service s Where e dir s dir R2 R1 R3 R1 a Insert int
20. Etu m Index secondaire sur nom Service ns dir addr m Index pla ant sur ns cl de Service R criture de requ tes R criture manuelle a En amont de la r criture effectu e par l optimiseur a Palier les manques de l optimiseur Orienter la r criture effectu e par l optimiseur m Cas de r criture Forcer l usage d un index Eliminer les tris inutiles distincts order by R duire le nb de sous requ tes corr l es ou non Utiliser explicitement une relation temporaire Conditions de jointure Eliminer une clause having R criture en pr sence de vues Redondance ajouter des vues mat rialis s 92 Usage d un index a L optimiseur ne choisit pas d index si Expression arithm tique a Ex salaire mensuel where sal 12 gt 1000 amp where sal gt 12 1000 Fonctions sur des cha nes a Ex where substr name 1 1 G a amp where name like G Pr dicat de comparaison types num riques diff rents Comparaison avec la valeur NULL Eliminer les distincts inutiles m Requ te Le n des employ s travaillant dans un des services de la relation Service a Select distinct num from Emp e Serv s Where e serv s ns a Le mot distinct n est pas n cessaire a Contrainte e serv fait r f rence s ns m Un emp travaille dans un seul service m Jointure naturelle num est une cl de E x S m Projection sur cl aucun double a Sans contrainte de r f rence m un employ peut
21. Lecture gt Site 2 n ayant pas encore re u la propagation il voit son ancien profi e Probl me Un utilisateur doit continuer d acc der au site ma tre tant que la propagation n a pas t effectu e Trop couteux d indiquer au serveur web si la propagation est faite pour chaque utilisateur Solution Cas max acc s au site 1 pendant 20s Conserver la date de la derni re modif pour chaque utilisateur Cookie chez l utilisateur Conclusion et Perspectives e Solution mono maitre P riode de test assez courte 2 mois e Routage unique vers le site 1 pdt le d bogage du site 2 Stable et efficace Mise en place d un m canisme de failover e Convertir le site 2 en maitre e Solution multi maitres e Bibliographie Jason Sobel ao t 2008 http Awww facebook com note php note_id 2384433891 9 amp ref mf 24 43 Techniques de stockage Techniques de stockage P Rigaux p 1 4 Techniques de stockage Contenu de ce cours 1 Stockage de donn es Supports fonctionnement d un disque technologie RAID 2 Organisation des fichiers Champs enregistrements blocs techniques d acc s 3 Un exemple concret Oracle Techniques de stockage P Rigaux p 2 4 44 Les m moires d un ordinateur Les m moires dans un ordinateur forment une hi rarchie M moire cache M m ire primaire M moire vive volatile M moire Pisa
22. OUBLE PRECISION 8 DECIMAL M D M De si M lt D CHARM M VARCHAR M L avec L lt M Techniques de stockage P Rigaux p 21 4 Tailles variables et valeurs NULL Si tous les champs sont de taille fixe et ont une valeur pas de probl me En pratique certains champs ont une taille variable ou sont NULL m pour les champs de taille variable on pr c de la valeur par la taille exacte m pour les valeurs NULL on peut indiquer une taille 0 Oracle on peut cr er un masque de bits La norme n impose pas de choix mais dans tous les cas il faut g rer une information compl mentaire sur les en reg istre me nts Techniques de stockage P Rigaux p 22 4 54 En t te d enregistrement Les informations compl mentaires sont stock es dans l en t te d un enregistrement Exemple m table Film id INT titre VARCHAR 50 ann e INT m Enregistrement 123 Vertigo NULL en t te id titre 12 110 1237 ver tigo pointeur Le pointeur donne par exemple l adresse du sch ma de l enregistrement de la table Techniques de stockage P Rigaux p 23 4 Blocs et enregistrements m on essaie d viter qu un enregistrement chevauche deux blocs m on veut envisager le cas o la taille d un enregistrement varie on affecte une adresse un enregistrement pour pouvoir y acc der en une seule lecture m on d termine une m thode pour g rer un d placeme
23. RESTAURANT_NAME ASC SORTTIME ASC t DATE_TIME A 88 Traitement de requ te m Requ te gt plan d ex cution Arbre d op rateurs Blocs de requ tes simples une seule clause select Ordre d ex cution Algorithme d un op rateur Etapes du traitement Requ te gt blocs simples Bloc gt arbre d op rateurs Op rateur gt algorithme M thode d acc s aux donn es Parcours s quentiel Possible pour toute relation m Usage d un index Si la requ te contient la cle de l index m Choix parmi plusieurs m thodes d acc s 89 Ordre de traitement des donn es Op rateur unaire s lection Oprea projection Taur distinct at Ordre quivalent Composition commutative o p TTA R TT R si attr p A Simplification tr Ttg R TT R Op rateur n aire a Jointure union Ordre quivalent Associativit commutativit Distributivit union jointure Choix d un ordre a Optimisation de requ te Optimisation de requ tes Objectif a Th orique D terminer le plan optimal a Pratique Eviter les plans trop lents Principe a Enum rer les plans quivalents Tous les plans exhaustif m n ordres quivalents pour joindre n relations 1 seul plan Ordre jointure celui de la clause from s lection et projection avant jointure s lection avant projection si index Certains plans m Enum rer des sous plans hyp sous plans op
24. UPMC UFR 919 M2 ABDR Administration des bases de donn es r parties Hubert Naacke Site http www master ufr info p6 jussieu fr 2006 Ext naacke abdr2009 Sommaire Introduction 2 Outils 7 Projet 15 Etude de cas 19 Stockage 43 Indexation 65 Contr le de concurrence 78 Requ tes 86 ABDR Intro et Outils Hubert Naacke Laboratoire d Informatique de Paris 6 Objectifs Comprendre le fonctionnement d un SGBD Comprendre les probl mes de performance Diagnostic R solution m Comprendre les fonctionnalit s limitations Traitement de requ tes r parties Acqu rir un sens pratique capacit de r action quel que soit le SGBD Planning Cours a Intro Etude de cas benchmark TPC a Stockage a Indexation a Contr le de concurrence transactions m Requ tes Pratique a Oracle Database version 10G En option a IBM DB2 Universal Database Apache Derby MonetDB Evaluation m Projet 30h perso Examen 2h mi janvier a CC ME Participation Projet Banc d essai G n rateur de BD G n rateur de charge a Surveillance diagnostic Bibliographie a P Bonnet D Shasha Livre Database Tuning a P Rigaux Univ Paris Dauphine cours en ligne Documentation Oracle10G otn oracle com Pratique TME avec le SGBD Oracle 10G Oracle SGBD relationnel Outils de d veloppement a IDE jdeveloper Modules packages PL SQL
25. V R1 R2 lt R1 T V R2 T V a Sinon pas d lagage m Transfert intersite m r criture S29S1 et S89S1 amp S2 gt 8S3 gt S1 a R x4 S R Xa S Dia S R D TA S Dia S m Choix entre r pliques m Implementation R criture manuelle avec vues Trigger proc dure stock e appli middleware 32 102 Pratique Traitement r parti BD r partie en 3 sites a Site donn es de l utilisateur etunn connect show user a Lien intersite create database link user_db_links Sources SiteB EmpB Employ age lt 20 Create table Emp2 as select a SiteC EmpC Employ age gt 20 ServiceC ns a Base globale a SiteA seulement des vues aucune donn e Create synonym EmpB for EmpB siteB Create view VueEmp user_views requ te globale a Nombre d employ s pr nomm s p1 Select From VueEmp a Plan identifier les transferts et le site de chaque op rateur 103 Fonctionnalit s exp rimenter S lection a R criture s lection globale gt s lection distante S lection avant apr s transfert a Avec Sans index a Elagage select from VueEmp where age gt 50 Projection a Projection avant apr s transfert Mise jour a Pb mise jour dans une vue Insertion create trigger instead of insert Suppression Update age d un Emp 15ans gt 30ans Update plusieurs Emp Jointure a EmpBDd erv ns ServiceC a Algorithme et index utilis s Facteurs qui influencent le choi
26. ace dans le bloc une r organisation interne suffit m sinon on le d place et on cr e un cha nage dans l en t te du bloc La cr ation de chainage p nalise les performances gt si possible laisser de l espace libre dans un bloc Techniques de stockage P Rigaux p 28 57 Exemple d volution avec chainage On agrandit deux fois successivement l enregistrement F1 12 46 Bloc F1 12 Bloc F1 12 Bloc F1 12 16 46 5 16 46 5 16 46 5 Y y a Situation initiale b Apr s agrandissement de c D placement de l enregistrement 46 l enregistrement 46 Techniques de stockage P Rigaux p 2 4 Recherche dans un fichier En l absence d index appropri le seul moyen de rechercher un enregistrement est de parcourir s quentiellement le fichier La performance du parcours est conditionn e par la bonne utilisation de l espace id alement tous les blocs sont pleins m le stockage le plus contigu possible m me piste m me cylindre etc On peut faire beaucoup mieux si le fichier est tri sur la cl de recherche recherche par dichotomie Techniques de stockage P Rigaux p 344 58 Mise jour d un fichier Pour les UPDATE et DELETE on se ram ne une recherche Pour les INSERT probl me on ne peut pas se permettre de parcourir le fichier a chaque fois Premi re solution liste doublement chain e
27. curit On estime m risque de panne pour un disque pendant les prochains 10 ans 1 m risque de panne pour deux disques pendant les prochains 5 ans 1 m risque de panne pour cent disques pendant le prochain mois 1 La technologie RAID vise principalement a limiter le risque d une d faillance Techniques de stockage P Rigaux p 14 4 50 Les niveaux RAID ll existe 7 niveaux num rot s de 0 6 niveau 0 rien niveau 1 duplication brutale des donn es 2 3 niveau 4 reprise sur panne bas e sur la parit 4 niveau 5 r partition de l information de parit 5 niveau 6 prise en compte de d faillances simultan es Techniques de stockage P Rigaux p 1 5 4 Principe trivial on a deux disques sur lesquels on crit et lit en parall le m deux fois plus co teux m pas d am lioration notable des performances Techniques de stockage P Rigaux p 16 51 Hypoth ses on dispose de n disques tous de m me structure On introduit un disque de contr le contenant la parit Exemple D1 11110000 D2 10101010 D3 00110011 Chaque bit du disque de contr le donne la parit pour le m me bit des autres disques DC 01101001 permet la reprise sur panne en cas de d faillance d un seul disque Techniques de stockage P Rigaux p 1 7 4 Performances du RAID 4 Lectures elles s effectuent de mani re standard sur les
28. d isolation a Attente Surveillance diagnostic Etat du SGBD tat instantan du SGBD vues V a Etat post riori trace log plan d ex cution Etat des appli clientes et du r seau Mesure a Unit de mesure nb de pages nb d octets nb de verrous Temps de r ponse a Client comm C S SGBD a Temps d attente cause D bit nb de transactions par minute tpm a Stabilit d bit ind pendant de la dur e de l exp rience D marche Progression par tape 1 tape Sc nario de r f rence a Constater la performance initiale Proposer une solution pour am liorer la perf Sc nario de validation exp rimentale a Mesurer l am lioration Conclure Terminer une tape avant d aborder la suivante Rapport de projet Plan Intro Description g n rale Sch ma de la base Traitements requ tes transactions a Mesure de performance Fonctionnalit 1 a Mise en vidence a Manque Am lioration Fonctionnalit n Conclusion Forme r daction clart Sujet Projet 2008 Contexte le benchmark TPC C Cf www tpc org rubrique TPC C Impact de la r partition Comparer BD centralis e BD r partie sur 2 4 machines a R aliser le g rant de la r partition Impact du stockage a Proposer une solution pour r duire l usage du disque Impact du contr le de concurrence Proposer une solution pour r duire le surco t li au contr le de concurrence Dispo
29. disques de donn es R partition le RAID 4 distribue les blocs sur les n disques ce qui permet d effectuer des lectures en parall le critures il faut tenir compte des versions avant et apr s mise jour d un octet Exemple avant 11110000 apr s 10011000 Octet de mise jour 01101000 On doit inverser les bits 2 3 5 du disque de parit 52 RAID 5 et RAID 6 Probl me 1 du RAID 4 n fois plus d critures sur le disque de contr le Solution RAID 5 les blocs de parit sont distribu s sur les n 1 disque Exemple D1 11110000 D2 10101010 D3 00110011 DC 01101001 Probleme 2 et si deux disques tombent en panne en m me temps RAID 6 un codage plus sophistiqu permet de r cup rer deux d faillances simultan es Techniques de stockage P Rigaux p 1 9 4 Fichiers Une base de donn es un ou plusieurs fichiers Un fichier un ou plusieurs blocs Le SGBD choisit l organisation des fichiers l espace est il bien utilis est il facile et efficace de faire une recherche est il facile et efficace de faire une mise a jour ne E les donn es sont elles correctement repr sent es et en s curit Tous les SGBD prennent en charge la gestion des fichiers et de leur contenu Techniques de stockage P Rigaux p 204 53 Un enregistrement une suite de champs stockant les valeurs des attributs Type Taille en octets INTEGER 4 FLOAT 4 D
30. e Chaque tablespace consiste en un au moins ou plusieurs fichiers La notion de tablespace permet 1 De contr ler l emplacement physique des donn es par ex le dictionnaire sur un disque les donn es utilisateur sur un autre 2 de r gler l allocation de l espace extensions 3 de faciliter la gestion sauvegarde protection etc Techniques de stockage P Rigaux p 39 4 Exemple de tablespaces Tablespace 1 Tablespace 2 Table C Dictionnaire Fichiers Techniques de stockage P Rigaux p 44 CREATE TABLESPACE TB1 DATAFILE fichierTBl dat SIZE 50M DEFAULT STORAGE INITIAL 100K NEXT 40K MAXEXTENTS 20 PCTINCREASE 20 CREATE TABLESPACE TB2 DATAFILE fichierTB2 dat SIZE 2M AUTOEXTEND ON NEXT 5M MAXSIZE 500M DEFAULT STORAGE INITIAL 128k NEXT 128K MAXEXTENTS UNLIMITED Techniques de stockage P Rigaux p 41 4 Maintenance d un tablespace Quelques actions disponibles sur un tablespace 1 On peut mettre un tablespace hors service ALTER TABLESPACE TBL OFFLINE 2 On peut mettre un tablespace en lecture seule ALTER TABLESPACE TB1 READ ONLY 3 On peut ajouter un nouveau fichier ALTER TABLESPACE ADD DATAF TILE fichierTBl 2 dat SIZE 300 M Techniques de stockage P Rigaux p 42 4 Affectation de tables un tablespace On peut placer une table dans un tablespace Elle prend alors les parametres de stockage de ce dernier On
31. e a partir du journal undo redo log 84 Pratique Niveau d isolation client sqlplus param tre isolation level a alter session set isolation level serializable m read committed a client jdbc java sql Connection a setAutoCommit false a setTransactionlsolation TRANSACTION_SERIALIZABLE commit ou rollback 85 Verrous R a b Obtenir un Vx sur un tuple de R update R set where a a select from R where a for update a PL SQL package dbms_lock Obtenir un Vx sur une table enti re Lock table Relacher les verrous a Relachement en fin de transaction commit marque le d but de la transaction suivante a Relachement avant la fin de la transaction Rollback to savepoint PL SQL dbms_lock release 86 Performance des requ tes ABDR cours 5 R f rence a D Shasha P Bonnet Chapitre Query Tuning 2001 87 Motivations Requ te complexe regroupement tri agr gation min max avg fonction analytique sous requ tes imbriqu es a select x select y from Z a from select x a where x a in select where exists select multi relations a Pr dicat complexe compos and or between a fonctions expr math Exemple SELECT s RESTAURANT_NAME t TABLE SEATING to_char t DATE_TIME Dy Mon FMDD AS THEDATE to_char t DATE_TIME HH MI PM AS THETIME to_char t DISCOUNT 99 AS AMOUNTV
32. erializable Vp avant lecture Vx avant criture 2PL rel cher Vp et Vx en fin de transaction a Granularit des verrous m Verrou sur une relation m Verrous sur un tuple verrous sur les index Performance a Probl me 1 les lectures peuvent bloquer les critures a Solution ne pas accorder de Vp en cas d attente de Vx Tester si attente Vx gt dur e max a Probl me 2 Abandon apr s rel chement des verrous m Abandon en cascade des transactions qui ont effectu une lecture sale a Solution verrouillage strict ne pas rel cher les verrous avant le commit Isolation avec gestion de version Objectif garantir un niveau d isolation sans prendre de verrou en lecture aucun Vp lecture non bloquante et non bloqu e Vx avant criture relach en fin de transaction maintenir plusieurs versions des donn es a Version d un tuple tuple transaction avec transaction date d but valid e Niveau read commited a Lire la derni re version valid e Niveau serializable Lecture lire la derni re version valid e avant la date de d but de la transaction a Ecriture refus si la date de la derni re version valid e est plus r cente que la date de d but de la transaction Impl mentation a Oracle snapshot isolation Date de d but date de la premi re instruction sql de la transaction a Derni re version valid e toujours disponible dans l espace undo tablespace a Reconstruire une version ant rieure la derni re version valid
33. estion de l espace m PCIFREE donne l espace libre pr server au moment de la cr ation d une table ou d un index m PCTUSED indique quel moment le bloc est disponible pour des insertions Oracle maintient un r pertoire des blocs disponibles pour insertions Exemple 1 PCIFREE 30 et PCTUSED 70 2 PCTFREE 10 et PCTUSED 80 Le second choix est plus efficace mais plus risqu et pl u S CO ate u X Techniques de stockage P Rigaux p 36 61 Stockage et adressage des enregistrements En r gle g n rale un enregistrement est stock dans un seul bloc L adresse physique d un enregistrement est le ROW DD 1 Le num ro de la page dans le fichier 2 Le num ro du n uplet dans la page 3 Le num ro du fichier Exemple OO0O00DD5 000 001 est l adresse du premier n uplet du bloc DD5 dans le premier fichier Techniques de stockage P Rigaux p 37 4 Extensions et segments L extension est une suite de blocs contigus Le segment est un ensemble d extensions contenant un objet logique ll existe quatre types de segments 1 Le segment de donn es 2 Le segment d index 3 Le rollback segment utilis pour les transactions 4 Le segment temporaire utilis pour les tris Moins il y a d extensions dans un segment plus il est efficace Techniques de stockage P Rigaux p 38 62 Les tablespaces Une base est divis e par l administrateur en tablespac
34. et les feuilles sont stock es sur le disque a Un index est un fichier Acc s rapide Travers e rapide depuis la racine vers les feuilles a Faible profondeur de l arbre lt 4 a Une seule lecture pour lire un n ud a taille d un n ud lt taille d un bloc Structure de donn es 2 Arbre quilibr a B Tree avec chainage horizontal bi directionnel des feuilles a Un n ud contient n valeurs croissantes et n 1 adresses des fils a Une feuille contient m valeurs croissantes de l attribut a Pour chaque valeur m acc s soit aux adresses des tuples qui satisfont la valeur soit aux tuples directement a Tables de hachage a Fonction de hachage a Valeur v h v n entr e dans un r pertoire Une entr e contient toutes les cl s qui ont la m me valeur h v Pour chaque cl liens vers les adresses des tuples a Statique r pertoire de taille fixe d bordement possible a Dynamique le domaine de h v varie pour viter les d bordements a Ex h v v modulo 2 Doubler la taille du r pertoire n gt n 1 Diviser par 2 la taille du r pertoire n gt n 1 69 Index type de requ te Quel index peut tre utilis pour quel type de requ te Requ te cibl e a ArbreBt hachage plus rapide que l arbreB si pas de d bordement Requ te multi points a ArbreB hachage Requ te sur intervalle arbreB gr ce au chainage des feuilles Requ te min max arbreB Tri sur la cl de l index arbreB Regroupeme
35. fois sans garantir l ordre d ar Traitement des v nements sans ordre ni Traitement idempotent app evt app app evt Ev nement signal ne contient pas les donn es mises jour e Acc s suppl mentaire la BD pour conna t riv e unicit re les modifications effectu es Flux d v nements Consommateurs logiques Traitement d images Profil utilisateur 10 29 Mise jour de l index du moteur de recherche e Ev nement G n r par une criture dans la BD e Exple transaction d ajout d un article e Traitement d un v nement Transformation des donn es e Normalisation du texte ajout de m tadonn es Diffusion fiable e Publication vers tous les fragments de l index sur la grille e Stockage persistant dans une BD auxiliaire e Renouveler les envois n ayant pas abouti e Chaque fragment de l index coute l arriv e des messages Filtre ignore les messages ne concernant pas le fragment Mise jour de l index en m moire Demande le renvoi des messages perdus Actualisation du moteur de CE T BD recherche l l I I v mn i actualisation du moteur de recherche I Yy BD de recherche v nements persistants i l 1 I v T i 1 l v sebessew ep sng e 11 30 Traitement des lots e Lots batch planifi s et trait s sur des
36. fonction Oracle Pratique Les index avec Oracle 74 Plan d ex cution d une requ te Pr parer l environnement de travail Cr er le r le plustrace un seul r le par base a en tant que sys ex cuter sqlplus admin plustrce sql sqiplus sys password base01 as sysdba plusirce Attribuer le r le plustrace a l utilisateur u1 grant plustrace to u1 Cr er une table pour stocker les plans d ex cution Ouvrir une session en tant qu utilisateur u1 ex cuter rdoms admin utlxplan sql Visualiser le plan d ex cution Client sqlplus param tre autotrace plan ex cution affiche le r sultat de la requ te set autotrace on plan ex cution de la requ te mais sans afficher le r sultat de la requ te set autotrace traceonly plan de la requ te mais sans l ex cuter set autotrace on explain r sultat de la requ te sans autre info set autotrace off a n cessaire pour interroger les vues du dictionnaire Compatibilit C S Utiliser le client 10G pour visualiser un plan sur le serveur 10G autotrace erreur si client 8i vers serveur 10G sauf si r le DBA Client Jdeveloper 20 75 Trace du plan d ex cution Arbre d op rations a ordre d ex cution depuis les feuilles vers la racine Affichage tabulaire une op ration par ligne lien n p re n fils Nom de l algorithme m acc s par index Suivi d un acc s aux donn es access by rowid projection Estimati
37. ientes Appli cliente appli dans le SGDB Proc dure stock e a PL SQL Transat SQL standard Persistent Stored Module a Java pilote JDBC interne au SGBD Communication rapide sans Net8 entre La JVM L interpr teur PL SQL a Le moteur de requ tes Appli multi utilisateurs a Java une sesssion un thread a PL SQL une session 1 job sqlplus une session une fen tre de terminal PL SQL Lire a Manuel PL SQL User s Guide and Reference API Supplied PL SQL Packages and Types Reference a PL SQL Packages and Types Reference m de 190 packages Exple dbms_utility get_time ABDR Projet Projet Objectif Concevoir et r aliser un d monstrateur D montrer une fonctionnalit avanc e du SGBD qui acc l re le traitement des transactions a Avantages inconv nients a insister sur l am lioration par rapport l existant Implication 30h perso minimum Projet Modules concevoir Banc de test G n rateur de base de donn es G n rateur de charge a Surveillance diagnostic G n rateur G n rateur de BD a Sch ma table contraintes M thode d acc s index Donn es a Valeur des attributs a Distribution al atoire uniforme non uniforme zipf a Attributs non corr l s G n rateur de charge m mule les applications clientes a Nombre d applications simultan es terminaux Requ tes param tr es a Transactions niveau
38. ile d invalider le cache du site esclave lors de l criture sur le site ma tre 22 41 Coh rence des r pliques Site 1 Site 2 007 James B 007 James B UPDATE Client SET pr nom Paul WHERE num 007 et invalider le cache SELECT WHERE num 007 007 James B BD cache Propager l UPDATE pr nom Paul et invalider le cache SELECT WHERE num 007 SELECT WHERE num 007 007 Paul B 007 Paul B BD cache t v Lecture obsol te possible pdt 20s mais pas d incoh rence Routage des requ tes des utilisateurs e Probl me Ne pas traiter les critures sur le site esclave Eviter les redirections Une demande d criture re ue sur le site 2 sera redirig e vers le site 1 Aller retour trop couteux R soudre le probl me en amont Une demande est elle une criture O se trouve l utilisateur Solution adapter le point d entr e du serveur http e Choix du site selon l URL et l IP de l utilisateur Ecritures rout es vers le site maitre Lectures rout es vers le site le plus proche Les critures doivent tre identifiables priori d apr s leur URL 46 23 42 Impact du Routage sur la coh rence e Exemple Utilisateur situ NY proche du site 2 8 00 00 il modifie son profil e Ecriture gt Site maitre 8 00 04 il demande un aper u de son profil e
39. itements automatiques fr quents a Traitements personnalis s Acc s C S Un SGBD est un logiciel C S Protocole non standard ex Net8 pour Oracle a Acc s multi utilisateurs a Acc s local ou distance Ind pendant de l OS et du langage d implem a Client Java sur Mac SGBD C sur Win a Client C sur Win SGBD C sur linux a Client Java sur machine M1 SGBD C sur M1 Protocole C S Net8 Protocole client serveur applicatif a Transparent Network Substrate TNS Repose sur un protocole de communication standard Acc s distance TCP Acc s local communication inter processus utilise la m moire partag e Connexion en deux tapes 1 Ouvrir une session 2 Envoyer des traitements aux SGBD Module d coute listener a G re l tape 1 un client demande l ouverture d une session a initie l tape 2 le module d coute met en contact le SGBD avec le client Centralisateur connection manager a G re enti rement les tapes 1 et 2 interm diaire permanent entre le client et le SGBD Avantage contr le d acc s a Inconv nient goulot Serveur Net8 Module d coute Application Situ e sur la m me machine que le SGBD mais processus ind pendant Combien de modules d coute a Un module d coute par machine Le module d coute redirige les demandes vers tous les SGBD de la machine Plusieurs modules d coute a Un module par SGBD Plusieurs modules d coute pour un SGBD Contr
40. ncts 220 groupes pour 16 000 serveurs d application G1 Vente G2 Recherche G3 Voir les articles G4 Ench res Parall liser le d veloppement le d ploiement et le contr le des modules applicatifs Minimise les d pendances entre les BD et les ressources _infrastructure BD d di e pour un type d application BD en lecture seule pour la recherche et la consultation d articles BD en lecture criture pour les ench res et les ventes e Fragmentation horizontale Un groupe est constitu de N serveurs d applications identiques Applications sans tat clonage sans partage de donn es entre applications Fragmentation de l application 2 e Couche applicative sans tat L acc s partag des objets applicatifs ne passe pas l chelle Aucune donn e n est transmise entre deux groupes applicatifs e La session d un utilisateur transite par plusieurs groupes applicatifs Recherche puis visualisation d un article puis ench res puis paiement e Conserver l tat d une session URL petite taille Cookies taille moyenne BD en m moire grande taille e historique de navigation travers plusieurs pages de formulaires 25 Moteur de Recherche 1 Fragmentation fonctionnelle BD sp cifique pour la recherche index s par des donn es Acc s en lecture seule s par des transactions de lecture criture Un moteur de recherche par domaine utilisateur article
41. ne secondaire Bandes gt M moire ___ tertiaire Plus une m moire est rapide moins elle est volumineuse Techniques de stockage P Rigaux p 34 Quelques ordres de grandeur M moire Taille en Mo Temps d acc s secondes cache Env 1 Mo 1078 10 nanosec principale O 107 Mo 1078 1077 10 100 nanose secondaire O 10 Gygas 107 10 millisec tertiaire O 10 T ras amp 1 seconde NB un acc s disque est environ un million de fois plus co teux qu un acc s en m moire principale Techniques de stockage P Rigaux p 4 4 45 Importance pour les bases de donn es un SGBD doit ranger sur disque les donn es parce qu elle sont trop volumineuses et qu elle doivent persister a long terme m il doit les amener en m moire pour les traiter si possible les donn es utiles devraient r sider le plus possible en m moire La performance d un SGBD d pend de sa capacit g rer efficacement les transferts disque m moire Techniques de stockage P Rigaux p 5 Organisation d un disque Disque surface magn tique stockant des 0 ou des 1 divis en secteurs Dispositif les surfaces sont entrain es dans un mouvement de rotation les t tes de lecture se d placent dans un plan fixe le bloc est un ensemble de secteurs sa taille est en g n ral un multiple de 512 la piste est l ensemble des blocs d une surface
42. nibilit a Proposer une solution pour surmonter la panne d une base Etudes de cas Ebay et Facebook Bases de donn es r parties pour le commerce en ligne Etude de cas l architecture de Ebay 20 Charge applicative Client le 248 millions d utilisateurs Tailles des donn es 2 000 tera octets 200 fois la taille de la librairie du Congr s Photos d 1 milliard 100 millions d articles en vente dans 50 000 cat gories Requ tes Demandes 1 milliard de pages web par jour gt 44 milliard de requ tes SQL par jour dont 130 millions d appels de proc dure par jour Transactions commerciales Montant des n gociations 1800 par seconde Application en constante volution de 300 nouvelles fonctionnalit s par trimestre Ajout de 200 000 lignes de code par mois Besoins Passage l chelle scalabilit L utilisation des ressources doit augmenter proportionnellement avec la charge Croissance forte pr voir une multiplication par 10 des volumes donn es utilisateurs communication Disponibilit 24 x 7 x 365 Tol rance aux pannes Fonctionnement en mode d grad Reprise apr s panne Latence temps de r ponse constat par les utilisateurs temps de transfert des donn es entre 2 points de l infrastructure Gestion de l infrastructure Simplicit Maintenabilit Inspection diagnostic rapide Co t Complexit et effort de d veloppement Co t
43. nt Les deux derniers probl mes sont particuli rement cruciaux pour l indexation des enregistrements Techniques de stockage P Rigaux p 24 4 55 Enregistrements de taille fixe m Pour une taille de bloc B et d enregistrement E on a B R enregistrements par bloc Exemple B 4096 E 84 26510 47 enregistrements par bloc m Le 563 est dans le bloc 563 47 1 12 m Le bloc 12 contient les enregistrements 11 x474 1 517a12x 47 564 m le 563 est donc l avant dernier du bloc NB on peut aussi le r f rencer par le fichier le bloc le num ro interne Soit F1 12 46 Techniques de stockage P Rigaux p 25 4 Enregistrements de taille variable m un enregistrement peut changer de taille avec r organisation interne du bloc m un enregistrement peut tre d plac Premi re solution indirection Fl Techniques de stockage P Rigaux p 26 4 56 Solution interm diaire m on a un adressage physique pour le bloc m au sein du bloc on a une indirection pour adresser les enregistrements Bloc F1 12 En t te rl 16 46 57 Espace libre Le Enregistrements Solution adopt e par Oracle Techniques de stockage P Rigaux p 27 4 R organisation du stockage Ladressage indirect donne une certaine souplesse m si un enregistrement s agrandit mais quil reste de la pl
44. nt sur la cl arbreB hachage Equi Jointure R S avec R a S b a Jointure en boucle it rer sur R puis index sur S b arbreBt hachage a Jointure par fusion 2 arbres B sur R a et sur S b a Jointure par hachage jointure des paquets de R et S 2 a2 la fonction de hachage des index sur R a et S b doit tre identique Inclusion donn es index Traiter une requ te en utilisant un index Traverser l index lire les donn es a Racine gt feuilles gt adresses des tuples gt tuples m Index couvrant Parcourir seulement l index racine gt feuilles gt adresses sans acc der aux donn es ne pas lire les tuples a Restreint a certaines requ tes a Select projection from where pr dicat Aproj attributs de la projection Apred attributs du pr dicat m La cl de l index d finit un ordre lt sur les attributs Condition pour que l index soit couvrant m Aproj cl de l index Apred cl de l index m ET les attributs de s lection pr c dent ceux de projection selon l ordre lt d fini par l index m ET toutes les valeurs des attributs doivent tre dans l index 70 Index non pla ant Sert indexer un fichier non tri a Cl de l index cl de tri du fichier Deux tuples qui ont la m me valeur de cl ne sont pas plac s sur la m me page Toujours dense a Une feuille pointe vers les adresses de tous les tuples qui satisfont la valeur Feuille liste de couples
45. o T1 select distinct dir from Service a R3 select avg sal from Employ e T1 t Where e dir t dir Sous requ te correlee m Requ te Le n des employ s qui ont un salaire gal au salaire moyen de leur service Select num From Employ e1 Where sal select avg sal from Employ e2 where e2 serv e1 serv 97 Sous requ te corr l e m R criture a Relation temporaire T1 sal_ moyen serv a Insert into T1 Select avg salary as sal_ moyen e serv a From Employ e a Group by e serv Puis a Select num a From Employe e T1 t a Where e serv t serv a And e sal t sal_moyen Sous requ te correl e Limitations m Requ te R1 Le n des employ s dont le nb d amis est au nb d employ s de leur service m Select num From Employ e1 a Where amis count select e2 num from Employe e2 Service s where e2 serv s ns and e2 serv e1 serv 98 Sous requ te corr l e Limitations R ecriture non quivalente R2 R1 a Relation temporaire T1 nbCol serv a Insert into T1 select count num as nbCol serv from Employ e Serv s where e serv s ns group by e serv Select num From Employ z Tit Where e amis t nbCol And e serv t serv a R2C R1 R2 ne contient pas les Employ sans amis et qui travaillent dans un service non r f renc Relation temporaire limitations m Requ te Le n des employ s du service compta gagnant plus de 1000
46. oit pas emp cher la partie sans panne de poursuivre ses traitements D tection des pannes e Journal des requ tes utilisateurs Le journal est g n r par les applications Le journal d taille les acc s aux BD et aux ressource externes Diffusion par message D tection des pannes automatis e e Contr le de l tat des applications en temps r el D tection des exceptions et des alertes activ es e Mesure de la vitesse instantan e des transactions Selon l URL le groupe applicatif la BD 15 34 Contr le de l activit Ventes j Consultation j Recherche j T T T 1 1 Bus de messages l I I i y Yy D tection des Mesure de alertes performance Journal Volume du journal 1 5 tera octets jour Gestion des Pannes et volution de l application e G n raliser le rollback Toute modification doit pouvoir tre d faite e D ploiement de code Bi mensuel sur les 16 000 serveurs d applications D pendance entre groupes applicatifs Automatisation e Calcul des d pendances gt plans de d ploiement et de rollback e Possibilit d abandon imm diat et automatis e D ploiement de fonctionnalit Configuration centrale pour activer d sactiver une fonctionnalit Possibilit d activer d sactiver une fonctionnalit instantan ment D ploiement s par code fonctionnali
47. on du co t d une op ration co t processeur acc s disque co t relatif aux plans d une requ te a seulement si les statistiques ont t collect es analyze table compute statistics a seulement pour l optimisation bas e sur le co t a 8i 9i alter session set optimizer mode choose ou la directive choose Trace cout r el d ex cution Le mode autotrace retourne la mesure de l ex cution de la requ te nombre de pages disque lues crites a physical read write a unit de mesure le bloc 8KO par d faut a lecture d une page disque seulement si elle n est pas en m moire nb de pages lues en m moire a logical gets nb d octets transf r s client gt SGBD nb de verrous 76 Trace cout d ex cution froid Traitement d une requ te a Lecture tuple gt lecture bloc acc s cache si bloc en m moire a Acc s disque sinon a re ex cution 100 acc s disque a Traitement froid a n me ex cution possibilit d acc s au cache a Traitement chaud plus rapide Mesure de performance a Traitement froid initialement aucune donn e en m moire a taille du cache db_ cache size v sga Quota create profile private sga a Vider le cache des blocs de donn es a alter system flush buffer cache a Vider le cache des plans d ex cution shared pool alter system flush buffer pool a vue v db object cache package dbms shared pool Directive pour l optimiseur m L optimiseur
48. peut aussi remplacer certaines valeurs CREATE TABLE Film ECIFREE 10 PCTUSED 40 TABLESPACE TRI STORAGE INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25 Techniques de stockage P Rigaux p 43 4 65 Les index ABDR cours 3 Motivations Retrouver les donn es qui satisfont un crit re a R a b selet from R where b Dupont Acc s aux donn es sans index a Parcours s quentiel a Dur e du parcours proportionnel la taille des donn es a Recherche par dichotomie Seulement si les donn es sont tri es exple tri selon b Dur e O log m Avec un index a Un index est une structure de donn es auxiliaire a Traverser l index puis lire les donn es qui satisfont le crit re Un index offre un acc s efficace aux donn es en r duisant les lectures non n cessaires a Inconv nient co t des mises jour 66 Cl de recherche m Crit re de recherche a Pr dicat form de plusieurs attributs a Pr dicat simple attribut op valeur a ope lt gt lt 2 like like compare 2 cha nes a Pr dicat compos and or m Cl de recherche a Les attributs du crit re de recherche a Peut tre diff rent de la cl de la relation Type de cl a S quentielle monotone selon l ordre d insertion a Ex date d inscription estampille n de facture Non s quentielle cas le plus fr quent Type de critere de recherche a Par valeur Pr dicat d galit b Dupont
49. r piste et par cylindre temps de rotation et donc d lai de latence 1e EG d lai de transfert pour 1 ou n blocs On en d duit les temps minimal maximal et moyen de lecture Techniques de stockage P Rigaux p 10 4 48 Optimisation 1 placement des blocs r a b Proximit sur un disque 1 dans le m me bloc 2 dans deux blocs cons cutifs 3 sur la m me piste 4 sur le m me cylindre 5 fonction de l loignement des pistes Techniques de stockage P Rigaux p 1 1 4 Optimisation 2 ordre des acc s Difficult suppl mentaire l entrelacement des demandes entra ne des lectures al atoires M moire tampon L 1 16 L 2 23 L 1 18 L 2 24 L 1 17 L 17 L 2 23 L 1 18 L 2 24 L 1 16 L 1 16 L 1 17 L 1 18 L 2 23 L 2 24 quenceur disque Techniques de stockage P Rigaux p 12 4 49 Optimisation 3 m moire cache Derni re optimisation garder en m moire les blocs apr s utilisation Gestionnaire de m moire cache Table de hachage Lecture eee ee disque Demande de bl blocs lt lt M moire centrale Un des param trages des SGBD consiste leur attribuer une partie de la m moire centrale qui sert en grande partie de cache Techniques de stockage P Rigaux p 1 3 4 Technologie RAID Stockage sur disque point sensible des SGBD pour les performances et pour la s
50. rance aux pannes insuffisante Panne de courant r gionale tremblement de terre gt Ouvrir un 2 me site en 2008 18 37 Mise en place d un 2 site e Choix du lieu loignement g ographique et topologique avec le premier site e Virginie c te Est M me pays mobilit des quipes g rant le site Rapprochement entre l utilisateur et l application Am lioration de la latence Application dupliqu e sur le 2 site Redondance Meilleure tol rance aux pannes Infrastructure de r plication Utilisateurs Xx ee LEI CT Datacentre 2 Datacentre 1 Memcached Connexion tr s haut d bit SS Rmq MySQL et Memcached sont 2 logiciels s par s 19 38 Architecture de r plication e Site maitre Le site 1 recoit toutes les critures des applications e Site esclave Dur e d installation du site esclave e Logiciel 1 semaine e BD 1 semaine 5 TO a transf rer par internet e Le site 2 est en lecture seule e Propagation Propagation asynchrone site 1 gt site 2 aussi vite que possible Retard maxi de 20s en p riode de charge intense Propagation asynchrone Site 2 Maitre flux de r plication Esclave JJJ De Q 8 00 00 update 8 00 29 20 39 Architecture du site maitre e Architecture 3 tiers 3 couches du c t serveur Serveur web serveur d application Cache d objets applicatifs en RAM SGBD relationnel e Ge
51. ressources hors ligne P riode jour semaine mois Manipulation intensive des donn es Parcours s quentiel d une table enti re Exemples e Calculer des profils et des recommandations Lire tous les articles cat gories recherche e Importer des donn es externes Catalogue e Calcul d cisionnels Top 10 des meilleures ventes par cat gorie Archivage suppression des articles vendus G n re d autres traitements de fond via des v nements Strat gie 3 Automatiser les t ches 12 31 Automatisation e Pr f rer les syst mes automatiques et adaptatifs aux syst mes manuels e Avantages Passage l chelle e Ajout de ressources mat rielles sans ajouter d administrateur Disponibilit et Latence Adaptation rapide aux changements d environnements Co t e Moins on reux qu une supervision humaine Apprentissage ajustement automatique sans intervention humaine Fonctionnalit e D cision prise en tenant compte de plus nombreux param tres Exploration de l ensemble des solutions possibles plus rapidement et plus compl tement Configuration adaptative Configuration des consommateurs d v nements D finir un contrat de service pour chaque consommateur Exple 99 des v nements trait s en moins de 15 secondes Le consommateur s adapte pour satisfaire le contrat tout en minimisant les ressources utilis es Ajuster la fr quence de lecture des v nemen
52. stion du cache Au niveau applicatif chaque objet a un id Tester le cache avant une lecture Compl ter le cache apr s lecture de la BD e Indiquer le TTL strat gie de remplacement LRU Invalider le cache apr s criture de la BD Protocole de r plication et de gestion du cache update select cache invalider cache p gt update Site 2 Esclave 21 40 Coh rence des r pliques cart durable entre les sites Site 1 Site 2 007 James B 007 James B UPDATE Client SET pr nom Paul WHERE num 007 Invalider le cachelsur les 2 sites SELECT WHERE num 007 007 James B BDcache Propager l UPDATE pr nom Paul SELECT WHERE num 007 SELECT WHERE num 007 BD gt cache 007 Paul B 007 James B cache t v L incoh rence dure jusqu la prochaine modification du client n 007 43 Garantir la coh rence des r pliques e Probleme Caches invalid s l instant de l criture sur le site maitre Lors de la propagation le cache n est pas invalid une 2 me fois Incoh rence si une lecture arrive apr s l criture sur le site maitre et avant la propagation e Solution invalider le cache lors de la propagation Comment savoir quel objet invalider e Ajouter l id des objets modifi s dans le flux de propagation Format SQL annotation Inut
53. t Impact sur les applications tester la pr sence d une fonctionnalit 35 Inventaire des ressources indisponibles e D tection Les applications d tectent l indisponibilit des BD et des ressources externes Fausse suspicion Une ressource lente mais disponible est difficile d tecter e Op rer en mode d grad e Ressource indisponibles inventori es Ne pas invoquer une ressource indisponible D clencher une alerte e Les fonction critiques sont re ex cut es sur une autre ressource e Les fonctions non critiques sont retard es mise en file d attente pour ex cution ult rieure e Inventaire explicite des ressources indisponibles Reprise progressive de l activit Evite la surcharge apr s panne Bibliographie e Randy Shoup QCon InfoQueue 2007 http www infog com presentations shoup ebay architectural principles 17 36 Etude du cas de Facebook R plication d un r seau social en ligne Contexte e Facebook Application Web 2 0 gestion de r seau social partage de documents et d v nements entre amis Croissance exponentielle de la charge requ tes donn es e Solution initiale d ploy e en 2007 service centralis en Californie Un seul data centre Limite atteinte en nb de machines espace clim conso lectr e Latence des r ponses fournies aux utilisateurs loign s Jusqu a 0 2 s pour l Europe 20 du temps de r ponse Tol
54. t de chaque l ment BD groupe d application Disponibilit e Plusieurs tats de disponibilit peuvent cohabiter Caract ristiques de disponibilit d di es pour une application Haute disponibilit seulement pour les l ments qui l exigent Best effort pour les autres l ments Invocation tol rant l indisponibilit e plusieurs tentatives pendant un certain d lai Asynchronisme avantages 2 e Latence Retarder l ex cution de certains traitements pour am liorer le temps de r ponse observ par l utilisateur Offre la possibilit d effectuer des traitements longs en arri re plan dur e gt max tol r par l utilisateur e Co t op rationnel Les pics de charge sont liss s dans le temps e Les files de messages asynchrones servent de tampons pour absorber les pics de charge Un pic de charge ne provoque pas la saturation du syst me e Infrastructure moins ch re Dimensionn e pour supporter une charge moyenne et non une charge maximale 28 Flux d v nements Diffusion de messages e Une transaction g n re un v nement de 300 types d v nements e Ajout d un article nouvelle ench re article vendu v nement persistant cr ation incluse dans la transaction bloc PL SQL e Un consommateur s abonne aux v nements Plusieurs consommateurs logiques pour un type d v nement Diffusion fiable des v nements au moins une
55. timaux plan optimal Choisir un plan a Mod le de co t 90 Visualiser l ex cution d une requ te m Visualiser le plan d ex cution Ordre des op rateurs M thode d acc s Algorithmes a plan choisi par l optimiseur de requ tes plan pr vu D tecter une requ te lente a Acc s inefficace a Index non utilis a Perf a nb de pages de donn es lues trop important a Nb d octets transf r trop important Consomme trop de ressource CPU disque Modifier l ex cution d une requ te Objectif Forcer l optimiseur a construire un certain plan d ex cution Type d action Modification locale sans effet de bord Modification globale effet global Effet nuisible sur les autres requ tes transactions applications Compromis comparer gain local vs perte globale Action locale modifier la requ te SQL a Factorisation d simbrication with nom requ te factoris e as select select Directive d optimisation directive Action globale modifier les m thodes d acc s Ajouter supprimer un index a Reconstruire un index pour le d fragmenter a Changer la structure arbreB hachage modifier le sch ma 91 Exemple Sch ma Employ num nom dir serv salaire contact contact le nombre d amis Index m Index pla ant sur num cl d Employ m 2 index secondaires l1sur nom 12 serv Etu num nom dipl ann e Index Index pla ant sur num cl d
56. ts Ajuster le nombre d v nements trait s ensemble dans un lot Ajuster le nombre de processus traitant les v nements Le consommateur s adapte aux variations dynamiques de l environnement d ex cution Charge longueur des files Dur e de traitement d un v nement Nombre de consommateurs e Ajouter un consommateur gt diminue la charge sur chacun 32 Apprentissage Objectif am liorer le taux d achat des utilisateurs Etudier les liens navigation achat Quelle pr sentation des articles aboutit le plus probablement un achat Selon le contexte le profil utilisateur Cycle d apprentissage 1 Etudier les achats pr c dents 2 Collecter le comportement des utilisateurs 3 Fouille de donn es e corr lations profil pr sentation achat gt recommandations 4 R percuter les recommandations sur l application Retourner l tape 1 Optimisation des recommandations Techniques d optimisation issues de l intelligence artificielle e Obtenir rapidement une solution quasi optimale Eviter la sur recommandation des solutions pr c demment recommand es Strat gie 4 Pr voir les pannes 14 33 Situation de pannes Pannes fr quentes de tous les l ments Chaque op ration peut chouer Chaque ressource tombera bient t en panne G rer les pannes le plus rapidement possible D tection Reprise apr s panne Panne partielle du syst me Ne d
57. une session Client Net8 API pour le client a Langage C OCI a Win pilote ODBC a Java pilote JDBC m Usage a Installation imm diate instant client depuis 10G a C indiquer les librairies LD_LIBRARY_PATH a Java Application m indiquer l archive du pilote a CLASSPATH ocjdbc14 jar JDK gt 1 4 Oracle gt 8i a CLASSPATH classes12 jar JDK lt 1 4 Oracle gt 8i a CLASSPATHs classes12 zip JDK lt 1 4 Oracle lt 9i Applet le pilote peut tre t l charg juste avant l utilisation Net8 Interface OCI OCI Oracle Call Interface est l implem cliente de Net8 a OCI utilis par sqlplus et pour les requ tes et trans r parties a Ex sqlplus utilisateur mot_de_passe nom_service_r seau Param tres a Fichier tnsnames ora dans le r pertoire r f renc par TNS_ ADMIN nom _ de service r seau description address_list address protocol tcp host machine port 1521 connect_data SID base01 a Identifier un SGBD sans ambigu t m Remplacer sid par service name fait r f rence au nom global de l instance D finir si un processus d di est allou au client m Ajouter server dedicated ou shared a Fichier sqinet ora nom de domaine par d faut Net8 Interface ODBC ODBC couche au dessus de OCI m Param tres Panneau de configuration a Outil d administration m Source ODBC a Pilote ODBC d Oracle d finir le nom ODBC du SGBD m Acc s depuis le langage C
58. x de l algorithme
59. yclique s quence s rialisable 81 Ex cution des transactions Garantir une ex cution s rialisable v rifier que le graphe de pr c dence est acyclique pour les traitements batch ex cution ult rieure emp cher les cycles a traitements en ligne ex cution imm diate Verrouillage Verrous m obtenir un V exclusif Vx avant une E a obtenir un V partag Vp avant une L 2PL verrouillage en 2 phases phase 1 acquisition des verrous phase 2 rel chement des verrous gt Jamais d acquisition apr s un rel chement Une s quence obtenue avec verrouillage 2PL est s rialisable Inconv nient a interblocage L A ACA 100 E A L B B 2B E B L B R solution abandonner une transaction 82 Objectifs du contr le de concurrence m Coh rence des donn es a s rialisabilit chaque transaction est isol e des autres a V T T ne peut pas acc der aux mises jour des autres trans Performance r duire le blocage a attente d un verrou d tenu par une autre transaction viter les interblocages Compromis a moins d isolation moins de blocage meilleure perf Niveau d isolation m la norme SQL92 d finit 4 niveaux Isolation Level Dirty Read Non repeatable read Phantom Read read i i oui uncommitted 83 Isolation avec verrouillage Read commited Vp avant lecture Vx avant criture rel cher Vp apr s une lecture Vx en fin de transaction S
Download Pdf Manuals
Related Search
Related Contents
NS2503-24P/2C User Manual - Utcfssecurityproductspages.eu 1 - Honda Wifi Action Camera T86 User Manual www.pce-iberica.es CableWholesale 2102-218 PATA cable 取扱説明書 Mazda Tribute Quick Tips DLX-MA/M • DLXB-MA/M Copyright © All rights reserved.
Failed to retrieve file