Manipulations Multibases et Distribuées Partie 3

Slides:



Advertisements
Présentations similaires
La place accordée à l’expression des salariés sur leur travail et leurs conditions de travail dans l’entreprise Résultats sondage exclusif CSA/ANACT.
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Le Marché Publicitaire de la Presse Professionnelle
Reporting de la Cellule Nationale Droit dOption Situation au 31 décembre 2011.
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Évaluation des requêtes relationnelles
Les numéros 70 –
Les numéros
Xavier Mouranche Registre e-MUST Evaluation en Médecine dUrgence des Stratégies Thérapeutiques de lInfarctus du Myocarde.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
SQL - Subtilités.
Fonctionnalités des SGBD
Directeur de Thèse : Pr. Witold Litwin
Witold Litwin Structures physiques Witold Litwin
1 Manipulations multibases et distribuées Partie 3 Witold Litwin
Optimisation algébrique de requêtes relationnelles
Architecture de réseaux
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Algorithme et structure de données
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.

Données statistiques sur le droit doption au 31/01 8 février 2012.
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
1 Manipulations Multibases et Distribuées Partie 3 Witold Litwin
Révision (p. 130, texte) Nombres (1-100).
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
La méthodologie………………………………………………………….. p3 Les résultats
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Contrôles d'accès aux données
Synchronisation et communication entre processus
Présentation générale
Serveurs Partagés Oracle
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Les nombres.
Fierté envers les symboles et institutions canadiens Jack Jedwab Association détudes canadiennes 26 novembre 2012.
Conseil Administration AFRAC – 2 décembre Toulouse 1 Fermes de références Palmipèdes à foie gras Synthèse régionale – Midi Pyrénées Exercice
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
7 décembre 2011 Evolution des projets : les services web, le site RRNADMIN et lévolution du RN vers une base de données relationnelles.
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
Les Monnaies et billets du FRANC Les Monnaies Euro.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Création de bases de données
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Aire d’une figure par encadrement
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
‘‘Open Data base Connectivity‘‘
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Gérer la sécurité des mots de passe et les ressources
Développement d’application client/serveur
Annexe Résultats provinciaux comparés à la moyenne canadienne
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
DB2. Universal Database. D. Chamberlin, Morgan-Kaufman Delmal, P. SQL2. INPRES, * A First Course in Database Syst. Ullman, J., Widom, J.,
Module 1 : Vue d'ensemble de Microsoft SQL Server
Transcription de la présentation:

Manipulations Multibases et Distribuées Partie 3 Witold Litwin Witold.Litwin@dauphine.fr

SQL Server 2008 Architecture MBD générale similaire à celle de MsAccess, en plus puissante passerelles vers Oracle, DB2 ODBC et donc MsAccess Le langage Transac-SQL supporte plusieurs fonctions de MSQL Est le dialecte MBD le moins procédural de l'industrie

SQL Server 2008 Requêtes élémentaires Aux BDs d'un même site USE B ; select * from T where B1.S.T1.a = T.a ; S signifie schéma En général, S est un nom d’usager Une seule base par USE Quelques restrictions au niveau de requêtes interbases

SQL Server 2008 Autres Possibilités Multibases Commandes CREATE TABLE ou VIEW Déclencheurs (triggers) CREATE TRIGGER ... Ces derniers réalisent les dépendances MDB Notamment, la clause CONSTRAINT n’est pas multibase Les déclarations usuelles de contraintes d’intégrité réf. par cette clause ne peuvent être que monobases

SQL Server 2008 Autres Possibilités Multibases Les procédures stockées Les bases peuvent être sur des nœuds (SGBDs) différents Sur différentes machines réelles ou virtuelles Les noms des bases externes / USE doivent être précédées alors par les chemins d’accès et les noms de nœuds. Sous forme N.B.S.T

SQL Server 2008 Autres Possibilités Multibases Les nœuds doivent alors être liés « Linked nodes » Un lien permet de déclarer l’URL, le nom d’usager, mot de passe de connexion… On peut créer les liens par Une procédure stockée Interface de commande SQL Server Management Studio Interface Interactive

Exécution de Requêtes Multibases Bases sur le même nœud Mêmes règles que pour une requête monobase Bases distribuées On minimise le temps/volume réseau Sélections, projections jointures monobases sur les bases sources dès que possible Jointures multibases sur la base cible Agrégations finales aussi

Exécution de Requêtes Multibases Exemple générique Use B0 Select R.A, X.B From R, B1.R1 X Where R.C = V1 and X.D = V2 and R.E = X.E

