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 [2021/09/24 09:50]
ezimanyi [Project]
teaching:infoh415 [2022/09/21 09:22]
ezimanyi [Topics for the current academic year]
Line 2: Line 2:
  
  
-===== Last important ​announcment ​==== +===== Last important ​announcement ​==== 
- +All VUB student registered ​to the course who are not on the Teams of the course should take contact with gilles.dejaegere@ulb.be
-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 43: Line 35:
  
 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+  * Lectures on Mondays from 4 pm to 6 pm in the K.4.601 (Solbosch campus)
   * Exercises on Thursdays from 2 pm to 4 pm   * Exercises on Thursdays from 2 pm to 4 pm
  
Line 124: Line 116:
   * {{teaching:​infoh415:​activenotes.pdf|Active databases}}   * {{teaching:​infoh415:​activenotes.pdf|Active databases}}
   * {{teaching:​infoh415:​temporalnotes.pdf|Temporal databases}}   * {{teaching:​infoh415:​temporalnotes.pdf|Temporal databases}}
-/*   * {{teaching:​infoh415:​objectnotes.pdf|Object databases}} ​  */ +  * {{:​teaching:​infoh415:​graphdb-ulb-2021.zip|Graph Notes (2021 version)}} 
-  * {{:​teaching:​infoh415:​graph_databases_notes.zip|Graph Notes}}+/*   * {{teaching:​infoh415:​objectnotes.pdf|Object databases}} ​   
 +  * {{:​teaching:​infoh415:​graph_databases_notes.zip|Graph Notes}}*/
   * {{teaching:​infoh415:​spatialnotes.pdf|Spatial databases}}   * {{teaching:​infoh415:​spatialnotes.pdf|Spatial databases}}
  
Line 132: Line 125:
  
   * [[teaching:​infoh415:​TP|Exercices Web page]]   * [[teaching:​infoh415:​TP|Exercices Web page]]
 +
 ===== Project ===== ===== Project =====
  
Line 140: Line 134:
 */ */
  
-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.+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 and illustrate it with an application developed ​​in ​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 ​(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 ​ [[https://​db-engines.com/​en/​ranking|web site]].
  
-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 filledand 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 applicationbetter 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. ​Please notice that you SHOULD NOT generate data for the benchmark since you can find in Internet ​(1a huge number ​of available datasets (2) alternativelythere are many available data generators.
  
-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 semesterThis presentation will be supported by a slideshow. A written report containing ​the contents ​of the presentation ​is also requiredThe 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.+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 computedA 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 scalePlease 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.
  
-For 2-student group, ​the duration ​of the presentation is 30 minutesIt will structured in two parts of similar length +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 requiredThe 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.
-   * An introduction to the technology +
-   * An introduction to the tool illustrated ​with an example ​application ​assessing its advantages and disadvantages.+
  
-For 4-student group, the duration of the presentation is 45 minutes. It will structured in three parts of similar ​length +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 technology 
-   * An introduction to the two tools, each presented by each group+   * An introduction to the two tools, each presented by a subgroup of two persons
    * A common assessment of the advantages and disadvantages of both tools tested in a common example application.    * A common assessment of the advantages and disadvantages of both tools tested in a common example application.
  
Line 164: Line 156:
 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 ​132021**.+The project must be submitted by **Monday, December ​122022**. Please send the report and the presentation in PDF format to the lecturer
  
-  ​* Analytical databases and Endeca +  * Cloud databases and Microsoft Azure, AWS, ...
-  ​* Cloud databases and Microsoft Azure+
   * Column stores and Cassandra, Hbase, ...   * Column stores and Cassandra, Hbase, ...
   * Data warehouses and Apache Hive   * Data warehouses and Apache Hive
-  ​* Deductive Databases and XSB +  * Distributed databases and SQL Server, ​Oracle, Citus, ...
-  ​* Distributed databases and SQL Server, ​DynamoDB, ...+
   * Document stores and Cloudant, Couchbase, CouchDB, MongoDB, RavenDB, RethinkDB, ...   * Document stores and Cloudant, Couchbase, CouchDB, MongoDB, RavenDB, RethinkDB, ...
   * 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 BerkeleyDB, DynamoDB, Redis, Voldermort, ...   * Key-value stores and BerkeleyDB, DynamoDB, Redis, Voldermort, ...
-  ​* Multimedia databases and Oracle +  * Multi-model databases and MarkLogic, CosmosDB 
-  ​* Multi-model databases and MarkLogic +  * NewSQL databases and VoltDB, CockrachDB, ...
-  * NewSQL databases and VoltDB+
   * Object-oriented databases and ObjectBox, Perst   * Object-oriented databases and ObjectBox, Perst
   * Real-time databases and Firebase   * Real-time databases and Firebase
Line 189: Line 178:
 ===== Topics for the current academic year ===== ===== Topics for the current academic year =====
  
-  * Cloud databases and Microsoft Azure SQL: Davide Rendina, Margarita Hernandez + ​* ​Search Engines ​with ElasticSearch ​and OpenSearch: Muhammad ​Rizwan KhalidSayyor YusupovAli Abusaleh
-  ​* ​Column stores and Cassandra: Md Jamiur Rahman Rifat, Khushnur Binte Jahangir +
-  * Datawarehouses and Apache Hive: Nicole Zafalón, Andrés Espinal +
-  * Distributed databases and SQL Server: Asha Seif, Kainaat Amjid +
-  * Document stores ​with CouchBase ​and CouchDBMohammadreza Amini, Ossoama Benaissa, Zheng Ren, Adriana Sirbu +
-  * Document stores and MongoDB: Hang Yu, Zhiyang Guo +
-  * In-memory databases and Memcached: Diogo Repas and Sandra Hillergren +
-  * Key-value databases with Cloud bigtable and Redis: Luiz Fonseca, Zyrako Musaj, Yanjian Zhang and Zhicheng Luo +
-  * Multimedia databases and Oracle: Wassim Belgada, Imestir Ibrahim +
-  * 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 Rasdaman: Adam 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 ​IsmailYi 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 RenversezMael Touret +
  
  
 
teaching/infoh415.txt · Last modified: 2023/12/04 18:14 by ezimanyi