ПРОЄКТУВАННЯ ІНФОРМАЦІЙНО-КОМУНІКАЦІЙНИХ СИСТЕМ З РОЗПОДІЛЕНИМИ ТА НЕРЕЛЯЦІЙНИМИ БАЗАМИ ДАНИХ - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Другий (магістр)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інформаційне забезпечення робототехнічних систем
Статус дисципліни Вибіркова
Форма навчання заочна
Рік підготовки, семестр 5 курс, 2 семестр
Обсяг дисципліни 3,5 кредита ESTS/120 годин (8 годин – Лекції, 8 годин – Практичні)
Семестровий контроль/ контрольні заходи Іспит/ тестування, МКР, захист лабораторних робіт
Розклад занять http://rozklad.kpi.ua/Schedules/ScheduleGroupSelection.aspx
Мова викладання Українська
Інформація про
керівника курсу / викладачів

Лектор: к.т.н., Крилов Євген Володимирович,

ekrylov1964@gmail.com,

моб. +38(050)387-16-45

Практичні: к.т.н., доцент, Крилов Євген Володимирович, ekrylov1964@gmail.com,

моб. +38(050)387-16-45

Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

Силабус освітнього компонента «Проєктування інформаційно-комунікаційних систем з розподіленими не реляційними базами даних» складено відповідно до освітньої програми підготовки магістрів спеціальності 126 – Інформаційні системи та технології. При проходженні даної дисципліни, студенти познайомляться з поняттям «NO SQL бази даних», та детальніше вивчатимуть методи та засоби створення колонкових, ключ/значення, графових, документоорієнтованих та багатомірних структур баз даних. На лабораторних заняттях опанують етапи проектування не реляційних баз даних. В курсі передбачений контроль якості отриманих знань у вигляді експрес-контрольних та модульних контрольних робіт. На лекціях проводитимуться практичні групові заняття.

Метою навчальної дисципліни є формування та закріплення у студентів наступних компетентностей: (ЗК01) Здатність до абстрактного мислення, аналізу і синтезу; (ЗК04) Здатність розробляти проекти та управляти ними; (СК04) Здатність розробляти математичні, інформаційні та комп’ютерні моделі об’єктів і процесів інформатизації; (СК08) Здатність до використання сучасних методологій та технологій проектування та реалізації інформаційного та програмного забезпечення інтелектуальних робототехнічних систем; (СК09) Здатність аналізувати стан та динаміку функціонування та перспективи розвитку технічних засобів, програмного та інформаційного забезпечення робототехнічних систем з використанням сучасних методів та засобів аналізу; (СК13) Здатність практично застосовувати методології об’ектно-орієнтованого проектування інформаційних систем спрямованих на використання об’єктно - орієнтованих та пост реляційних баз даних.

Предмет навчальної дисципліни: Дисципліна сприяє розумінню та засвоєнню студентами методів проектування пост реляційних, колонкових, графових, документо-орієнтованих та багатомірних структур баз даних.

Програмні результати навчання, на формування та покращення яких спрямована дисципліна: (ПН09) Розробляти і використовувати сховища даних, здійснювати аналіз даних для підтримки прийняття рішень; (ПР16) Знати загальні теоретичні відомості щодо принципів об'єктно - орієнтованого підходу до проектування баз даних, теоретичні засади з ідентифікації та класифікації класів та об'єктів, теоретичні основи побудови моделі об’єктів для постреляційних баз даних, технологічні засоби проектування інформаційних систем, які звертаються до постреляційних та об'єктно - орієнтованих баз даних.

Пререквізити та постреквізити дисципліни

Для успішного засвоєння дисципліни студент повинен володіти освітніми компонентами : «Програмування – 1. Основи програмування»; «Програмування – 2. Система управління базами даних». Компетенції, знання та уміння, одержані в процесі вивчення освітнього компонента є необхідними для подальшого вивчення освітніх компонентів «Практика», «Робота над магістре скою дисертацією».

Пререквізити: вміти користуватися комп’ютером на рівні адміністратора, базові знання в області програмування та проектування реляційних баз даних.

Постреквізити: проектування та реалізація програмних систем з використанням NO SQL баз даних..

Після проходження дисципліни студенти зможуть відтворити базові етапи розробки програмних систем з використанням не реляційних баз даних, а саме виконувати аналіз предметної області, обирати оптимальну модель даних, будувати оптимальні с точки зору швидкодії структури баз даних, розробляти складні NO SQL системи.

Зміст навчальної дисципліни

Лекційні заняття

Лекція 1. Загальні поняття інформаційно-комунікаційних систем з розподіленими не реляційними базами даних.

Лекція 2. Моделі даних NoSQL.

Лекція 3. Теоретичні основи NO SQL БД. CAP теорема.