Exécution de Requêtes Multibases Plan d’exécution typique Q1: Use B1 Select X.B, X.E Into B0.T From B1.R1 X Where X.D = V2 Q2: Use B0 Select R.A, T.B From R, T Where T.D = R.D and A = V1

Exécution de Requêtes Multibases La clause INTO T peut être réalisée sous forme: Open Cursor… Fetch… En utilisant les commandes ODBC Le plan typique peut être amendé Par semi-jointures (Ph. Berstein, MSR) Ou pour TOP k…. Voir aussi l’article de Sonia & al dans le matériel de support

Exécution de Requêtes Multibases Semi-jointure La base B1 doit recevoir une table T2 de la base B2 sur un autre nœud, pour l’équijointure interne avec une table T1 sur l’attribut X B1 envoie à B2 d’abord la projection de T1 sur X seul B2 fait la jointure et renvoie à B1 les tuples pertinents A fini la jointure avec les autres attributs sélectionnés de T1 Le tout peut diminuer le coût de la jointure MBD par rapport à la stratégie typique

Exécution de Requêtes Multiples Les requêtes résultantes sont en général parallèles On peut afficher la progression Le Choose (Top k) est poussé vers les bases sources La construction de la multitable est sur le nœud cible Y compris l’exécution de MDistinct Sur URL notamment

Exécution de Requêtes Multibases D’une manière générale, les règles d’optimisation pratique de requêtes MBD restent primaire On peut faire bien mieux On en parlera dans le cours de directions de recherche Voir l’article de Sonia & al dans le mat. de support

Multibases & BDPs SQL Server Sous SQL Server une base peut être parallèle (BDP) et être dans une multibase Supporter donc les manipulations multibases La base parallèle utilise des vues partitionnées distribuées Ces vues peuvent même être rendu scalables On parlera + dans le cours de directions de recherche

Base de Données Scalable La nombre de sites serveurs de la BDS croît dynamiquement avec sa taille Les tables se repartitionnent d’une manière transparente pour les applications Pas besoin d’arrêter l’exploitation pour ajouter un nœud et reconfigurer Souvent un casse-tête pour le DBA En utilisant les ressources cumulées TOs de RAM, POs de disques…

Base de Données Scalable Peut s’étendre sur des milliers de sites (PCs & WSs) en utilisant les ressources en commun Peut être du type P2P Google parle de 10M de sites bientôt Projet Spanner Les sites sont dits « grid » or « cloud » Voir + loin pour le jargon commercial Le sites de « cloud » sont en général virtuels

Base de Données Scalable Il s’agit de machines virtuelles créées à la demande dans un « Data Center » Les sites physiques (CPU & mémoires, dites « Blades » ) sont alloués dans des Data Centers par conteneurs 1500 à 2500 « blades » par conteneur

Base de Données Scalable L’offre commerciale pointe son nez depuis 2009 SQL Azur BD de 10 GO max (2010) Sur une seule machine virtuelle MS (2010) Une plaisanterie pour l’instant

Base de Données Scalable Plusieurs SGBDs utilisant Hadoop & MapReduce En fonctions externes AsterData Crée par les étudiants de Stanford GreenPlum Transfuges de Sun ParAcell Sun/Oracle

Base de Données Scalable Jargon Commercial: P2P, « Grid Hosting», «Cloud Computing», « Elastic Computing », « Data Fabrics», Database as Service, SaaS… GemFire (Gemstone) Amazon EC Blue Cloud (IBM) SQL Azure et Windows Azure (MS) Enomaly http://www.enomalism.com/ Google Apps Yahoo Pipes 3Tera http://www.dnseurope.net/

Structures de Données Distribuées et Scalables (Infrastructure Cloud) Partitionnement dynamique transparent au client par hachage (LH*, Chord…) par intervalles (RP*) : SDDS-2005 au B019, Google multi-attribut (k-RP*…) à tolérance de pannes (LH*sa)

Structures de Données Distribuées et Scalables (Infrastructure Cloud) Accès par clé par le client Peut subir des renvois entre les serveurs Idem pour l’accès parallèle Scans et peut-être Map/Reduce Voir les cours sur les SDDSs

Structures de Données Distribuées et Scalables (Infrastructure Cloud) Modèles de données Fichiers clé – valeur Hadoop, Cassandra, Mango, Voldemort, Pig… Tables relationnelles SD-SQL Server, Hive, HadoopDB

