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 [2019/07/30 08:33]
ezimanyi [Examples of topics from the previous academic year]
teaching:infoh415 [2021/09/20 19:35]
ezimanyi [Topics for the current academic year]
Line 32: Line 32:
  
 The course is given during the first semester ​ The course is given during the first semester ​
-  * Lectures on Thursdays ​from pm to pm at the room S.UA4.218 +  * Lectures on Mondays ​from pm to pm 
-  * Exercises on Mondays ​from pm to pm at the room S.UB4.130+  * Exercises on Thursdays ​from pm to pm
  
 +/* 
 {{:​teaching:​infoh415:​infoh415schedule2018.pdf|Schedule}} {{:​teaching:​infoh415:​infoh415schedule2018.pdf|Schedule}}
  
- 
-/*  
   * [[http://​www.google.com/​calendar/​embed?​src=dug2eihu8tqtnkjhmtuupj0je0%40group.calendar.google.com&​ctz=Europe/​Brussels|Online schedule]]   * [[http://​www.google.com/​calendar/​embed?​src=dug2eihu8tqtnkjhmtuupj0je0%40group.calendar.google.com&​ctz=Europe/​Brussels|Online schedule]]
 */ */
 +
 +
 +
 ===== Objectives ===== ===== Objectives =====
  
 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. 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.
 +
 +
 +
 ===== Content ===== ===== Content =====
  
Line 54: Line 59:
 Temporal data and applications. Time ontology. Conceptual modeling of temporal aspects. Manipulation of temporal data with standard SQL. Temporal data and applications. Time ontology. Conceptual modeling of temporal aspects. Manipulation of temporal data with standard SQL.
  
-==== Object ​Databases ====+==== Graph Databases ====
  
-Object-oriented modelObject PersistanceODMG standard: Object Definition Language and Object Query Language.+...
  
 ==== Spatial Databases ==== ==== Spatial Databases ====
Line 76: Line 81:
   * Jim Melton and Alan R. Simon, SQL: 1999 - Understanding Relational Language Components, Morgan Kaufmann, 2001   * Jim Melton and Alan R. Simon, SQL: 1999 - Understanding Relational Language Components, Morgan Kaufmann, 2001
   * Jim Melton, Advanced SQL: 1999 - Understanding Object-Relational and Other Advanced Features, Morgan Kaufmann, 2002   * Jim Melton, Advanced SQL: 1999 - Understanding Object-Relational and Other Advanced Features, Morgan Kaufmann, 2002
-  * R.G.G. Cattel et al.The Object Database Standard: ODMG 3.0Morgan Kaufmann2000  ({{:​teaching:​odmg.pdf|version pdf}})+  * Ian RobinsonJim WebberEmil EifremGraph Databases, 2nd Edition, O'​Reilly Media, 2015
   * Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases: With Application to GIS, Morgan Kaufmann, 2001   * Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases: With Application to GIS, Morgan Kaufmann, 2001
  
Line 92: Line 97:
   * 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é]]
  
