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/10/02 01:51]
ezimanyi [Topics for the current academic year]
teaching:infoh415 [2021/10/06 17:25]
ezimanyi [Project]
Line 6: Line 6:
  
  
 +06/10:
 +Dear all,
 +
 +The exercise session of tomorrow (7/10) will take place on Teams. During this session, you should continue the exercises that we started previous week.
 +
 +I will be available on Teams to answer questions you may have concerning the two first sessions. I will post a message on the Teams group (exercise channel), anyone having a question should answer the message so that I can call you.
 +
 +
 +Best regards,
 +
 +Gilles
 ===== Lecturer ===== ===== Lecturer =====
  
Line 135: Line 146:
 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 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 ​(e.g., document stores, time series databases, etc.) 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. 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 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.
Line 163: Line 174:
   * 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   * Multi-model databases and MarkLogic
   * NewSQL databases and VoltDB   * NewSQL databases and VoltDB
Line 184: Line 193:
   * Analytical databases and Endeca: David Silberwasser,​ Sami Abdul Sater   * Analytical databases and Endeca: David Silberwasser,​ Sami Abdul Sater
   * Cloud databases and Microsoft Azure SQL: Davide Rendina, Margarita Hernandez   * Cloud databases and Microsoft Azure SQL: Davide Rendina, Margarita Hernandez
-  * Column ​stores and Cassandra: Md Jamiur Rahman Rifat, Khushnur Binte Jahangir +  * Column ​databases with Cassandra ​and HBase: Md Jamiur Rahman Rifat, Khushnur Binte Jahangir,  Hind Bakkali and Gaëlle Frauenkron 
-  * Datawarehouses ​and Apache Hive: Nicole Zafalón, Andrés Espinal +  * Column stores and Apache Kudu: Pei Liao, Minxing Jiang 
-  * Distributed databases ​and SQL Server: Asha Seif, Kainaat Amjid+  * Data warehouses ​and Apache Hive: Nicole Zafalón, Andrés Espinal 
 +  * Distributed databases ​with Citus: Asha Seif, Kainaat Amjid
   * Distributed Databases with DynamoDB: Loïc Caudron, Matteo Snellings   * Distributed Databases with DynamoDB: Loïc Caudron, Matteo Snellings
   * Document stores with CouchBase and CouchDB: Mohammadreza Amini, Ossoama Benaissa, Zheng Ren, Adriana Sirbu   * Document stores with CouchBase and CouchDB: Mohammadreza Amini, Ossoama Benaissa, Zheng Ren, Adriana Sirbu
   * Document stores and Firestore: Luca De Santos, Sacha Keserovic ​   * Document stores and Firestore: Luca De Santos, Sacha Keserovic ​
   * Document stores and MongoDB: Hang Yu, Zhiyang Guo   * Document stores and MongoDB: Hang Yu, Zhiyang Guo
 +  * Embedded databases and BerkeleyDB: Starygin Evgueniy, Bernard Loic
   * In-memory databases and Memcached: Diogo Repas and Sandra Hillergren   * In-memory databases and Memcached: Diogo Repas and Sandra Hillergren
   * Key-value databases with DynamoDB: Aline Desmet, Chloé Dekeyser   * Key-value databases with DynamoDB: Aline Desmet, Chloé Dekeyser
 
teaching/infoh415.txt · Last modified: 2023/12/04 18:14 by ezimanyi