SD-SQL Server 1er SGBD Scalable Distribué Utilise le principe des SDDS Les tables relationnelles se répartissent automatiquement par éclatements sur autant de SD-SQL Servers qu’il faut La répartition est invisible aux applications Proto visible sur le site CERIA (vidéo) Thèse Doctorat de Soror Sahri (2006) MdC à Paris 6

SD-SQL Server 1er SGBD Scalable Distribué SD-SQL Server Démo par Soror

Transactions

Transactions

Transactions ACID Opérations atomiques inexprimables avec une requête relationnelle. Exécutées entièrement ou pas du tout Préservant la consistance de la BD comme si l'usager était isolé sur la BD A effet durable sur la BD, une fois terminées comme prévu

Primitives de gestion de transactions BEGIN, COMMIT, ROLLBACK BEGIN TRANSACTION UPDATE Compte1 Val = Val -100 IF SQLCODE <> 0 ROLLBACK ; EXIT ; UPDATE Compte2 Val = Val + 100 IF SQLCODE <> 0 ROLLBACK ; EXIT; COMMIT

Concurrence Les BDs étant partagées, les transactions pourraient être exécutées: l'une après l'autre simultanément meilleures performances possibilités d'inconsistances dans la base Théorie de concurrence analyse les problèmes d'accès simultané En premier: en utilisant les verrous

Verrou mortel Les transactions s'attendent mutuellement (deadlock) Solution typique: avorter une de transactions (la victime) le choix est fait par le gestionnaire des verrous (lock manager)

Les exécutions correctes Sérialisabilité Les exécutions concurrentes sont correctes ssi leur résultat est équivalent à celui d'une exécution sérielle Le critère naturel et le plus populaire

Cas MBD Architecture de référence

Cas MBD Architecture de référence Transaction Sous- transact. Sous- transact. Sous- transact.

Cas MBD Architecture de référence Coordinateur Participant Participant Participant

Quelles transactions ?? Problème nouveau Si à l'exécution d'une transaction T - certaines sous-transactions commettent - une ou plus avortent alors l'exécution de T est-elle correcte ou pas ?

Quelles transactions ??

Verrouillage à deux phases (2PL)

2-PC

Solutions Non-ACID et longues en général Nouveaux modèles de transactions Non-ACID et longues en général Pas de verrous, au moins de verrous longs Les verrous & les loquets Ang. Locks & latches) Transactions imbriquées Resende, Abbadi Transactions imbriquées ouvertes Weikum & Scheck.  Open nested peuvent être inconsistantes. Dire qu’il y a d’autres règles. Notamment le commit avant la date de valeur, autorisant certaines opérations avant la date de valeur, mais pas d’autres. Par ex. Le calcul d’intérêt utiliserait l’ancienne valeur.

Solutions Compensations A; Silbershatz (U. Yale) & Korth (?) Sagas Hector Garcia Molina (U. Stanford) Transactions Flexibles Litwin & Rusinkiewicz (Telcordia) Open nested peuvent être inconsistantes. Dire qu’il y a d’autres règles. Notamment le commit avant la date de valeur, autorisant certaines opérations avant la date de valeur, mais pas d’autres. Par ex. Le calcul d’intérêt utiliserait l’ancienne valeur.

Solutions Dire qu’il y a d’autres règles. Notamment le commit avant la date de valeur, autorisant certaines opérations avant la date de valeur, mais pas d’autres. Par ex. Le calcul d’intérêt utiliserait l’ancienne valeur.

Problèmes Pratiques Comment déterminer les dates de valeur Evitement de "livelock" Une transaction toujours avortée et relancée Variantes Stats sur le temps réel de transactions Garcia – Molina & al (VLDB 91 ?) Open nested peuvent être inconsistantes. Dire qu’il y a d’autres règles. Notamment le commit avant la date de valeur, autorisant certaines opérations avant la date de valeur, mais pas d’autres. Par ex. Le calcul d’intérêt utiliserait l’ancienne valeur.

Variantes Gestion de priorités Chaque répétition d’une transaction augmente sa priorité contre les interruptions concurrentes Certification sans attentes On exécute chaque transaction T jusqu’au bout sans attentes On certifie l’exécution correcte de T La certif bonne quand la plupart de transactions ne s’exécutent pas jusqu’au bout (systèmes de réservation)