Line 111: Line 113:
   * {{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:​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 126: Line 129:
 */ */
  
-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, 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>"​.
  
-Each group will study a database technology and illustrate it with an application developed ​​in a database management system to be chosen (e.g., ​Oracle, PostgreSQL, ​DB2, SQL Server, mySQL, etc..). +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.
-The topic should be addressed in a technical way, to explain the underlying ​technologies. The application must use the specific ​technology ​manipulated.+
  
-The choice of topic and the application must be made ​​in agreement with the lecturer. The topic should not be included in the programme ​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 written ​report will explain the possibilities offered ​by the database management system chosen and give a general description of the application implemented.+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 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 140: Line 144:
 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 ​162019**. +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
   * Cloud databases and Microsoft Azure   * Cloud databases and Microsoft Azure
   * Column stores and Cassandra, Hbase, ...   * Column stores and Cassandra, Hbase, ...
 +  * Data warehouses and Apache Hive
   * Deductive Databases and XSB   * Deductive Databases and XSB
   * Distributed databases and SQL Server, DynamoDB, ...   * 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
-  * Graph Databases and Neo4J, OrientDB, ... 
   * 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 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 =====
-  * {{:​teaching:​infoh415:​student_projects:​2019:​azure.pdf|Cloud databases and Microsoft Azure}}: Sara Diaz, Buse Ozer + 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​xsb.pdf|Deductive databases ​and XSB}}: Gonçalo Moreira, Kaoutar Chennaf +  * Datawarehouses ​and Apache ​HiveNicole ZafalónAndrés Espinal 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​kafka.pdf|Distributed messaging with Apache ​Kafka}}René Gómez LondoñoAnkush Sharma +  * Cloud databases and Microsoft Azure SQLDavide RendinaMargarita Hernandez 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​dynamodb.pdf|Distributed ​databases and DynamoDB}}Elena OuroCarlos Badillo +  * Time series ​databases and Influx DBMohammad Zain AbbasMuhammad Ismail 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​hive.pdf|Distributed ​databases and Apache Hive}}Ricardo RojasDanilo Acosta +  * Real-time databases ​and FirebaseHimanshu ChoudharySergio PostigoTejaswini dhuppad 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​mongodb.pdf|Document stores and MongoDB}}: Sivaporn Homvanish, Tzu-Man Wu +  * Spatial raster ​databases and RasdamanAdam BroniewskiVictor Divi 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​couchbase.pdf|Document stores ​and CouchBase}}Carlos Martinez LorenzoPablo Molina Mata +  * Stream ​databases and Apache KafkaVlada KylynnykMahmut Asım Onat 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​couchdb.pdf|Document stores and CouchDB}}: Aparna KhireMingrui Dong +  * Object-oriented databases ​and ObjectBoxFilip SotiroskiNiccolo Morabito 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​berkeleydb.pdf|Embedded ​databases and Berkeley DB}}Ainhoa ZapirainNazrin Najafzade +  * Document ​stores and  ​MongoDBHang YuZhiyang Guo 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​memsql.pdf|In-memory ​databases and MemSQL}}Haydar Ali IsmailDwi Prasetyo Adi Nugroho +  * Time series ​databases and Kdb+Yi WuZhonghan Li 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​redis.pdf|Key-value stores ​and Redis}}Amritansh SharmaHaftamu Hailu +  * Distributed ​databases and SQL ServerAsha SeifKainaat Amjid  
-  * {{:​teaching:​infoh415:​student_projects:​2019:​memcached.pdf|Key-value ​stores and Memcached}}:​ Nathan Hullebroeck,​ Julien Delbeke +  * Search engines and ElasticSearch: ​Alexandre ChapelleNicolas Dardenne 
-  * {{:teaching:​infoh415:​student_projects:​2019:​cassandra.pdf|NoSQL databases and Cassandra}}:​ Pratham SolankiBraulio Blanco +  * Object-oriented databases ​and PerstAndrea GonzatoPietro Ferrazi 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​db4o.pdf|Object-oriented ​databases and db4o}}Pinar TurkyilmazAnnemarie Burger +  * Column stores ​and CassandraMd Jamiur Rahman RifatKhushnur Binte Jahangir 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​firebase.pdf|Real-time ​databases and Firebase}}Pablo LopezMaria Gabriela Martinez +  * Key-value databases and Cloud bigtableLuiz FonsecaZyrako Musaj 
-  * {{:​teaching:​infoh415:​student_projects:​2019:​elasticsearch.pdf|Search engines and ElasticSearch}}Ioannis PrapasSokratis Papadopulos +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​sphinx.pdf|Search engines ​and Sphinx}}Kevin SEFU, Antonio RAFAELENestor RAMOS PEREZ +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​rasdaman.pdf|Spatial data and Rasdaman}}Fernando Mendes StefaniniEvgeny Pozdeev +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​influxdb.pdf|Time series databases and Influx DB}}: Shabana Salmaan, Danish Amjad +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​kdb.pdf|Time series databases with Kdb+}}: Eugen Robert Patrascu, Kunal Arora +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​hbase.pdf|Wide-column ​databases and Apache HBase}}Edoardo ConteCarlos E. Muniz Cuza +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​basex.pdf|XML databases and BaseX}}: Marine Devers, Richard Bauwens +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​solr_1.pdf|Search engine and Solr}}: Maazouz Mehdi, Meire Wouter +
-  * {{:​teaching:​infoh415:​student_projects:​2019:​solr_2.pdf|Search engine and Solr}}: Mulham Aryan, Samia Azzouzi, Kamdem Tagne Thomas Borel+
  
 ===== Examinations from Previous Years ===== ===== Examinations from Previous Years =====
 
teaching/infoh415.txt · Last modified: 2023/12/04 18:14 by ezimanyi