manipulations multibases et distribuées partie 3

91
Manipulations Multibases et Distribuées Partie 3 Witold Litwin [email protected]

Upload: hadar

Post on 24-Feb-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Manipulations Multibases et Distribuées Partie 3. Witold Litwin [email protected]. SQL Serve r 2008. Architecture MBD générale similaire à celle de MsAccess , en plus puissante passerelles vers Oracle, DB2 ODBC et donc MsAccess - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Manipulations  Multibases  et  Distribuées Partie  3

1

Manipulations Multibases et Distribuées

Partie 3

Witold [email protected]

Page 2: Manipulations  Multibases  et  Distribuées Partie  3

2

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

Page 3: Manipulations  Multibases  et  Distribuées Partie  3

3

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

Page 4: Manipulations  Multibases  et  Distribuées Partie  3

4

SQL Server 2008Autres 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

Page 5: Manipulations  Multibases  et  Distribuées Partie  3

5

SQL Server 2008Autres 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

Page 6: Manipulations  Multibases  et  Distribuées Partie  3

6

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

Page 7: Manipulations  Multibases  et  Distribuées Partie  3

7

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

Page 8: Manipulations  Multibases  et  Distribuées Partie  3

8

Exécution de Requêtes Multibases Exemple génériqueUse B0Select R.A, X.B From R, B1.R1 X WhereR.C = V1 and X.D = V2 and R.E = X.E

Page 9: Manipulations  Multibases  et  Distribuées Partie  3

9

Exécution de Requêtes MultibasesPlan d’exécution typiqueQ1: Use B1Select X.B, X.E Into B0.T From B1.R1 X Where X.D = V2Q2: Use B0Select R.A, T.B From R, T Where T.D = R.D and A = V1

Page 10: Manipulations  Multibases  et  Distribuées Partie  3

10

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

Page 11: Manipulations  Multibases  et  Distribuées Partie  3

11

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

Page 12: Manipulations  Multibases  et  Distribuées Partie  3

12

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

Page 13: Manipulations  Multibases  et  Distribuées Partie  3

13

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

Page 14: Manipulations  Multibases  et  Distribuées Partie  3

14

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

Page 15: Manipulations  Multibases  et  Distribuées Partie  3

15

Transactions

Contrôle de concurrence et de consistence:En présence d'autonomieEn absence de contrôle centralisé (global)

Page 16: Manipulations  Multibases  et  Distribuées Partie  3

16

Transactions

Contrôle de concurrence et de consistence:En présence d'autonomieEn absence de contrôle centralisé (global)

Page 17: Manipulations  Multibases  et  Distribuées Partie  3

17

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

Page 18: Manipulations  Multibases  et  Distribuées Partie  3

18

Primitives de gestion de transactions

BEGIN, COMMIT, ROLLBACKBEGIN TRANSACTION

UPDATE Compte1Val = Val -100

IF SQLCODE <> 0 ROLLBACK ; EXIT ;UPDATE Compte2

Val = Val + 100IF SQLCODE <> 0 ROLLBACK ; EXIT;

COMMIT

Page 19: Manipulations  Multibases  et  Distribuées Partie  3

19

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

Page 20: Manipulations  Multibases  et  Distribuées Partie  3

20

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)

Page 21: Manipulations  Multibases  et  Distribuées Partie  3

21

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

Page 22: Manipulations  Multibases  et  Distribuées Partie  3

22

Cas MBDArchitecture de référence

TM

TM TM TM

Appslocales

Appslocales

AppMDB

Page 23: Manipulations  Multibases  et  Distribuées Partie  3

23

Cas MBDArchitecture de référence

TM

TM TM TM

Appslocales

Appslocales

AppMDB

Transaction

Sous-transact.

Sous-transact.

Sous-transact.

Page 24: Manipulations  Multibases  et  Distribuées Partie  3

24

Cas MBDArchitecture de référence

TM

TM TM TM

Appslocales