Variantes L’opération teste si il n’a pas de conflit qui aurait avorté T Si oui, on ré-exécute T Etc La certification est un bon choix notamment quand la plupart de transactions ne s’exécutent pas jusqu’au bout Systèmes de réservation La certif bonne quand la plupart de transactions ne s’exécutent pas jusqu’au bout (systèmes de réservation)

Autres Règles de Priorité La manipulation de donnée D est selon la sa date de valeur et celle de la transaction venante L’intérêt de dépôt de 100€ auquel on a ajouté 100€ à 16h30 avec V1 = 18h sera calculé à 17h comme Celui de 100€ par T (V2 = 17h30) Celui de 200€ par T (V2 = 18h30)

Site 1 Site 2 T31 T28 20 W31(C) W28 (A) W31 (B) 28 31 t

Site 1 Site 2 T31 T28 20 W31(C) W28 (A) W31 (B) W31(A) 28 31 t

Site 1 Site 2 T31 T28 20 W31(C) W28 (A) W31 (B) W31(A) 28 C28 C31 31 t

t Site 1 Site 2 T31 T28 20 W31(C) W28 (A) W31 (B) W31(A) W28 (B) 28

t Site 1 Site 2 T31 T28 20 W31(C) W28 (A) W31 (B) W31(A) A31 W28 (B)

Protocoles & standards d'intéroperabilité MBD La seule voie pour la coopération des SGBD ODBC (Open Database Connectivity) standard interface, & protocole bits et octets encodent : ordres SQL & tables résultats de ceux-ci ordre de gestion de connections et d'exécution répartie Locking & 1PC API à 2 niveaux, jusque-là "Middleware" supporté par pratiquement tous les producteurs de SGBD ou de "front-ends"

Autres Règles de Priorité Le retrait de 150€ à 17h20 Donnera lieu au calcul d’intérêt sur -50€ si V3 =17h21 Pas de pénalité si V3 > 18h Mais la réservation d’une place d’avions parmi les 11 dispo, laisserait seulement 10 places dispo avant V, d’habitude

Protocoles & standards MBD Industriels autres que ODBC Data Access Language (DAL) Disponible sur Apples depuis 1989 un dialecte de SQL Distributed Relational Database Access (DRDA) IBM, une partie de System Application Arch. (SAA) EDA-SQL (du passé) Inf. Builders ; un dialecte de SQL et une API

ODBC Origines ISO - RDA Intl. Standard Org. Remote Database Access Protocol commencé vers 1988 Draft Intl. Standard depuis 1991

Consortium Privé de 40 Comp. ODBC Origines SQL - Access Group Consortium Privé de 40 Comp. Crée sous l'impulsion de J. Gray en 1989 SQL-Access ISO - RDA

ODBC Origines ODBC Microsoft coup de poing sur la table SQL-Access ISO - RDA

Programme d'application Gestionnaire de Drivers ODBC Architecture Programme d'application Interface ODBC Gestionnaire de Drivers Driver Driver Driver Driver Passerelle Single Tier Driver Multiple Tier Driver DB2 Sybase Btrieve Excell Passerelle MicroDécision Systems

ODBC : quelques drivers HP : ALLBASE/SQL CA : IDMS, DATACOM, VSAM, DL/1, TOTAL... CrossAccess ; IMS, VSAM, IDMS, RMS... IBM : DB2 DBA ODBC driver (Siemens-Nixdorf) INFORMIX, ORACLE, INGRES, SESAM/SQL, UDS/SQL... DDA/ODBC driver (Bull) ORACLE, INFORMIX, INGRES, DB2, RDB... Microsoft maintient la liste à jour

ODBC L'interface offre l'API unique aux applications connections gestion de mémoires ordres SQL Le gestionnaire de drivers charge le driver approprié passe les ordres de connexion et de SQL récupère les résultats en format ODBC

ODBC traduit les ordres SQL & API vers ceux de la source de données Le driver traduit les ordres SQL & API vers ceux de la source de données décompose SQL Single-tier passe SQL à la source multiple-tier SQL ODBC traduit SQL non-ODBC non-traduit ("pass through")

ODBC Le driver (suite) traduit le format de données à l'envoi au retour traduit les codes d'erreur vers ceux standard

ODBC Niveaux de conformité Fonctions offertes par un driver API Core Tout le driver Level1 Level2

ODBC Niveaux de conformité Fonctions offertes par un driver SQL Minimum Tout le driver Core Extended On est à V 3.1

