Go to:
Logótipo
You are here: Start > M.EIC032

Non-Relational Databases

Code: M.EIC032     Acronym: BDNR

Keywords
Classification Keyword
OFICIAL Information Systems

Instance: 2023/2024 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M.EIC 27 Syllabus 1 - 6 39 162

Teaching Staff - Responsibilities

Teacher Responsibility
Sérgio Sobral Nunes

Teaching - Hours

Recitations: 3,00
Type Teacher Classes Hour
Recitations Totals 1 3,00
Sérgio Sobral Nunes 3,00
Mais informaçõesLast updated on 2024-01-11.

Fields changed: Teaching methods and learning activities, Programa, Fórmula de cálculo da classificação final

Teaching language

Portuguese
Obs.: Suitable for English-speaking students.

Objectives

The BDNR curricular unit aims to prepare students to know, understand, design and develop solutions based on non-relational database paradigms and technologies to support information systems.

Specific objectives: know and understand the main concepts and paradigms of non-relational databases; enable students to analyze, design, implement and evaluate non-relational databases; design the storage and interrogation component of systems based on non-relational models.

Learning outcomes and competences

Upon completion of the curricular unit, the student should be able to:

  • Recognize the situations in which relational databases are not the adequate solution for the storage and interrogation of data;
  • Identify and describe the different models of non-relational databases and the typical situations of use of each one of them;
  • Design, implement and interrogate databases built according to different non-relational approaches;
  • Analyze the challenges associated with complex large-scale scenarios (big data), propose solutions based on non-relational models and understand the limits of each one of them;
  • Combine relational and non-relational models in information systems.

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Programming: knowledge and practice with programming languages ​​for application development.

Databases: knowledge and practice of data modeling in UML, relational model, SQL language.

Program

Non-relational databases:

  • Introduction and motivation;
  • Current data challenges: size, variability, different paradigms;
  • ACID properties and limits of relational databases;
  • Historical perspective of database management systems.

Properties of non-relational databases:

  • The CAP theorem and design choices;
  • BASE properties;
  • Consistency and distribution techniques;
  • Joint treatment.

Selection of different application cases, one for each group of students.

Study each of the selected paradigms according to the following guide:

  • Introduction and motivation;
  • Model;
  • Main solutions;
  • Data access and manipulation;
  • Usage scenarios;
  • Implementation of application cases.

Paradigms:

  • Key-value databases;
  • Document databases;
  • Column-family databases;
  • Graph databases;
  • XML and triple databases;
  • Hybrid model databases.

Comparison of various paradigms.

Mandatory literature

Dan Sullivan; NoSQL For Mere Mortals, Addison-Wesley, 2015. ISBN: 978-0-13-402321-2
Sadalage, PJ, & Fowler, M.; NoSQL Diftered: A Brief Guide to the Emerging World of Polyglot Persistence, Pearson Education, 2013

Complementary Bibliography

Wilfried Lemahieu; Principles of database management. ISBN: 978-1-107-18612-5
Perkins, L., Redmond, E., & Wilson, J.; Seven databases in seven weeks: a guide to modern databases and the NoSQL movement, Pragmatic Bookshelf, 2018
Robinson, I. Webber, J., & Eifrem, E.; Graph Databases, O'Reilly, 2013
Guy Harrison; Next Generation Databases, Apress, 2015. ISBN: 978-1-4842-1330-8

Teaching methods and learning activities

The program topics are exposed in a series of tutorial sessions (theoretical presentation and laboratory work). Each group of students defines and carries out a project throughout the semester, with part of the development, monitoring and evaluation, carried out in class.

Project: each groups select a non-relational database technology to explore in-depth. Their task includes defining adequate use cases, data modeling, configuring and setting up the database, and interacting with the database (creation and querying). Groups will also develop a prototype application, resulting in a detailed report and a presentation to demonstrate their practical and theoretical understanding of the chosen technology.

The development of the project will be monitored during classes, and evaluated based on the class monitoring, the intermediate presentations, a technical report, and the final presentation.

Exam: multiple choice test, including open-ended questions.

Software

Cassandra
Git
Neo4j
Redis
PostgreSQL
Docker
MongoDB

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 40,00
Trabalho prático ou de projeto 60,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 84,00
Estudo autónomo 39,00
Frequência das aulas 39,00
Total: 162,00

Eligibility for exams

There are two conditions for obtaining frequency:

  • (1) not exceed the limit number of absences allowed; and
  • (2) obtain the minimum grade defined in the project.

Calculation formula of final grade

The final grade is calculated using the formula

Grade = 60% Project + 40% Exam

Approval in the course is subject to obtaining an individual assessment of 40% in both assessment components (project and exam).

Obtaining approval in the project presupposes the participation of each student in all phases of the project, namely the selection of technologies, the identification and characterization of the problem, the design and implementation of the solution, the writing of the final report, and the participation in the intermediate and final presentations and discussions.

The final grade of the project may vary from element to element of the same group based on the opinion of the teachers and in self-assessment and hetero-assessment to be carried out internally in each group.

Examinations or Special Assignments

There are no exams or special assignments.

Special assessment (TE, DA, ...)

The distributed assessment, carried out during the semester in which the course unit operates, is required for all students, regardless of the enrollment regime.

Student workers and their equivalents dismissed from classes must, at intervals to be agreed with the teachers, present the progress of their work, as well as present these, simultaneously with ordinary students, and carry out the theoretical tests for individual assessment provided for.

Classification improvement

Only the individual component (exam) can be improved.

Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-05-17 at 13:07:47 | Acceptable Use Policy | Data Protection Policy | Complaint Portal