TinyBase A. Dieng J.B. Griesner www.infres.enst.fr/~griesner/ 1 Support de présentation du projet TinyBase - UE : INF345 – (2014-2015) RedBase Project 1 ● RedBase : projet issu de Stanford. ● Projet pédagogique d'implantation d'un SGBD relationnel ● Structuré en plusieurs composants ● Langage choisi : C++ 2 (1) infolab.stanford.edu/~hyunjung/cs346/ Architecture Overview General architecture for RDBMS : Multi-Layers 3 Architecture Overview General architecture for RDBMS : Queries process 4 TinyBase Architecture 4 composants à faire 1 composant fourni 5 Paged Files Component ● Provides facilities for higher-level client components ● Performs file I/O in terms of pages ● Methods to create, destroy, open, and close paged files ● Each class begins with the prefix PF ● Each method returns an integer : Return Code (RC) ● Each page is loaded into a buffer pool in memory ● Pages are identified by pages numbers 6 Paged Files Component 7 Record Management Component ● First part of the TinyBase system you will implement ● Managing files of unordered records ● Prefix for methods : « RM » ● RM component is a client to the PF component ● RM methods will make calls to the PF methods ● Store records in paged files ● First page of each file as a special header page ● First task : implement methods of the « rm.h » source file 8 Record Management Component 9 Indexing Component ● Provides classes for managing persistent indexes ● Each data file may have any number of indexes ● Indexes are themselves stored in paged files (use the PF) ● Indexing technique : B+ Trees ● Each B+ tree index can be stored in one paged file 10 System Management Component ● Provides a « set » of capabilities : – Unix command line utilities – Data definition language (DDL) commands create table relName(attrName1 Type1, attrName2 Type2, ..., attrNameN TypeN); – System utilities load relName("FileName"); – Metadata management 11 Query Language Component ● Implements the language RQL ● Data Retrieval ~ SQL Select ● Data Modification ~ SQL Insert, Delete, Update ● ● ... Methods are called by the parser 12 Submissions Process ● ~ 2 semaines / Composant ● Livrables : code source (archive file of /src /build /lib) 1 un rapport de 2 pages ● Evaluation based on the : - DPF_STATS flag - compilation du projet sur les machines de l'école ● Chaque module sera évalué et testé à part ● Toutes les 2 semaines, nous vous donnons le code attendu 13 (1) More details : www.infres.enst.fr/~griesner/tinybase/logistics.html Questions ? 14
© Copyright 2024 ExpyDoc