ODBC Fonctions de Core API Alloue et libère environnement, connections et "handles" SQLAllocEnv, SQLAllocConnect, SQLAllocStmt SQLFreeStmt, SQLFreeConnect, SQLFreeEnv fonctions à executer avant toute connection Connecte au sources de données et déconnecte SQLConnect, SQLDisconnect

ODBC Fonctions de Core API Prépare et exécute ordres SQL SQLPrepare, SQLExecute, SQLExecDirect, SQLCancel, SQLGetCursorName, SQLSetCursorName Alloue mémoire pour les paramètres et résultats de SQL SQLBindCol

ODBC Fonctions de Core API Trouve des données dans le résultat SQLFetch Trouve les metadonnées du résultat SQLRowCount, SQLNumResultsCols, SQLDescribeCol, SQLColAttributes Commit et rollback SQLTransact Gère les codes erreur SQLError

ODBC Fonctions Level1 API Fonctions de Core API avec un ordre suppl. SQLBindParameter (prép. des ordres SQL) Connections avec les boites de dialogue spécifiques aux drivers SQLDriverConnect

ODBC Fonctions Level1 API Requêtes aux metadonnées de la connexion et de l'ordre en cours SQLSetConnectOption, SQLGetConnectOption SQLSetStatementOption, SQLGetStatementOption Envoie d'une partie de paramètres de l'ordre ou du résultat utile pour des données longues SQLPutData, SQLParamData, SQLGetData

ODBC Fonctions Level1 API Requêtes au catalogues des attributs, tables et stats SQLColumns, SQLSpecialColumns, SQLStatistics,SQLTables, Requêtes aux metadonnées du driver et de la source de données types de données supportés, fonctions aggr., niveau de conformité ODBC... SQLGetInfo, SQLGetFunctions,SQLGetTypeInfo

ODBC Fonctions Level2 API "Browsing" de l'info sur la connection et les sources disponibles SQLBrowseConnect, SQLDataSources, SQLDrivers Envoi des tables ("arrays") de valeurs de paramètres SQLParamOptions

ODBC Fonctions Level2 API "Browsing" de l'info sur les paramètres et résultats le nombre et les param. individuels SQLDescribeParam, SQLNumParams, SQLMoreResults Gère les curseurs "scrolable" , SQLSetScrollOptions, SQLSetPos, SQLExtendFetch

ODBC Fonctions Level2 API Laisse passer un dialecte de SQL ordres spécifiques de la source de données SQLNativeSql Requêtes aux catalogues SQL privilèges, clés, procédures... SQLForeignKeys, SQLPrimaryKeys, SQLProcedureColumns,SQLProcedures, SQLTablePriviledges Appel du traducteur DLL SQLDriverToDataSource, SQLDataSourceToDriver

ODBC SQL : Niveau Grammaire Minimale CREATE TABLE, DROP TABLE Simple SELECT, INSERT, UPDATE SEARCHED, DELETE SEARCHED Expressions simples (A > B+C) Types de données CHAR, VARCHAR, LONG VARCHAR

ODBC SQL : Niveau Grammaire Core Grammaire Minimale DDL ALTER TABLE, CREATE INDEX, DROP INDEX, CREATE VIEW, DROP VIEW, GRANT & REVOKE DML SELECT entier sous-requêtes et fonctions agrégats de SQL Access Types de données DECIMAL, NUMERIC, SMALLINT, INTEGER, REAL, FLOAT, DOUBLE PRECISION

ODBC SQL : Niveau Grammaire Etendue Grammaire Minimale DML outer joins, UPDATE, DELETE positionnées SELECT FOR UPDATE Unions Types de données BIT, TINYINT, BIGINT, BINARY, VARBINARY, LONG VARBINARY, DATE, TIME, TIMESTAMP

ODBC Conception d'un driver Les fonctions de ODBC (API & SQL) sont prises en charge par le Gestionnaire par le driver surtout la conversion de SQL et de représentation de données

ODBC Conception d'un driver Les drivers ne sont pas en principe fournis par Microsoft Plusieurs vendeurs peuvent proposer un driver vers une même source, p.e. Sybase

ODBC Conception d'un driver Les drivers vers une même source peuvent différer en niveau de conformité performances les différences en performances peuvent résulter de stratégie de réception de tuples sur demande ou "read-ahead" existence et taille du cache pour "read-ahead" ou une copie d'une table optimisation locale de requêtes jointures internes et externes

ODBC Limitations de V3.1 Une connexion per SGBD mais une application peut ouvrir plusieurs connections simultanément Ordres SQL-ODBC sont monobase sauf les "passe-through" vers un SGMB

