Bazy danych II
0800-BAZY2
Program wykładu obejmuje następujące zagadnienia, mające na celu wprowadzenie studentów w świat nierelacyjnych baz danych i ich zastosowań w nowoczesnych systemach przetwarzania danych:
1. Modele danych NoSQL – Przegląd modeli wykorzystywanych w bazach NoSQL, takich jak klucz-wartość, dokumentowe, grafowe oraz rodziny kolumn. Porównanie z tradycyjnymi relacyjnymi modelami danych.
2. Rozproszone bazy danych – Omówienie architektury rozproszonych baz danych NoSQL, w tym mechanizmy skalowania poziomego, replikacji i partycjonowania danych.
3. Języki zapytań w bazach NoSQL – Wprowadzenie do zapytań w różnych systemach NoSQL, takich jak MongoDB Query Language (MQL), Cassandra Query Language (CQL) oraz Elasticsearch Query DSL.
4. Projektowanie baz danych NoSQL – Zasady modelowania danych w bazach nierelacyjnych, w tym techniki optymalizacji zapytań oraz projektowanie struktury dokumentów, kluczy i grafów w celu zapewnienia wysokiej wydajności.
5. Spójność, dostępność i tolerancja na podziały (CAP) – Omówienie twierdzenia CAP oraz porównanie modeli spójności (ACID vs BASE). Zrozumienie kompromisów związanych z zapewnieniem dostępności, spójności i skalowalności.
6. Indeksy i optymalizacja w NoSQL – Strategie tworzenia indeksów i optymalizacji zapytań w popularnych systemach NoSQL. Zrozumienie technik poprawy wydajności przy pracy z dużymi zbiorami danych.
7. Eksploracja danych (Data mining) w bazach NoSQL – Techniki analizy i eksploracji danych w rozproszonych systemach NoSQL, takich jak Hadoop, Spark oraz bazy danych grafowych.
8. Kierunki rozwoju baz NoSQL – Przyszłość nierelacyjnych baz danych, w tym ich zastosowania w IoT, Big Data, mobilnych bazach danych, bioinformatyce oraz złożonych analizach grafowych.
W cyklu 2022/23Z:
Przewidywany program wykładu: 1. Wprowadzenie do nie-relacyjnych baz danych, problematyka oraz skrótowy przegląd modeli danych 2. Indeksy 3. Transakcje 4. Bazy równoległe 5. Partycjonowanie danych oraz spójność 6. ACID oraz BASE 7. Koncepcja Ewentualnej Spójności oraz Twierdzenie Brewera 8. Odwrócony indeks i wyszukiwanie pełnotekstowe 9. Bazy danych klucz-wartość 10. Dokumentowe bazy danych / obiektowe bazy danych 11. Bazy danych XML 12. Grafowe bazy danych 13. Elementy analizy danych
Przewidywany program laboratorium: 1. Narzędzia oraz organizacja pracy 2. Bazy Dokumentowe: na przykładzie MongoDB oraz koncepcja Query-by-Example 3. Bazy Dokumentowe: modelowanie danych oraz zapytania 4. Bazy Klucz-wartość: modelowanie I 5. Bazy Klucz-wartość: modelowanie II 6. Bazy Klucz-wartość: partycjonowanie i ewentualna spójność 7. Odwrócony indeks i wyszukiwanie pełnotekstowe I 8. Odwrócony indeks i wyszukiwanie pełnotekstowe II 9. Memcache na przykładzie REDIS 10. Bazy grafowe 11. Bazy grafowe 12. Bazy XML - modelowanie i programowanie 13. Bazy XML - zapytania 14. Bazy obiektowe 15. SPARCQL 16. Apache Spark 17. Projekt
|
W cyklu 2023/24Z:
Przewidywany program wykładu: 1. Wprowadzenie do nie-relacyjnych baz danych, problematyka oraz skrótowy przegląd modeli danych 2. Indeksy 3. Transakcje 4. Bazy równoległe 5. Partycjonowanie danych oraz spójność 6. ACID oraz BASE 7. Koncepcja Ewentualnej Spójności oraz Twierdzenie Brewera 8. Odwrócony indeks i wyszukiwanie pełnotekstowe 9. Bazy danych klucz-wartość 10. Dokumentowe bazy danych / obiektowe bazy danych 11. Bazy danych XML 12. Grafowe bazy danych 13. Elementy analizy danych
Przewidywany program laboratorium: 1. Narzędzia oraz organizacja pracy 2. Bazy Dokumentowe: na przykładzie MongoDB oraz koncepcja Query-by-Example 3. Bazy Dokumentowe: modelowanie danych oraz zapytania 4. Bazy Klucz-wartość: modelowanie I 5. Bazy Klucz-wartość: modelowanie II 6. Bazy Klucz-wartość: partycjonowanie i ewentualna spójność 7. Odwrócony indeks i wyszukiwanie pełnotekstowe I 8. Odwrócony indeks i wyszukiwanie pełnotekstowe II 9. Memcache na przykładzie REDIS 10. Bazy grafowe 11. Bazy grafowe 12. Bazy XML - modelowanie i programowanie 13. Bazy XML - zapytania 14. Bazy obiektowe 15. SPARCQL 16. Apache Spark 17. Projekt
|
W cyklu 2024/25Z:
Przewidywany program wykładu: 1. Wprowadzenie do nierelacyjnych baz danych, problematyka oraz skrótowy przegląd modeli danych 2. Indeksy 3. Transakcje 4. Bazy równoległe 5. Partycjonowanie danych oraz spójność 6. ACID, BASE, CAP 7. Koncepcja Ewentualnej Spójności oraz Twierdzenie Brewera 8. Odwrócony indeks i wyszukiwanie pełnotekstowe 9. Bazy danych klucz-wartość 10. Dokumentowe bazy danych / obiektowe bazy danych 11. Bazy danych XML 12. Grafowe bazy danych 13. Elementy analizy danych
Przewidywany program laboratorium: 1. Narzędzia oraz organizacja pracy 2. Baza klucz-wartość I 3. Baza klucz-wartość II 4. Baza dokumentowa I 5. Baza dokumentowa II 6. Baza "rodzina kolumn" I 7. Baza "rodzina kolumn" II 8. Baza grafowa I 9. Baza grafowa II
|
Całkowity nakład pracy studenta
170 godzin lekcyjnych
w tym:
- godziny realizowane z udziałem nauczycieli: 85 h (30 h wykładu, 45 h ćwiczeń, 10 h konsultacji)
- czas poświęcony na pracę indywidualną potrzebny do pomyślnego zaliczenia przedmiotu: 45 h (bieżące przygotowanie do kolejnych wykładów, ćwiczeń i sprawdzianów)
- czas poświęcony na pracę nad projektem bazodanowym - 20 h
- czas wymagany do przygotowania się i uczestnictwa w procesie oceniania: 20 h (przygotowanie do egzaminu)
- czas wymagany do odbycia obowiązkowych praktyk: 0 h
Efekty uczenia się - wiedza
Student:
W1 - zna reguły algebry relacyjnej (informatyka stosowana K_W03)
W2 - zna zasady przetwarzania transakcyjnego (informatyka stosowana K_W03)
W3 - zna zasady optymalizacji zapytań (informatyka stosowana K_W03)
W4 - zna i rozumie mechanizmy bezpieczeństwa stosowane w bazach danych (informatyka stosowana K_W07)
W5 - zna i rozumie niestandardowe modele baz danych: obiektowe bazy danych/dedukcyjne bazy danych (informatyka stosowana K_W03)
W6 - rozumie działanie rozproszonych baz danych (informatyka stosowana K_W03).
Efekty uczenia się - umiejętności
Student:
U1 - potrafi tworzyć model konceptualny bazy danych z wykorzystaniem diagramów ER (EER) i transformować go do modelu relacyjnego (informatyka stosowana K_U01)
U2 - potrafi przeanalizować poprawność schematu, zidentyfikować zależności funkcyjne i zredukować schemat do odpowiedniej postaci normalnej (informatyka stosowana K_U01)
U3 - potrafi wykorzystać język DDL do definiowania obiektów baz danych (tabel, widoków, procedur składowanych i wyzwalanych) (informatyka stosowana K_U01. KU_10)
U4 - potrafi budować złożone zapytania w języku SQL (informatyka stosowana K_U06, K_U10)
U5 - potrafi zarządzać bezpieczeństwem bazy danych i autoryzacją (informatyka stosowana K_U10, K_U13)
U6 - potrafi zaprojektować aplikacje bazodanowe z użyciem jednej z metod dostępu(OLE DB, ODBC, JDBC, ADO.NET) (informatyka stosowana K_U10)
Efekty uczenia się - kompetencje społeczne
Student
K1 - rozumie potrzebę ustawicznego kształcenia się i poszerzania swojej wiedzy (informatyka stosowana K_K01)
K2 - rozumie konsekwencje złych modeli bazodanowych (informatyka stosowana K_K02)
Metody dydaktyczne podające
- wykład problemowy
- wykład informacyjny (konwencjonalny)
Metody dydaktyczne poszukujące
- laboratoryjna
- projektu
- ćwiczeniowa
Rodzaj przedmiotu
przedmiot obligatoryjny
Wymagania wstępne
Student przystępujący do tego przedmiotu powinien:
1) znać podstawy systemów operacyjnych
2) znać podstawowe algorytmy i struktury danych
Koordynatorzy przedmiotu
W cyklu 2021/22Z: | W cyklu 2023/24Z: | W cyklu 2022/23Z: | W cyklu 2024/25Z: |
Kryteria oceniania
Zaliczenie laboratorium odbywa się na podstawie aktywności na zajęciach oraz uzyskania pozytywnej oceny z dwóch kolokwiów lub projektu zaliczeniowego (sposób zaliczenia ćwiczeń ustala prowadzący dla danej grupy zajęciowej).
Zaliczenie wykładu odbywa się na podstawie pozytywnej oceny z zajęć laboratoryjnych oraz wyniku egzaminu końcowego.
Literatura
W cyklu 2022/23Z:
1. Martin Fowler i Pramod J. Sadalage, “NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence”
|
W cyklu 2023/24Z:
1. Martin Fowler i Pramod J. Sadalage, “NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence”
|
W cyklu 2024/25Z:
1. Martin Fowler i Pramod J. Sadalage, “NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence”
|
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: