Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Luciano García-Bañuelos
Une infrastructure à base de composants pour la gestion personnalisée d’objets persistants Luciano García-Bañuelos Phuong-Quynh Duong Christine Collet Équipe NODS, LSR/IMAG Grenoble, FRANCE
2
Systèmes de gestion de base de données One size fits all ?
A l’heure actuelle, logiciel monolithique : Ajouter/éliminer des fonctions est difficile ! L’empreinte d’un SGBD peut être coûteuse dans certains contextes! BDA'02 Evry FRANCE
3
Notre vision SGBD : un ensemble de services adaptables, composables
Objectif : fournir une infrastructure permettant de construire des gestionnaires de données persistantes ad hoc Persistance Duplication Tolérance aux fautes Interrogation Transactions mobiles etc … BDA'02 Evry FRANCE
4
Plan Contexte Approche Infrastructure Travaux connexes Conclusions
BDA'02 Evry FRANCE
5
Approche Une infrastructure à base de composants Composants pour :
Construire des gestionnaires de données persistantes pour applications avec des besoins particuliers Développer des intergiciels base de données Améliorer la réutilisation et le partage de ressources BDA'02 Evry FRANCE
6
Gestion de la persistance Séparation des problèmes
Démarche Persistance Cache SGBD monolithique Reprise Journalisation Verrouillage Stockage Gestion de la persistance Séparation des problèmes Caractérisation des composants et de leur dépendances Gestionnaire fiable sans transaction Assemblage des gestionnaires personnalisés Propagation des MàJ Cache Stockage Journalisation Gestionnaire Transactionnel BDA'02 Evry FRANCE
7
Plan Contexte Approche Infrastructure Travaux connexes Conclusions
BDA'02 Evry FRANCE
8
Architecture de l’infrastructure
Gestion de transactions TransactionalPersistenceMngr ConcurrencyControl ReliablePersistenceManager LogManager Reprise après panne CacheManager Défaut d’objets Propagation des MàJ PersistenceManager StorageManager BDA'02 Evry FRANCE
9
Composants : éléments d’architecture
Quand faut-il matérialiser un objet? Quand faut-il forcer le stockage d’un objet? ICacheManager <<interface>> lookup addToCache fix unfix IStorageManager load store create destroy <<requires>> PersistenceManager <<component>> IPersistenceManager <<interface>> readIntention readCompletion writeIntention writeCompletion <<provides>> BDA'02 Evry FRANCE
10
Composants et assemblage
Gestion d’objets en mémoire d’exécution (inclus gestion du remplacement) Coordonne les transferts entre cache/stockage : Défaut d’objets Propagation des MaJ CacheManager PersistenceManager StorageManager Stockage d’objets : Gestionnaire ad hoc fourni SGBD à travers d’un adaptateur (wrapper) BDA'02 Evry FRANCE
11
Défaut d’objets PersistenceManager CacheManager readIntention()
writeIntention() StorageManager BDA'02 Evry FRANCE
12
Défaut d’objets PersistenceManager: CacheManager: StorageManager:
readIntention lookup load addToCache null object fix BDA'02 Evry FRANCE
13
Propagation des mises à jour
PersistenceManager CacheEvectionListener Eviction d’objets Propagation des MàJ DirtyObjMgr FlushHintsListener CacheManager readIntention() writeIntention() StorageManager readCompletion() writeCompletion() BDA'02 Evry FRANCE
14
Propagation des MàJ CacheEventListener: DirtyObjectManager:
StorageManager: markDirty handleCacheEviction flush store BDA'02 Evry FRANCE
15
Propagation des MàJ : Responsabilité d’un nouveau sous-composant!
GroupCommitListener TransactionalPersistenceMngr CheckpointingListener ReliablePersistenceManager PersistenceManager FlushingHintsListener CacheManager CacheEvectionListener BDA'02 Evry FRANCE
16
Reprise, séparation de problèmes
Un seul algorithme et deux problèmes : reprise après panne et reprise de transactions (cf. ARIES) Notre approche : architecture multicouche et une méthode de reprise multi-niveau 0 : Persistance non fiable 1 : Reprise après panne 2 : Implantation du concept « transaction » BDA'02 Evry FRANCE
17
Reprise multi-niveau 2 : Reprise des transactions (atomicité)
Type d’enregist. MàJ Défaire X0 Y0 Refaire X1 Y1 Comp. Comp. Fin Tx 1 : Reprise après panne (durabilité, permanence) Y0 X0 BDA'02 Evry FRANCE
18
Architecture multicouche
Atomicité Isolation TransactionalPersistenceMngr ConcurrencyControl ReliablePersistenceManager LogManager Durabilité CacheManager PersistenceManager StorageManager BDA'02 Evry FRANCE
19
Reprise multi-niveau (Journalisation)
TransPersMgr: ReliablePersMgr: LogManager: PersistenceMgr: writeIntention writeLogRecord Info pour défaire commit writeCompletion writeLogRecord Info pour refaire writeCompletion writeLogRecord Enreg. validation BDA'02 Evry FRANCE
20
Scénarios de déploiement
Systèmes sans MàJ Cache logiciel Support à l’interrogation (Vues matérialisées) CacheManager PersistenceManager StorageManager CacheManager StorageManager PersistenceManager ReliablePersistMngr LogManager Systèmes fiables (Checkpoint) Mondes virtuels persistants Gestion de sessions persistantes BDA'02 Evry FRANCE
21
Scénarios de déploiement (cont.)
TransactionalPersistMngr ConcurrencyControl ReliablePersistManager LogManager CacheManager PersistenceManager StorageManager Systèmes transactionnels Gestionnaires d’objets légers (cf. embarqués sur PDA) Persistance au sein des serveurs d’application (cf. EJB) BDA'02 Evry FRANCE
22
Plan Contexte Approche Infrastructure Travaux connexes Conclusions
BDA'02 Evry FRANCE
23
Architectures SGBD adaptables
Génération de code pour SGBD Genesis [Batory et al., 1988] SGBD avec sous-système de types extensible Postgres [Stonebraker et. al., 1986] Starburst [Schwarz et. al., 1986] Boîte à outils (noyau SGBD) Exodus & Shore [Carey et. al., 1986 & 1994] DASDBS [Schek et. al., 1990] Unité d’opération ou de déploiement : Systèmes avec toutes les fonctions BD!! BDA'02 Evry FRANCE
24
Gestionnaire d’objets persistants
Notre position Gestionnaire d’objets persistants SGBD Notre infr. pas fiable fiable transactionnel Services NODS Ce n’est pas notre but! Noyau SGBD (boîte à outils) SGBD avec sous-système de types extensible Générateur SGBD (+ nouveaux modèles de données) Fonctions embarquées BDA'02 Evry FRANCE
25
SGBD à composants ? Quelques produits : Poet Navajo (FastObjects j2)
Architecture modulaire Ajout/élimination des modules pour : importation/exportation de données XML journalisation et synchronisation des données Microsoft OLE DB Composants pour l’interrogation de données BDA'02 Evry FRANCE
26
Standards industriels
Plusieurs propositions : OMG : POS et PSS ODMG 3 Java JDO Une interface unique d’accès Le manque d’une spécification détaillée mène aux implantations « boîte noire » BDA'02 Evry FRANCE
27
Notre position ODMG PSS PSS JDO codage PSSRuntime besoins RelPMgr
PersistMgr StorageMgr CacheMgr RelPMgr LogMgr instanciation Notre infrastructure BDA'02 Evry FRANCE
28
Plan Contexte Approche Infrastructure Travaux connexes Conclusions
BDA'02 Evry FRANCE
29
Conclusions Développement d’une infrastructure à composants pour la gestion d’objets persistants Description des composants, et de leur interdépendances Reprise : Séparation de problèmes Une méthode de reprise multi-niveau Une architecture multicouche BDA'02 Evry FRANCE
30
État actuel et perspectives
Prototype fonctionnel : PERSEUS Persistance fiable sans transactions Mondes virtuels persistants (Projet Européen IST) Persistance transactionnel Perspectives : PERSEUS dans ObjectWeb Couplage PERSEUS & RS2.7 (Gestionnaires d’objets répartis) BDA'02 Evry FRANCE
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.