INFO-H-415: Advanced Databases

Lecturer

Teaching Assistant

Volume

  • Theory 24 h - Exercises 24h - Project 12h
  • 5 ECTS credits

Study Programme

  • Master in Computer Science and Engineering [MA-IRIF]
  • Master in Computer Sciences [INFO]
  • Erasmus Mundus Master in Big Data Management and Analytics (BDMA)

Schedule

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
  • Exercises on Thursdays from 2 pm to 4 pm at the room S.UB4.130 except 24/10/2019 which is a lecture in S.UD2.119

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.

Content

Active Databases

Taxonomy of concepts. Applications of active databases: integrity maintenance, derived data, replication. Design of active databases: termination, confluence, determinism, modularisation.

Temporal Databases

Temporal data and applications. Time ontology. Conceptual modeling of temporal aspects. Manipulation of temporal data with standard SQL.

Graph Databases

Spatial Databases

Spatial data and applications. Space ontology. Conceptual modeling of spatial aspects. Manipulation of spatial data with standard SQL.

Reference Books

  • C. Zaniolo et al., Advanced Database Systems, Morgan Kaufmann, 1997
  • R.T. Snodgrass, Developing Time-Oriented Database Applications in SQL, Morgan Kaufmann, 2000 (version pdf)
  • Tom Johnston, Bitemporal Data: Theory and Practice, Morgan Kaufmann, 2014
  • R.T. Snodgrass, The TSQL2 Temporal Query Language, Kluwer Academic Publishers, 1995
  • S.W. Dietrich, S.D. Urban, Fundamentals of Object Databases: Object-Oriented and Object-Relational Design, Morgan & Claypool, 2011
  • 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
  • Ian Robinson, Jim Webber, Emil Eifrem, Graph Databases, 2nd Edition, O'Reilly Media, 2015
  • Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases: With Application to GIS, Morgan Kaufmann, 2001

Additional documentation

  • Norman W. Paton, Oscar Díaz, Active Database Systems, ACM Computer Surveys, 31(1): 63-103, 1999. (version pdf)
  • Jennifer Widom, The Starbust Active Database Rule System, IEEE Transactions on Knowledge and Data Engineering, 8(4): 583-595 1996 (version pdf)
  • E. Zimányi, Temporal Aggregates and Temporal Universal Quantifiers in Standard SQL, SIGMOD Record, 35(2):16-21, 2006. (version pdf)
  • Krishna Kulkarni, Jan-Eike Michels, Temporal features in SQL:2011, SIGMOD Record, 41(3):34-43, 2012. (version pdf)
  • Michael H. Böhlen, Anton Dignös, Johann Gamper, Christian S. Jensen, Temporal Data Management: An Overview, Proc. of the 7th European Summer School on Business Intelligence and Big Data, eBISS 2017, Bruxelles, Belgium, LNBIP 324, Springer 2018. (version pdf) * Gregory Sannik, Fred Daniels, Enabling the Temporal Data Warehouse, Teradata White paper. (version pdf)
  • Richard T. Snodgrass, A Case Study of Temporal Data, Teradata White paper. (version pdf)
  • Teradata, Temporal Table Support. (version pdf)
  • Teradata, ANSI Temporal Table Support. (version pdf)
  • IBM, A Matter of Time: Temporal Data Management in DB2 for z/OS. (version pdf)

Course Slides

Exercises

Project

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.

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..). 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.

The evaluation of the project focuses on the following criteria:

  • Quality of the presentation,
  • Master of the topic presented, and
  • Quality of written report.

The project will count for 25% of the final grade.

The project must be submitted by Monday, December 16, 2019.

Examples of topics from the previous academic year

You can take a look at the 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
  • Cloud databases and Microsoft Azure
  • Column stores and Cassandra, Hbase, …
  • Data warehouses and Apache Hive
  • Deductive Databases and XSB
  • Distributed databases and SQL Server, DynamoDB, …
  • Document stores and Cloudant, Couchbase, CouchDB, MongoDB, RavenDB, RethinkDB, …
  • Embedded databases and BerkeleyDB
  • In-memory databases and Kdb+, MemSQL, Oracle TimesTen, Memcached, ….
  • Key-value stores and Redis, Voldermort, …
  • Multimedia databases and Oracle
  • Multi-model databases and MarkLogic
  • NewSQL databases and VoltDB
  • Object-oriented databases and db4o
  • Real-time databases and Firebase
  • Search engines and Solr, ElasticSearch, Sphinx …
  • Spatial databases and Rasdaman
  • Stream databases and Apache Kafka
  • Time series databases and Influx DB, Kdb+, …
  • XML databases and BaseX

Topics for the current academic year

  • Analytics data warehouse and Google BigQuery: Hridaya Sagar Subedi, Alp Albay
  • Cloud databases and Microsoft Azure: Rodaina Mohamed, Karim Maatouk
  • Column stores and Cassandra: Andrea Armani, Anant Gupta
  • Data warehouses and Apache Hive: Emir Nurmatbekov, Mahmudul Hasan
  • Document stores and MongoDB: Ledia Isaj, Fabrício Ferreira
  • Document stores and Couchbase: Samia Azzouzi, Brahim Amssafi
  • Document stores and CouchDB: Abdelilah El Majjaoui
  • Embedded Databases and BerkeleyDB: Ali Arous, Maria Letizia Losso
  • In-memory databases and Oracle TimesTen: Nathan Wolper, Kamdem Tagne Thomas Borel
  • Key-value stores and Redis: Ira nazarchuk, Julio Candela
  • Multimedia databases and Oracle: Muthi Dorel Adrian, Fan Chen
  • Multimodel databases and MarkLogic: Gian Marco Paldino, Piotr Rochala
  • Multimodel databases and Microsoft Azure Cosmos DB: Dimitrios Tsesmelis, Ricardo Holthausen Bermejo
  • NewSQL databases and VoltDB: Tamara Bojanic, Iva Mihajlovska
  • Object-oriented databases and Versant: Yi Chiau Li, Yu Hsuan Chen
  • Real-time databases and Firebase: Jesus Huete, Valdemar Hernández
  • Search Engines and Elastic Search: Haroon Rashid, Djordjije Krivokapic
  • Search Engines and ELK stack with Kafka: Haftamu Hailu Tefera, Ishaan Rachit Dwivedi
  • Streaming Databases with Apache Kafka: Nithish Sankaranarayanan, Gayane Vardanyan
  • Stream Processing and Apache Storm: Ariston Harianto Lim, Hung Nguyen
  • Stream processing and SQL stream: Sheida Shafiee Sarvestani, Nicolas Feron
  • Time series databases and InfluxDB: Yalei Li, Haonan Jin
  • Time series databases and TimescaleDB: Uchechukwu Fortune Njoku, Akash Malhotra
  • XML databases and BaseX: Ayman Mountasser, Mohammed Amine Belfarsi

Examinations from Previous Years

 
teaching/infoh415.txt · Last modified: 2019/11/28 18:03 by ezimanyi