ODBC Limitations de V3.1 Requêtes MBD doivent être décomposées par le système local l'idée peu performante connections multiples jointures MBD Absence de 2PC

ODBC Pour en savoir + Site MSDN de Microsoft Pas mal d’autres sites http://msdn.microsoft.com/ Pas mal d’autres sites Plusieurs livres

Autres protocoles notables OLE & DDE de Microsoft Permettent d'échanger les données entre un SGBD et les applications externes tableur, traitement de texte, gestionnaire d'images CORBA tentative de standard multicompagnie orienté l'échange distribué des objets

DCE Distributed Computing Environment Un ensemble de services supportes par les principaux constructeurs Tout particulièrement SGF distribué Les serveurs de temps unique DCE sera probablement largement appliqué

DCE Reference Architecture File service Time service Directory service Security service RPC & authentication DCE Threads Host Operating system and networking Hardware

DCE Reference Architecture Les DCE services s'utilisent en interne Directory Service (DS) utilise RPC pour la communication entre les serveurs RPC utilise DS pour connaître la destination d'un appel Time Service (TS) utilise les Security Service (SS) pour déterminer qui peut régler une horloge SS utilise TS pour donner les permissions à courte terme ("short life-time tickets")

DCE Reference Architecture Les machines, usagers, fichiers et autres ressources sont groupés en "Cells" selon But fonctionnel Sécurité Performance Géographie Administration choix de Cell Administrator Cell peut correspondre à une multibase Ordinateur Chaussure Cellules organisées par produit

DCE Distributed Time Service Maintient la synchronisation des horloges Basé sur les Time Servers qui veuillent sur la synchronisation mutuelle des horloges la synchronisation avec le temps réel Offre 33 fonctions (library calls) aux applications Le modèle de temps temps à intervalle quelle heure est-il ? entre 9:30 et 9:31 représenté sur 64 bits pas d'ordre total problème pour les dates de valeur

DCE Distributed Time Format Sec, (préc. de 1 msec. Indic. d'imprécision Erreur max (en sec.) Diff. / GMT Année Heure Mois Jour Min. 1995 -11 -02-14:23:43.123 - 01:00 I 003.600 International Standard 8601 pour Universal Coordinated Time (UTC)

DCE Time Adjustement Algorithm Time Clerks (TC) démons sur les machines-client Time Servers (TS) démons en charge de gérer la base de UTC locaux (dans les Cells) globaux avec peut-être une interface vers les sources exterieures de UTC ondes hertziennes diffusées dans les pays industriels

DCE Time Clerk Synchronization Contacte tous les TS sur le LAN ou dans la Cell Delete toute réponse sans intersection avec une autre Calcule l'intersection max du reste Prend la valeur du milieu comme nouveau UTC Fait une correction graduelle p.e. < 5 msec. par tick d'horloge UTC1 UTC2 UTC3 UTC4 UTC UTC client

DCE Directory Service Deux types de répertoires & services Cell Directory Service (CDS) Global Directory Service (GDS) schéma de nommage X500 Services auxiliaires Domain Name System (DNS) utilisé par GDS schéma de nommage Internet Global Directory Agent utilisé par CDS pour localiser les noms Cell CDS DNS GDA Cell GDS GDA CDS

DCE File Service Deux partie conceptuelles FMS local sur chaque noeud dit Episode une modernisation de FMS de Unix FMS global extension de AFS indépendance de localisation dans une Cell duplication possible d'un fichier entre les Cells nommage DCE notion de client et de serveur

DCE Security Service Composantes Authentication Server (AS) donne des tickets Privilege Server (PS) issue des privilèges d'accès et d'execution Privilege Attribute Certificates exigés pour execs. RPC Login Server (LS) gère les connections et vérifie les tickets et les privilèges AS 1 PS 2 DCE Client 3 LS

DCE Pour en savoir + Tanenbaum, A. Distributed Operating Systems. Prentice Hall, 614. $57

Conclusion Manipulations multibases ont été parmi les plus importantes directions R & D dans les SGBDs Autres mots-clés: Interopérabilité Bases fédérées Intégration Bases Réparties Hétérogènes

Conclusion La technologie est fort présente dans l’industrie informatique Il y a néanmoins encore beaucoup à apprendre et à faire Il y a des nouvelles tendances XML multibase et distribué (AquaLogic de BEA) Extended Web Services Les « nuages » p.ex. Services Azure L’impact à voir bientôt

FIN