Appslocales

AppMDB

Coordinateur

Participant Participant Participant

Page 25: Manipulations  Multibases  et  Distribuées Partie  3

25

Quelles transactions ??Critères de réference :

Sérialisabilité ?ACID ?Temps global ?

• Problème nouveauSi à 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 ?

Page 26: Manipulations  Multibases  et  Distribuées Partie  3

26

Quelles transactions ??

Réponse industrie de BDs relationnelles Pas correcte Il faut le modèle ACID

Solutions techniques Vérouillage à deux phases (2-phase

locking) Committement à deux phases (2-phase

commit) Base de temps global (DCE)

Page 27: Manipulations  Multibases  et  Distribuées Partie  3

27

Verrouillage à deux phases (2PL)

1-ère phase : tous les verrouillages Partagés ou exclusifs

2-ème phase : tous les déverrouillages 2-ème phase est le +souvent après le

commit (strict 2-PL). Pourquoi ?

Problème: Verrou mortel (2-PL) Mal adapté aux transactions longues

Page 28: Manipulations  Multibases  et  Distribuées Partie  3

28

2-PCLe coordinateur envoie les N sous-

transactions et attend N messages EOTs(end-of-transaction)

Alors, il envoie N messages VoteChaque participant journalise sa sous-

transaction et si tout est OK, alorsenvoie le message RTC (ready-to-commit)

Si N messages RTC sont reçus, alors lecoordinateur envoie le message Commit

Page 29: Manipulations  Multibases  et  Distribuées Partie  3

29

Avantages

Atomicité garantie Simplicité

Problèmes

Blocage (tout participant attend indéfiniment un message) A quel moment ?

Nombre de messages échangés Protocole de terminaison

Page 30: Manipulations  Multibases  et  Distribuées Partie  3

30

Solutions

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éesResende, Abbadi

Transactions imbriquées ouvertes Weikum & Scheck. 

Page 31: Manipulations  Multibases  et  Distribuées Partie  3

31

Solutions

•Compensations•A; Silbershatz (U. Yale) & Korth (?)

• Sagas•Hector Garcia Molina (U. Stanford)

•Transactions Flexibles•Litwin & Rusinkiewicz (Telcordia)

Page 32: Manipulations  Multibases  et  Distribuées Partie  3

32

Solutions

Dates de valeur Litwin & Tirri (Nokia Res. Cntr, Palo Alto)

Toute transaction T est munie d'une date de valeur V unique (par l'application ou le système)

quand la date V arrive, la transaction doit être terminée sinon elle est avortée par le système

Règle de priorité basique toute T estampille toute donnée D utilisée avec V. dans le cas d'un conflit d'accès à D, la priorité va à T

avec V minimal.

Page 33: Manipulations  Multibases  et  Distribuées Partie  3

33

si une transaction T2 avec V2 > V avait déjà estampillé D, alors T2 est localement avortée et attend la fin de T.

Sinon, T attend la fin de T2 Ou fait une action »App. Dependent »

Propriétés intéressantes: Jamais de verrou mortel Possibilité de commitement implicite, sans

blocage, et sans messages, à la date de valeur Approche bien adapté également au BDs

temps-réel (G. Molina)

Page 34: Manipulations  Multibases  et  Distribuées Partie  3

34

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 ?)

Page 35: Manipulations  Multibases  et  Distribuées Partie  3

35

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

Page 36: Manipulations  Multibases  et  Distribuées Partie  3

36

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

Page 37: Manipulations  Multibases  et  Distribuées Partie  3

37

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)

Page 38: Manipulations  Multibases  et  Distribuées Partie  3

38

T31T2820

W31(C)

W28 (A)

28

31

W31 (B)

Site 1 Site 2

t

Page 39: Manipulations  Multibases  et  Distribuées Partie  3

39

T31T2820

W31(C)

W31(A)W28 (A)

28

31

W31 (B)

Site 1 Site 2

t

