Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:infoh415 [2020/10/04 12:14]
ezimanyi [Project]
teaching:infoh415 [2021/09/24 09:48]
ezimanyi [Project]
Line 1: Line 1:
 ====== INFO-H-415: Advanced Databases ====== ====== INFO-H-415: Advanced Databases ======
  
 +
 +===== Last important announcment ====
 +
 +21/09/2021:
 +Hello everyone,
 +
 +The first exercise session will take place Thursday from 14:00-16:00 in the UB4.130 computer room. It is however strongly advised to bring your own computer and to install the required applications as indicated on the webpage of the exercise sessions (https://​cs.ulb.ac.be/​public/​teaching/​infoh415/​tp,​ Before Session 1).
 +
 +See you on Thursday,
 +
 +Gilles
  
 ===== Lecturer ===== ===== Lecturer =====
Line 32: Line 43:
  
 The course is given during the first semester ​ The course is given during the first semester ​
-  * Lectures on Mondays from 4 pm to 6 pm at the room S.AY2.108 **except 14/10/2019 which is a practical session in S.UB4.130** +  * Lectures on Mondays from 4 pm to 6 pm 
-  * Exercises on Thursdays from 2 pm to 4 pm at the room S.UB4.130 <​del>​**except 24/10/2019 which is a lecture in S.UD2.119** +  * Exercises on Thursdays from 2 pm to 4 pm
-</​del>​+
  
 /*  /* 
Line 98: Line 108:
   * IBM, A Matter of Time: Temporal Data Management in DB2 for z/OS. ({{teaching:​infoh415:​a_matter_of_time.pdf|version pdf}})   * IBM, A Matter of Time: Temporal Data Management in DB2 for z/OS. ({{teaching:​infoh415:​a_matter_of_time.pdf|version pdf}})
 ===== Links ===== ===== Links =====
-  * Temporal ​databases  +  * Spatial ​databases 
-    * [[http://timecenter.cs.aau.dk/|TimeCenter]], an international research centre for temporal databases. +    * [[https://postgis.net/​workshops/​postgis-intro/​|Introduction to PostGIS]] 
-    * [[http://www.timeconsult.com/Software/​Software.html|TimeDB]], a temporal relational database+    * [[https://​learn.crunchydata.com/postgis|Crunchy Data Interactive PostGIS Learning Portal]] 
 +  * Spatio-temporal ​(or mobility) ​databases 
 +    * [[https://mobilitydb.com/|MobilityDB]]  
   * Object databases   * Object databases
     * [[http://​www.odbms.org/​|ODBMS.ORG]],​ portal of ressources about object databases.     * [[http://​www.odbms.org/​|ODBMS.ORG]],​ portal of ressources about object databases.
-    * [[http://​www.db4o.com/​|db4o]],​ an open source object database. 
     * [[http://​www.objectstore.com/​datasheet/​index.ssp|ObjectStore]],​ an object database     * [[http://​www.objectstore.com/​datasheet/​index.ssp|ObjectStore]],​ an object database
     * [[http://​www.objectivity.com|Objectivity]],​ an object database     * [[http://​www.objectivity.com|Objectivity]],​ an object database
-    * [[http://​www.versant.com/​|Versant]],​ an object database 
-    * [[http://​www.jade.co.nz/​jade/​|Jade]],​ an object database 
-    * [[http://​sourceforge.net/​projects/​ozone/​|Ozone]],​ an object database 
   * Post-relationnal databases   * Post-relationnal databases
-    * [[http://​www.fresher.com/​|Matisse]] 
     * [[http://​www.intersystems.com/​cache/​index.html|Caché]]     * [[http://​www.intersystems.com/​cache/​index.html|Caché]]
-  * Spatial databases 
-    * [[https://​postgis.net/​workshops/​postgis-intro/​|Introduction to PostGIS]]  ​ 
  
 ===== Course Slides ===== ===== Course Slides =====
Line 135: Line 140:
 */ */
  
-Students, in groups of two, will realize a project in a topic relevant to advanced databases. Examples of topics are given in the next section of this document.+Students, in groups of two or 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>​ and <​Tool>"​ for groups of 2 students and "<​Technology>​ with <​Tool1>​ and <​Tool2>"​ for groups of 4 students.
  
 Each group will study a database technology and illustrate it with an application developed ​​in a database management system 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. Each group will study a database technology and illustrate it with an application developed ​​in a database management system 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.
 +
 +For 2-student group, the duration of the presentation is 30 minutes. It will structured in two parts of similar length
 +   * An introduction to the technology
 +   * An introduction to the tools assessing the advantages and disadvantages of the tool tested with an example application.
 +
 +For 4-student group, the duration of the presentation is 45 minutes. It will structured in three parts of similar length
 +   * An introduction to technologies presented jointly by the two groups
 +   * An introduction to the two tools, each presented by each group
 +   * A common assessment of the advantages and disadvantages of both tools tested in a common example application.
 +
  
 It is important to understand that the objective of the project is NOT about developing an application with 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. 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 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. It is important to understand that the objective of the project is NOT about developing an application with 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. 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 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.
  
-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 ​chose, (2) explain how these foundations are implemented by the database management system chosen and (3) illustrate all these concepts with the application implemented.+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 system chosen and (3) illustrate all these concepts with the application implemented.
  
 The evaluation of the project focuses on the following criteria: The evaluation of the project focuses on the following criteria:
Line 150: Line 165:
 The project will count for 25% of the final grade. The project will count for 25% of the final grade.
  
-The project must be submitted by **Monday, December ​142020**. +The project must be submitted by **Monday, December ​132021**.
- +
-===== Examples of topics from the previous academic year ===== +
- +
-You can take a look at the [[https://​db-engines.com/​en/​|DB-Engines]] web site to get an idea of the currently available technologies and tools. Examples of previous topics are given next:+
  
   * Analytical databases and Endeca   * Analytical databases and Endeca
Line 165: Line 176:
   * Embedded databases and BerkeleyDB   * Embedded databases and BerkeleyDB
   * In-memory databases and Kdb+, MemSQL, Oracle TimesTen, Memcached, ....   * In-memory databases and Kdb+, MemSQL, Oracle TimesTen, Memcached, ....
-  * Key-value stores and Redis, Voldermort, ...+  * Key-value stores and BerkeleyDB, DynamoDB, ​Redis, Voldermort, ...
   * Multimedia databases and Oracle   * Multimedia databases and Oracle
   * Multi-model databases and MarkLogic   * Multi-model databases and MarkLogic
   * NewSQL databases and VoltDB   * NewSQL databases and VoltDB
-  * Object-oriented databases and db4o+  * Object-oriented databases and ObjectBox, Perst
   * Real-time databases and Firebase   * Real-time databases and Firebase
   * Search engines and Solr, ElasticSearch,​ Sphinx ...   * Search engines and Solr, ElasticSearch,​ Sphinx ...
   * Spatial raster databases and Rasdaman   * Spatial raster databases and Rasdaman
-  * Stream databases and Apache Kafka+  * Stream databases and Apache Kafka, Event Stores
   * Time series databases and Influx DB, Kdb+, ...   * Time series databases and Influx DB, Kdb+, ...
   * XML databases and BaseX   * XML databases and BaseX
- 
  
 ===== Topics for the current academic year ===== ===== Topics for the current academic year =====
  
-  * Cloud databases and Microsoft Azure: ​Michel Nguyen-Khan and Soufian El Bakkali Tamara +  * Cloud databases and Microsoft Azure SQLDavide Rendina, Margarita Hernandez 
-  * Column stores and Cassandra: ​Wassil Choujaa ​and Ismaila Abdoulahi Adamou +  * Column stores and Cassandra: ​Md Jamiur Rahman Rifat, Khushnur Binte Jahangir 
-  * Document stores and MongoDB: ​Beata Janiak ​and Astrid Asoumoy +  * Datawarehouses ​and Apache Hive: Nicole Zafalón, Andrés Espinal 
-  * Key-value databases and BerkeleyDBMohamed Amchemer ​and <TBD> +  * Distributed databases and SQL Server: Asha Seif, Kainaat Amjid 
-  * Multimedia databases and Oracle: ​Fan Chen and Noëmie Muller +  * Document stores with CouchBase and CouchDB: Mohammadreza Amini, Ossoama Benaissa, Zheng Ren, Adriana Sirbu 
-  * Object-oriented databases and Perst: ​Nicolas Boucher and Romain Perret +  * Document stores and MongoDB: ​Hang Yu, Zhiyang Guo 
-  * Real-time databases and Firebase: ​Ali Dhanani and Cleis Kounalis +  * In-memory databases and Memcached: Diogo Repas and Sandra Hillergren 
-  * Search engines ​and Solr, ElasticSearchTatiana Millan Poveda and Erick Escobar Gallardo +  * Key-value databases ​with Cloud bigtable ​and RedisLuiz Fonseca, Zyrako Musaj, Yanjian Zhang and Zhicheng Luo 
-  * Stream databases and Apache Kafka, Event StoresAlexandre Libert and Antoine De Selys +  * Multimedia databases and Oracle: ​Wassim Belgada, Imestir Ibrahim 
-  * Time series databases and InfluxDBNada Elghazouani ​and Jean-Charles Nsangolo+  * NewSQL databases ​and VoltDB: Nabil Souissi 
 +  * Object-oriented databases ​with ObjectBox ​and Perst: ​Filip Sotiroski, Niccolo Morabito, Andrea Gonzato, Pietro Ferrazi 
 +  * Real-time databases and Firebase: ​Himanshu Choudhary, Sergio Postigo, Tejaswini dhuppad 
 +  * Spatial raster databases ​and RasdamanAdam Broniewski, Victor Divi 
 +  * Stream databases and Apache Kafka: ​Vlada Kylynnyk, Mahmut Asım Onat 
 +  * Time series databases ​with Influx DB and Kdb+Mohammad Zain Abbas, Muhammad Ismail, Yi Wu, Chonghan Li 
 +  * Search engines ​and Apache Solr: Pap Sanou, Szymon Swirydowicz 
 +  * Search engines and ElasticSearch:​ Alexandre Chapelle, Nicolas Dardenne 
 +  * XML Databases and BaseX: Maxime Renversez, Mael Touret
  
  
 
teaching/infoh415.txt · Last modified: 2023/12/04 18:14 by ezimanyi