Dokumentowe bazy danych
0800-DOBAZYD
1. Wstęp do dokumentowej bazy danych RavenDB.
2. Modelowanie danych oraz operacje CRUD.
3. Omówienie transakcyjności (ACID) oraz przedstawienie sposobu implementacji (WAL - Write Ahead Journal, MVCC - Multiversion concurrency control).
4. Zapytania w języku RQL oraz ich obsługa przez automatyczne indeksy. Koncepcja BASE (Basically Available, Soft state, Eventual consistency).
5. Tworzenie indeksów statycznych przy użyciu LINQ (C#) lub JavaScript. Wykonywanie obliczeń podczas indeksowania oraz wyszukiwanie pełnotekstowe.
6. Agregacja danych i obsługa zapytań w oparciu o indeksy map-reduce.
7. Zastosowanie dokumentów powiązanych - ładowanie danych, zapytania oraz indeksowanie.
8. Użycie rewizji dokumentów do wersjonowania danych oraz załączników do składowania danych binarnych.
9. Bezpieczeństwo - certyfikaty dostępu do bazy danych oraz enkrypcja.
10. Skalowalność, wysoka dostępność (HA - High Availability) oraz Database-as-a-Service (DBaaS) na przykładzie RavenDB Cloud.
|
W cyklu 2025/26L:
1. Wstęp do dokumentowej bazy danych RavenDB. 2. Modelowanie danych oraz operacje CRUD. 3. Omówienie transakcyjności (ACID) oraz przedstawienie sposobu implementacji (WAL - Write Ahead Journal, MVCC - Multiversion concurrency control). 4. Zapytania w języku RQL oraz ich obsługa przez automatyczne indeksy. Koncepcja BASE (Basically Available, Soft state, Eventual consistency). 5. Tworzenie indeksów statycznych przy użyciu LINQ (C#) lub JavaScript. Wykonywanie obliczeń podczas indeksowania oraz wyszukiwanie pełnotekstowe. 6. Agregacja danych i obsługa zapytań w oparciu o indeksy map-reduce. 7. Zastosowanie dokumentów powiązanych - ładowanie danych, zapytania oraz indeksowanie. 8. Vector Search. Embeddingi jako semantyczna reprezentacja danych. Algorytm HNSW (Hierarchical Navigable Small World). 9. Skalowalność, wysoka dostępność (HA - High Availability) oraz Database-as-a-Service (DBaaS) na przykładzie RavenDB Cloud.
|
Całkowity nakład pracy studenta
Godziny realizowane z udziałem nauczycieli: (30 godz.)
laboratorium: 30 godz.
Orientacyjne godziny indywidualnej pracy studenta: (30 godz.)
- czas poświęcony na pracę niezbędną do pomyślnego zaliczenia przedmiotu, w tym bieżące przygotowanie się do kolejnych zajęć: 15 godz.)
- czas poświęcony na pracę nad projektem zaliczeniowym - 15 godz.
RAZEM: 60 godz. (2 ECTS)
Efekty uczenia się - wiedza
student
W1 - potrafi projektować systemy informatyczne w oparciu o dokumentowy model danych (K_W06)
W2 - rozumie mechanizmy składowania danych, transakcyjności oraz metody zachowania spójności danych (K_W04)
W3 - potrafi wykorzystać zaawansowane metody agregacji danych w tym paradygmat programowania map-reduce (K_W04)
W4 - potrafi zaprojektować skalowalny system informatyczny (K_W02)
Efekty uczenia się - umiejętności
student
U1 - rozumie potrzebę uczenia się przez całe życie, posiada umiejętność zdobywania oraz planowania rozwijania swojej wiedzy (K_U05)
U2 - posiada umiejętności pracy grupowej (K_U07)
U3 - potrafi identyfikować problemy informatyczne (K_U10)
U4 - potrafi wybrać adekwatne narzędzia i model składu danych przy projektowaniu systemu informatycznego (K_U11)
Efekty uczenia się - kompetencje społeczne
Student
K1 - rozumie potrzebę ustawicznego kształcenia się i poszerzania swojej wiedzy (K_K01)
K2 - rozumie konsekwencje złych modeli bazodanowych ( K_K02)
K3 - potafi skutecznie opowiedzieć o zagadnieniach z zakresu baz danych (K_K05)
Metody dydaktyczne eksponujące
- pokaz
Metody dydaktyczne podające
- wykład konwersatoryjny
- wykład informacyjny (konwencjonalny)
- pogadanka
- opis
Rodzaj przedmiotu
przedmiot szczegółowy (atrybut wycofany)
Wymagania wstępne
Student przystępujący do tego przedmiotu powinien:
1) znać podstawowe algorytmy i struktury danych
2) znać podstawy baz danych od systemów zarządzania bazami danych
Koordynatorzy przedmiotu
W cyklu 2023/24L: | W cyklu 2024/25L: | W cyklu 2022/23L: | W cyklu 2025/26L: |
Kryteria oceniania
Przygotowanie projektu zaliczeniweg przy konsultacjach z prowadzącymi i jego prezentacja na koniec przedmiotu.
Sposób wykonanie projektu i jego efekt końcowy weryfikują wszystkie efekty uczenia się.
Literatura
1. Inside Ravendb 4.0, Oren Eini
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: