This is an old revision of the document!
All VUB student registered to the course who are not on the Teams of the course should take contact with gilles.dejaegere@ulb.be
The first exercise session will take place Thursday 29th between 14h and 16h in UB4.126 (not UB4.130).
Before this session, please have a look at the software that must be installed in order to be able to do the exercises. It is indicated on the website: https://cs.ulb.ac.be/public/teaching/infoh415/tp
If you are using your computer, please install and test the software before the exercise session. It usually takes some time. If you plan on using the computers of the classroom (which is possible but not recommended) , I would advice you to arrive a few minutes in advance in order to be able to start and test all the necessary software before the start of the course. Using the computers of the room require to connect on a server (the instructions are in the slide on the first session).
The course is given during the first semester
Today, databases are moving away from typical management applications, and address new application areas. For this, databases must consider (1) recent developments in computer technology, as the object paradigm and distribution, and (2) management of new data types such as spatial or temporal data. This course introduces the concepts and techniques of some innovative database applications.
Taxonomy of concepts. Applications of active databases: integrity maintenance, derived data, replication. Design of active databases: termination, confluence, determinism, modularisation.
Temporal data and applications. Time ontology. Conceptual modeling of temporal aspects. Manipulation of temporal data with standard SQL.
…
Spatial data and applications. Space ontology. Conceptual modeling of spatial aspects. Manipulation of spatial data with standard SQL.
Students, in groups of four students, will realize a project in a topic relevant to advanced databases. Examples of topics are given in the next section of this document. Please notice that the template for these topics is “<Technology> with <Tool1> and <Tool2>”.
Each group will study a database technology (e.g., document stores, time series databases, etc.) and illustrate it with an application developed in two database management systems to be chosen (e.g., SQL Server, PostgreSQL, MongoDB, etc.). The topic should be addressed in a technical way, to explain the foundations of the underlying technology. The application must use the chosen technology. Examples of technologies and tools can be found for example in the following web site.
It is important to understand that the objective of the project is NOT about developing an application with a GUI. The objective is to benchmark the proposed tool in relation to the database requirements of your application. Therefore, it is necessary to determine the set of queries and updates that your application requires and do a benchmark with, e.g., 1K, 10K, 100K, and 1M “objects” (rows, documents, nodes, etc. depending on the technology used) to determine if the tool shows a linear or exponential behavior. Please notice that you SHOULD NOT generate data for the benchmark since you can find in Internet (1) a huge number of available datasets (2) alternatively, there are many available data generators.
As usual when performing benchmarks, the queries and updates are executed n times (e.g., 6 times where the first execution is not considered because it is different from the others since the cache structures must be filled) and the average of the execution times is computed. A comparison with traditional relational technology (e.g., using PostgreSQL) must be provided to show that the chosen tool is THE technology of choice for your application, better than all other alternatives, and that it will perform correctly when the system is deployed at full scale. Please notice that there are MANY standard benchmarks for various database technologies so in that case you should prefer using a standard benchmark that reinventing the wheel and create your own benchmark.
The choice of topic and the application must be made in agreement with the lecturer. The topic should not be included in the program of the Master in Computer Science and Engineering. The project will be presented to the lecturer and the fellow students at the end of the semester. This presentation will be supported by a slideshow. A written report containing the contents of the presentation is also required. The presentation and the report will (1) explain the foundations of the technology chosen, (2) explain how these foundations are implemented by the database management systems chosen and (3) illustrate all these concepts with the application implemented.
The duration of the presentation is 45 minutes. It will structured in three parts of SIMILAR length
The evaluation of the project focuses on the following criteria:
The project will count for 25% of the final grade.
The project must be submitted by Monday, December 12, 2022. Please send the report and the presentation in PDF format to the lecturer.