In this course, we present the internal architecture of current database systems.
The concepts covered concern: the storage subsystem, optimization and query processing techniques, concurrency control and recovery as well as distribution and parallelism approaches in multi-server architectures. Particular attention will be paid to the issue of the performance of database systems. This therefore concerns (i) access to large data using the appropriate file structures, (ii) I / O optimization by buffer-pool management techniques and query processing algorithms as well as (iii) minimization of contention due to concurrent accesses through concurrency control and recovery protocols.
1- Basic concepts - (slides)
2- Storage, Index, Query Processing and Optimizations - (slides)
3- Concurrency Control - (slides)
Serializability Theory, Two Phases Locking, Timestamps Ordering, Serialization Graph Testing, Multi-Versions Concurrency Controls, Snapshot Isolation and serializable variants
4- Recovery from failure - (slides)
Logging, Checkpointing, the case of Main Memory Database Systems
5- Parallelism and Distribution (slides)
Parallel Query Processing, Atomic Commitment, Replication
6- Some extended topics - (slides)
More powerful data models, Advanced transactions
----------------------------------------------------------------------------
الكلمات الرئيسية
هندسة أنظمة قواعد البيانات ، لغات الاستعلام : انظر الفصل 1
تخزين البيانات ، الفهرس ، معالجة الاستعلام ، التحسين المنطقي / المادي ، خطة التنفيذ: انظر الفصل 2
المعاملات ، التحكم في التزامن ، نظرية القابلية التسلسلية ، القفل ، مشكلة الانسداد العام ، الطابع الزمني ، الرسم البياني التسلسلي ، التحكم في التزامن في حالة البيانات متعددة الإصدارات: انظر الفصل 3
الاسترداد ، نقاط التفتيش ، التسجيل: انظر الفصل 4
معالجة الاستعلام المتوازي ، النسخ المتماثل ، بروتوكول الالتزام على مرحلتين: انظر الفصل 5
أنظمة ما بعد العلائقية ، نموذج الشيئي ، نموذج العلائقي الموسع ، المعاملات المتداخلة ، توريث الأقفال: انظر الفصل 6
Mot-clés (fr)
architecture de systèmes de bases de données, langages de requêtes, SQL, calcul relationnel : voir chapitre 1
stockage des données, index, traitement des requêtes, optimisation logique/physique, plan d’exécution : voir chapitre 2
transactions, propriétés ACID, 2PL, TO, contrôle de concurrence, théorie de la sérialisabilté, verrouillage, interblocage, estampillage, graphe de sérialisation, contrôle de concurrence multi-version : voir chapitre 3
recouvrement, validation, points de reprise, journalisation : voir chapitre 4
traitement parallèle des requêtes, réplication, validation atomique, protocole de validation à deux phases : voir chapitre 5
systèmes post-relationnels, modèle objet, relationnel-étendu, transactions imbriquées, héritage des verrous : voir chapitre 6