Page 40: Manipulations  Multibases  et  Distribuées Partie  3

40

T31T2820

W31(C)

W31(A)W28 (A)

28 C28

31 C31

W31 (B)

Site 1 Site 2

t

Page 41: Manipulations  Multibases  et  Distribuées Partie  3

41

T31T2820

W31(C)

W31(A)W28 (A)

28 C28

31 C31

W28 (B)

W31 (B)

Site 1 Site 2

t

Page 42: Manipulations  Multibases  et  Distribuées Partie  3

42

T31T2820

W31(C)

W31(A)W28 (A)

28 C28

31 C31

W28 (B)

W31 (B)

A31

C28

C31

Site 1 Site 2

t

Page 43: Manipulations  Multibases  et  Distribuées Partie  3

43

La pratique sur le Web (2010) Les transactions courantes en général utilisent des

dates de valeurs, les sagas et les compensations Banques, Réservations, Achats, Ventes aux

Enchères… Protocoles de gestion de conflits sont divers

Page 44: Manipulations  Multibases  et  Distribuées Partie  3

44

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"

Page 45: Manipulations  Multibases  et  Distribuées Partie  3

45

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

Page 46: Manipulations  Multibases  et  Distribuées Partie  3

46

Protocoles & standards MBDIndustriels 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

Page 47: Manipulations  Multibases  et  Distribuées Partie  3

47

ODBCOrigines

ISO - RDA

Intl. Standard Org. Remote Database Access Protocol

commencé vers 1988 Draft Intl. Standard depuis

1991

Page 48: Manipulations  Multibases  et  Distribuées Partie  3

48

ODBCOrigines

SQL-Access

ISO - RDA

SQL - Access GroupConsortium Privé de

40 Comp.Crée sous l'impulsion

de J. Gray en 1989

Page 49: Manipulations  Multibases  et  Distribuées Partie  3

49

ODBCOrigines

ODBC

SQL-Access

ISO - RDA

Microsoftcoup de poing

sur la table

Page 50: Manipulations  Multibases  et  Distribuées Partie  3

50

ODBC Architecture

Programme d'application

Gestionnaire de DriversDriver Driver Driver

Btrieve

Excell Sybase

Interface ODBC

Single TierDriver Multiple Tier

Driver

Driver Passerelle

DB2

PasserelleMicroDécision

Systems

Page 51: Manipulations  Multibases  et  Distribuées Partie  3

51

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

Page 52: Manipulations  Multibases  et  Distribuées Partie  3

52

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

Page 53: Manipulations  Multibases  et  Distribuées Partie  3

53

ODBC 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")

Page 54: Manipulations  Multibases  et  Distribuées Partie  3

54

ODBC Le driver (suite)

–traduit le format de données»à l'envoi»au retour

–traduit les codes d'erreur vers ceux standard

Page 55: Manipulations  Multibases  et  Distribuées Partie  3

55

ODBCNiveaux de conformité

Fonctions offertes par un driver–API

»Core Tout le driver

»Level1»Level2

Page 56: Manipulations  Multibases  et  Distribuées Partie  3

56

ODBCNiveaux de conformité

Fonctions offertes par un driver–SQL

»Minimum Tout le driver

»Core»Extended

– On est à V 3.1

Page 57: Manipulations  Multibases  et  Distribuées Partie  3

57

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

Page 58: Manipulations  Multibases  et  Distribuées Partie  3

58

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

Page 59: Manipulations  Multibases  et  Distribuées Partie  3

59

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

Page 60: Manipulations  Multibases  et  Distribuées Partie  3

60

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

Page 61: Manipulations  Multibases  et  Distribuées Partie  3

61

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

Page 62: Manipulations  Multibases  et  Distribuées Partie  3

62

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

Page 63: Manipulations  Multibases  et  Distribuées Partie  3

63

ODBC Fonctions Level2 API

Level1– "Browsing" de l'info sur la connection et les