Лекція 4. Високо навантажені (Highload) системи.

Лабораторні заняття

  1. Створення технічного завдання на розробку програмного забезпечення з використанням розподілених не реляційних баз даних (вибір моделі даних, проектування структури БД, формування запитів).

  2. Дослідження реляційної та не реляційної структур БД

  3. Робота з графовими базами даних.

  4. Реалізація проекту з обраною базою даних

Навчальні матеріали та ресурси

Базова література

  1. Використання транзакційного годинника для пришвидшення процесу узгодження даних в розподілених системах / E. Krуlov . V. Nikitin/ Вістник Хмельницького національного університету.

  2. MongoDB от теории к практике. Руководство по установке кластера mongoDB/ https://habr.com/ru/hub/nosql/

  3. Варіанти забезпечення суворої узгодженості в NoSql / Крилов Є.В., Белоус Р.В., Нікітін В.А. / V International Scientific and Practical Conference
    «SCIENTIFIC RESEARCHES AND METHODS OF THEIR CARRYING OUT: WORLD EXPERIENCE AND DOMESTIC REALITIES» 17.02.2023  |  Vinnytsia, UKR - Vienna, AUT (Online) Google Scholar

    1. Nikitin, E. Krуlov, Y. Kornaga, V. Anikin COMBINED INDEXING METHOD IN NOSQL DATABASES Міжвідомчий науково-технічний збірник «Адаптивні системи автоматичного управління».— Київ: Національний технічний університет України “Київський політехнічний інститут”. 2021 Том 1(38) стор. 3-9. DOI: https://doi.org/10.20535/1560-8956.38.2021.232948 (Фахове видання)
  4. Вікіпекдія https://uk.wikipedia.org/wiki/%D0%94%D0%B5% D1%80%D0%B5%D0%B2%D0%BE_(%D1%82%D0%B5%D0%BE%D1%80%D1%96%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D1%96%D0%B2)

  5. В. Нікітін, Є. Крилов, Я. Корнага, В. Анікін / Модифікація алгоритму хешування з метою підвищення швидкодії операцій у нереляційних базах даних/ Міжвідомчий науково-технічний збірник «Адаптивні системи автоматичного управління».— Київ: Національний технічний університет України “Київський політехнічний інститут”.Том 2 № 39 (2021) стр. 39-43 DOI: https://doi.org/10.20535/1560-8956.39.2021.247395 (Фахове видання)

Допоміжна література

  1. Иванчева Н.А., Иванчева Т.А . Постреляционная СУБД Cache (Методическое пособие)./- Новосибирск: Новосибирский государственный университет, 2014.

  2. Бородин А.И. модели данных Конспект лекций http:// www.bseu.by/new/tohod/lekcii2_4.html.

  3. Артур Б Смит M Computing May /June 2015, v.4 n.2, http:// www.inftech.webservis.ru/it/database/oo/art3.html

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Лекційні заняття

№ з/п Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1

Лекція 1. Основні поняття інформаційно-комунікаційних систем з розподіленими не реляційними базами даних

Визначення розподіленої бази даних , Історія назви , Розвіток ідеї , Коротка історія баз даних NoSQL .

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

2

Лекція 2. Моделі даних NoSQL.

Пост реляційна модель. Таблиця накладних. Таблиця товарів.

Об’єктноорієнтована модель. Приклад об’єктноорієнтованої бази даних. Клас об’єкта. Інкапсуляція. Наслідування. Поліморфізм. Недоліки об’єктноорієнтованих моделей. Приклад трьохмірної моделі. Зріз. Обертання. KEY Velue. Redis, Dynamo, Riak - деякі приклади баз даних сховищ ключів і значень. Column-based. Document_based. Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes, MongoDB - популярні системи СУБД, створені на основі документів. Graph-based. Neo4J, Infinite Graph, OrientDB, FlockDB - деякі популярні бази даних на основі графів.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

3

Лекція 3. Теоретичні основи NO SQL БД. CAP теорема.

Основні поняття не реляційних баз даних. Теорема Брюєра.

4

Лекція 4. Високо навантажені (Highload) системи .

Визначення Highload. Надійність системи. Reliability: hardware faults. Reliability: software faults. Маштабування. Scalability: навантаження.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Лабораторні заняття

Назва лабораторної роботи Кількість ауд. годин
1 Лабораторна робота 1. Створення технічного завдання на розробку програмного забезпечення з використанням розподілених не реляційних баз даних (вибір моделі даних, проектування структури БД, формування запитів) (вибір моделі даних, проектування структури БД, формування запитів). 2
2 Лабораторна робота 2. Дослідження реляційної та не реляційної структур БД (студент повинен спочатку розробити реляційну структуру БД, побачити недоліки, вибрати модель не реляційної БД, спроектувати структуру не реляційної БД) 2
3 Лабораторна робота 3. Робота з графовими базами даних.( Amazon Neptune, Neo4J, Infinite Graph, OrientDB, FlockDB) 2
4 Лабораторна робота 4. Розробка та презентація проєкту 2