sources disponibles SQLBrowseConnect, SQLDataSources,

SQLDrivers–Envoi des tables ("arrays") de valeurs de

paramètres SQLParamOptions

Page 64: Manipulations  Multibases  et  Distribuées Partie  3

64

ODBC Fonctions Level2 API

Level1– "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

Page 65: Manipulations  Multibases  et  Distribuées Partie  3

65

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

Page 66: Manipulations  Multibases  et  Distribuées Partie  3

66

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

Page 67: Manipulations  Multibases  et  Distribuées Partie  3

67

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

Page 68: Manipulations  Multibases  et  Distribuées Partie  3

68

ODBC SQL : Niveau Grammaire Etendue

Grammaire Minimale DML

– outer joins, – UPDATE, DELETE positionnées– SELECT FOR UPDATE– Unions

Types de donnéesBIT, TINYINT, BIGINT, BINARY, VARBINARY,

LONG VARBINARY, DATE, TIME, TIMESTAMP

Page 69: Manipulations  Multibases  et  Distribuées Partie  3

69

ODBCConception 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

Page 70: Manipulations  Multibases  et  Distribuées Partie  3

70

ODBCConception 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

Page 71: Manipulations  Multibases  et  Distribuées Partie  3

71

ODBCConception 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

Page 72: Manipulations  Multibases  et  Distribuées Partie  3

72

ODBCLimitations 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

Page 73: Manipulations  Multibases  et  Distribuées Partie  3

73

ODBCLimitations 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

Page 74: Manipulations  Multibases  et  Distribuées Partie  3

74

ODBCPour en savoir +

Site MSDN de Microsoft

http://msdn.microsoft.com/ Pas mal d’autres sites Plusieurs livres

Page 75: Manipulations  Multibases  et  Distribuées Partie  3

75

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

Page 76: Manipulations  Multibases  et  Distribuées Partie  3

76

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é

Page 77: Manipulations  Multibases  et  Distribuées Partie  3

77

DCE Reference Architecture

File serviceTime

serviceDirectory

serviceSecurityservice

RPC &authentication

DCE Threads

Host Operating system and networking

Hardware

Page 78: Manipulations  Multibases  et  Distribuées Partie  3

78

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")

Page 79: Manipulations  Multibases  et  Distribuées Partie  3

79

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

Page 80: Manipulations  Multibases  et  Distribuées Partie  3

80

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

Page 81: Manipulations  Multibases  et  Distribuées Partie  3

81

DCE Distributed Time Format

Ann

ée

Moi

sJo

urH

eure

Min

.Se

c, (p

réc.

de

1 m

sec.

Diff

. / G

MT

Indi

c. d

'impr

écis

ion

Err

eur

max

(en

sec.

)

1995 -11 -02-14:23:43.123 - 01:00 I 003.600

International Standard 8601 pour Universal Coordinated Time (UTC)

Page 82: Manipulations  Multibases  et  Distribuées Partie  3

82

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

Page 83: Manipulations  Multibases  et  Distribuées Partie  3

83

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

Page 84: Manipulations  Multibases  et  Distribuées Partie  3

84

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

CDS

GDA

Cell

GDA

CDS

Cell

DNS

GDS

Page 85: Manipulations  Multibases  et  Distribuées Partie  3

85

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

Page 86: Manipulations  Multibases  et  Distribuées Partie  3

86

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

DCEClien

t

AS

PS

LS

1

2

3

Page 87: Manipulations  Multibases  et  Distribuées Partie  3

87

DCEPour en savoir +

Tanenbaum, A. Distributed Operating Systems. Prentice Hall, 614. $57

Page 88: Manipulations  Multibases  et  Distribuées Partie  3

88

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

Page 89: Manipulations  Multibases  et  Distribuées Partie  3

89

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

Page 90: Manipulations  Multibases  et  Distribuées Partie  3

FIN

Page 91: Manipulations  Multibases  et  Distribuées Partie  3