Самостійна робота студента

№ з/п

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Робота з пост реляційними базами даних 10
2 Робота з багатовимірними базами даних 10
3 Маштабування в розподілених системах 10
4 Використання багатомірних структур для зберігання даних 12
5 Методи підвищення швидкодії в розподілених системах 32

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які ставляться перед студентом:

  • відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;

  • на лекції викладач користується власним презентаційним матеріалом; відпрацьовує практичну частину на віртуальній машині з встановленою відповідною РСУБД; використовує гугл-диск для викладання матеріалу поточної лекції, додаткових ресурсів, лабораторних робіт та інше; викладач відкриває доступ до певної директорії гугл-диска для скидання електронних лабораторних звітів та відповідей на МКР;

  • на лекції заборонено відволікати викладача від викладання матеріалу, усі питання, уточнення та ін. студенти задають в кінці лекції у відведений для цього час;

  • лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;

  • модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат пересилається у файлі до відповідної директорії гугл-диску;

  • заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів не більше 10;

  • штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів не більше 10.

Види контролю та рейтингова система оцінювання результатів навчання (РСО) (очна форма)

Рейтинг студента з дисципліни складається з балів, що він отримує за:

  1. Відповіді та активність на лекціях;

  2. виконання та захист 7 лабораторних робіт;

  3. виконання 2 модульних контрольних робіт (МКР);

  4. заохочувальні та штрафні бали.

Система рейтингових балів та критерії оцінювання

Відповіді на лекціях:

«відмінно» – повна відповідь (не менше 90% потрібної інформації) – 5 балів;

«добре» – достатньо повна відповідь (не менше 75% потрібної інформації) або повна відповідь з незначними недоліками – 4 балів;

«задовільно» – неповна відповідь (не менше 60% потрібної інформації) та незначні помилки – 1-3 бали;

«незадовільно» – відповідь не відповідає вимогам до «задовільно» – 0 балів.

Лабораторні роботи:

«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 10/9 балів;

«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 8/7 бали;

«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 16/5 бал;

«незадовільно», незадовільна відповідь та/або не оформлений належним чином електронний протокол до лабораторної роботи – 0/3 балів.

За кожне заняття запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.

Модульні контрольні роботи:

«відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 9-10 балів;

«добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 7-8 балів;

«задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 5-6 бали;

«незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0-4 балів.

Заохочувальні бали

– за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 1-2 бали, але в сумі не більше 10;

– презентації по СРС – від 1 до 5 балів.

Форма семестрового контролю – Залік:

Студенти, які виконали всі умови допуску до семестрової атестації (не мають заборгованостей з лабораторних робіт, наявні усі електронні звіти) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) так званим «автоматом» відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки.

Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу.

На заліку студенти виконують письмову контрольну роботу. Кожне завдання містить три теоретичних питання і два практичних. Перелік питань наведений у методичних рекомендаціях до засвоєння кредитного модуля. Кожне питання оцінюється у 20 балів.

Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).

Система оцінювання питань:

«відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;

«добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 13-17 балів;

«задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 7-12 балів;

«незадовільно», незадовільна відповідь – 0-6 балів.

Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:

Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою

Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено

Додаткова інформація з дисципліни (освітнього компонента)

  • передбачена можливість закривати частину лабораторного та лекційного матеріалу шляхом здобування сертифікатам по online курсам відповідних розділів та тем дисципліни;

  • перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;

Робочу програму навчальної дисципліни (Силабус):

Складено доцент кафедри ІСТ, к.т.н., Крилов Євген Володимирович.

Ухвалено кафедрою ІСТ (протокол № 16 від 12.06.2024 р.).

Погоджено Методичною комісією факультету[1] (протокол № 10 від 21.06.2024 р.).

Додаток 1

Перелік теоретичних питань на іспит

  1. Постреляційна модель даних.

  2. Об’єктноорієнтована модель даних.

  3. Графова модель даних

  4. Колонкова модель даних

  5. Модель даних ключ/значення

  6. Документо-орієнтована модель даних

  7. Вибір моделі не реляційної БД. Теорема Брюєра

  8. Маштабування в розподілених системах

  9. Узгодженість даних

  10. Доступність даних

  11. Стійкість до поділу

  12. Проста схема (без шардування)

  13. Шардована схема без репліка сетів

  14. Шардована схема з репліка сетами

  15. Map-Reduce технологія

  16. Парадигма Master-Slave

  17. Парадигма Replica Set

  18. Сoordinator Election

  19. Недоліки No Sql рішень

[1]