ОПТИМІЗАЦІЯ ТА БАЛАНСУВАННЯ НАВАНТАЖЕННЯ У БАЗАХ ДАНИХ**
Силабус освітнього компонента
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Вибіркова |
Форма навчання | очна(денна)/заочна/дистанційна |
Рік підготовки, семестр | 4 курс, весінній семестр |
Обсяг дисципліни | 4 кредити / 120 годин (36 годин – Лекції, 36 годин – Лабораторні, 48 годин – СРС) |
Семестровий контроль/ контрольні заходи | Залік, МКР, захист лабораторних робіт |
Розклад занять | 1 лекція (2 години) 1 раз на тиждень; 1 лабораторна робота (2 години) 1 раз на тиждень |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів | ст. викл. каф. ІСТ, к.т.н.,Галушко Дмитро Олександрович Telegram: https://t.me/+kRUWEVsG6qJjMGJi |
Розміщення курсу | https://classroom.google.com/c/NTI0MzMxNzkyNTcy?cjc=s3uqxpt |
Програма навчальної дисципліни
- Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Силабус навчальної дисципліни “Оптимізація та балансування навантажень у базах даних” передбачає виконання навчальних завдань та практик програмування. Це дозволяє отримати досвід практичної роботи із оптимізації баз даних. Предмет охоплює важливі аспекти управління та оптимізації баз даних в інформаційних системах. Студенти цього курсу дізнаються про різні аспекти роботи з базами даних, включаючи методи оптимізації запитів, підвищення продуктивності, а також балансування навантаження для забезпечення надійності та ефективності систем. Лекції охоплюють питання проектування баз даних, роботи зі схемами, індексами та іншими структурними елементами. Практичні лабораторні роботи допоможуть студентам набути практичних навичок у використанні різноманітних систем управління базами даних, оптимізації запитів та налагодженні процесів в базах даних. Курс також розглядає сучасні підходи до роботи з великими обсягами даних та технології балансування навантаження, що важливо в сучасних інформаційних системах.
Предмет навчальної дисципліни
Предмет - методи та засоби оптимізації БД
Мета навчальної дисципліни
Навчити студентів методам оптимізації та балансування навантажень в базах даних з метою підвищення продуктивності, надійності та ефективності інформаційних систем. Після завершення дисципліни студенти повинні бути здатні розробляти та впроваджувати стратегії оптимізації баз даних, а також використовувати методи балансування навантажень для забезпечення найкращої працездатності систем обробки даних.
Ця мета покликана надати студентам знання та навички у сфері оптимізації баз даних, що є важливим компонентом для професійного успіху в галузі обробки та зберігання інформації.
Завдання навчальної дисципліни
Завдання навчальної дисципліни "Оптимізація та балансування навантажень у базах даних" включають наступні аспекти та завдання: ознайомлення з концепціями баз даних: Студенти вивчатимуть основні поняття та принципи роботи баз даних; вивчення способів та методів оптимізації запитів, підвищення продуктивності баз даних; вивчення принципів розподіленої обробки даних та балансування навантажень для забезпечення доступності та надійності системи.
Пререквізити та постреквізити дисципліни
Пререквізити
Для успішного засвоєння дисципліни студент повинен володіти освітніми компонентами «Програмування. Частина 1», «Програмування. Частина 2», «Комп'ютерні мережі», «Основи баз даних»
Постреквізити
Отримані при засвоєнні дисципліни теоретичні знання та практичні уміння забезпечують успішне виконання курсових проєктів та бакалаврських робіт за спеціальністю 121 Інженерія програмного забезпечення
Зміст навчальної дисципліни
Розділ 1. Вступ та основні поняття: Тема 1.1 Вступ до життєвого циклу розробки програмного забезпечення, Тема 1.2 Моделі життєвого циклу розробки ПЗ: класичні та Agile підходи.
Розділ 2. Планування та аналіз: Тема 2.1 Вимоги та аналіз в життєвому циклі розробки, Тема 2.2 Проектування програмного забезпечення: методи та підходи
Розділ 3. Розробка та тестування: Тема 3.1. Розробка програмного забезпечення: методології та інструменти, Тема 3.2 Тестування та якість програмного забезпечення
Розділ 4. Управління проектами та процесами: Тема 4.1 Керування конфігурацією та версіонування ПЗ, Тема 4.2. Управління проектами в життєвому циклі розробки
Розділ 5. Підтримка та захист: Тема 5.1. Планування розгортання і підтримки програмного забезпечення, Тема 5.2. Безпека програмного забезпечення та захист від загроз.
Розділ 6. Інтеграція та майбутнє: Тема 6.1 Архітектура програмного забезпечення: основні принципи та вибір рішень, Тема 6.2. Процеси автоматизації в життєвому циклі розробки, Тема 6.3 Інтеграція програмного забезпечення з іншими системами. Тема 6.4 Тенденції та майбутнє розробки програмного забезпечення.
Розділ 7. Підсумки: Тема 7.1 Підсумки
Навчальні матеріали та ресурси
Базова література
Sommerville, Ian. "Software Engineering." Pearson, 2019.
Ramakrishnan, R., & Gehrke, J. (2002). Database Management Systems. McGraw-Hill.
Elmasri, R., & Navathe, S. B. (2019). Fundamentals of Database Systems. Pearson.
Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database System Concepts. McGraw-Hill.
Garcia-Molina, H., Ullman, J. D., & Widom, J. (2008). Database Systems: The Complete Book. Pearson.
Ozsu, M. T., & Valduriez, P. (2020). Principles of Distributed Database Systems. Springer.
Date, C. J. (2012). An Introduction to Database Systems. Pearson.
Kozierok, C. (2005). The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference. No Starch Press.
Bernstein, P. A., Hadzilacos, V., & Goodman, N. (2016). Concurrency Control and Recovery in Database Systems. Addison-Wesley.
Hoffer, J. A., Prescott, M. B., & McFadden, F. R. (2019). Modern Database Management. Pearson.
Stonebraker, M., & Çetintemel, U. (2017). Stream Data Processing: A Quality of Service Perspective: Modeling, Scheduling, Load Shedding, and Complex Event Processing. Morgan & Claypool..
Допоміжна література
Valeria Cardellini. Matteo Nardelli. Container-based virtualization: Docker. Università degli Studi di Roma “Tor Vergata” Dipartimento di Ingegneria Civile e Ingegneria Informatica Corso di Sistemi Distribuiti e Cloud Computing A.A. 2017/18.
Adam Freeman. Pro Angular 6 .ISBN-13 (pbk): 978-1-4842-3648-2 ISBN-13 (electronic): 978-1-4842-3649-9/2018р.
Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття
|
|
---|---|
1 | Тема 1.1. Вступ до оптимізації БД |
Основні питання: основні принципи оптимізації БД, значення оптимізації для продуктивності системи. | |
2 | Тема 1.2. Структура БД та індексація |
Основні питання: оптимізація структури таблиць, використання індексів для покращення швидкості запитів | |
3 | Тема 1.3. Запити та оптимізація запитів |
Основні питання: вплив поганих запитів на продуктивність, оптимізація запитів та використання планувальника запитів. | |
4 | Тема 1.4. Пам'ять та кешування |
Основні питання: використання кешу для покращення продуктивності, оптимізація використання оперативної пам'яті. | |
5 | Тема 1.5. Оптимізація запитів на даних |
Основні питання: робота з великими обсягами даних, оптимізація запитів для оптимального використання ресурсів. | |
6 | Тема 1.6. Тестування та якість програмного забезпечення БД |
Основні питання: тестування та забезпечення якості програмного забезпечення. | |
7 | Тема 2.1. Балансування навантажень та реплікація БД |
Основні питання: способи балансування навантажень в БД, реплікація даних для покращення доступності та продуктивності. | |
8 | Тема 2.2. Оптимізація для високої доступності БД |
Основні питання: заходи для забезпечення високої доступності БД, методи резервного копіювання та відновлення. | |
9 | Тема 3.1. Оптимізація для безпеки даних у БД |
Основні питання: заходи для забезпечення безпеки даних в БД, захист від атак та витоків даних. |
10 | Тема 4.1. Моніторинг та налагодження роботи БД |
---|---|
Основні питання: використання інструментів моніторингу для виявлення проблем та оптимізації, налагодження серверів БД для максимальної продуктивності. | |
11 | Тема 4.2 Кластеризація та обробка помилок |
Основні питання: створення кластерів для забезпечення високої доступності, обробка помилок та відновлення після аварійних ситуацій. | |
12 | Тема 4.3. Оптимізація для великомасштабних проектів |
Основні питання: застосування оптимізаційних підходів для великомасштабних систем та проектів, сучасні тренди в оптимізації БД. | |
13 | Тема 5.1 Впровадження та моніторинг оптимізацій |
Основні питання: процес впровадження виявлених оптимізаційних заходів, моніторинг продуктивності після оптимізації. | |
14 | Тема 5.2 Взаємодія БД з іншими технологіями |
Основні питання: оптимізація взаємодії з іншими технологіями та сервісами, інтеграція БД з додатками і системами зовнішнього середовищ. | |
15 | Тема 6.1 Завершення курсу та перспективи |
Основні питання: підсумки курсу та ключові висновки, перспективи подальшого розвитку та вдосконалення оптимізації БД. |
Лабораторні роботи
|
|
---|---|
1 | Лабораторна робота 1. Оцінка продуктивності БД |
Студенти навчаться вимірювати продуктивності за допомогою інструментів моніторингу | |
2 | Лабораторна робота 2. Оптимізація структури таблиць та індексація |
Студенти навчаться вдосконаленню структури таблиць та створення індексів | |
3 | Лабораторна робота 3. Оптимізація запитів |
Студенти опановуватимуть навички моделювання процесів та структури програмного забезпечення, використовуючи спеціалізовані інструменти | |
4 | Лабораторна робота 4. Використання кешу для оптимізації |
Студенти навчаться налаштувати кешування та вимірювати його вплив | |
5 | Лабораторна робота 5. Оптимізація запитів на великих обсягах даних |
Студенти здобудуть практичні навички оптимізації та тестування запитів на великих обсягах даних | |
6 | Лабораторна робота 6. Оптимізація запитів на великих обсягах даних |
Студенти здобудуть практичні навички оптимізації та тестування запитів на великих обсягах даних | |
7 | Лабораторна робота 7. Забезпечення високої доступності та резервного копіювання |
Студенти проведуть налаштування та тестування заходів для високої доступності та резервного копіювання. | |
8 | Лабораторна робота 8. Забезпечення безпеки даних в БД |
Студенти проведуть налаштування заходів безпеки та вимірювання їхнього впливу на систему | |
9 | Лабораторна робота 9. Моніторинг та налагодження продуктивності |
Студенти використають інструментів моніторингу та налагодження серверів БД | |
10 | Лабораторна робота 10. Кластеризація та відновлення після помилок |
Студенти створять та налагодять кластери, проведуть тестування обробки помилок | |
11 | Лабораторна робота 11. Оптимізація для великомасштабних проектів |
Студенти розроблять та впровадять оптимізацій для зимітованого великомасштабного проекту |
Матеріали до лекційних,практичних занять та лабораторних робіт доступні для завантаження за посиланням: https://classroom.google.com/c/NjIyNjQwNjA1NTg1?cjc=7jo5vcj
Самостійна робота студента
|
|
|
---|---|---|
1 | Підготовка до лабораторних робіт | 38 |
2 | Підготовка до МКР | 10 |
Всього | 48 |
Контрольні роботи
Двогодинна модульна контрольна робота (МКР) поділяється на дві одногодинні (45 хв.), що проводяться під час лекційних занять.
МКР-1 виконується після вивчення тем 1.1 - 2.2. МКР-2 виконується після вивчення тем
3.1 - 4.3. Модульні контрольні роботи виконуються в середовищі Google Classroom у вигляді тестування.
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та практичних заняттях;
модульні контрольні роботи виконуються без застосування допоміжної інформації з Інтернет, дистанційного курсу на платформі Сікорський, конспекта;
заохочувальні бали виставляються за навчальну активність на лекційних заняттях. Кількість заохочуваних балів не більше 10;
штрафні бали виставляються за невчасну здачу лабораторних робіт. Кількість штрафних балів не більше 10;
політика щодо академічної доброчесності: Кодекс честі Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського» https://kpi.ua/files/honorcode.pdf встановлює загальні моральні принципи, правила етичної поведінки осіб та передбачає політику академічної доброчесності для осіб, що працюють і навчаються в університеті, якими вони мають керуватись у своїй діяльності, в тому числі при вивченні та складанні контрольних заходів з дисципліни «Інженерія даних».
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Поточний контроль: МКР, виконання та захист лабораторних робіт. Календарний контроль: проводиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу. Семестровий контроль: залік. Рейтинг студента з дисципліни складається із балів стартового рейтингу (протягом семестру). Бали стартового рейтингу протягом семестру студент отримує за:
виконання та захист лабораторних робіт; виконання модульних контрольних робіт (МКР).
Система рейтингових балів та критерії оцінювання Лабораторні роботи
«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної
інформації) та оформлений належним чином протокол до лабораторної роботи – 8 балів;
«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином протокол до лабораторної роботи –
6 балів; «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином протокол до лабораторної роботи – 4 балів; «незадовільно», незадовільна відповідь та/або не оформлений належним чином протокол до лабораторної роботи – 0 балів.
За кожне запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.
Модульні контрольні роботи
«відмінно», не менш ніж 90% правильних відповідей – 6 балів; «добре», не менш ніж 75% правильних відповідей – 4 балів; «задовільно», не менш ніж 60% правильних відповідей –
2 балів; «незадовільно», менш ніж 60% правильних відповідей – 0 балів.
Заохочувальні бали
за активну роботу на лекційному занятті 1 бал, але в сумі не більше 10.
Штрафні бали
Запізнення з поданням лабораторної роботи до захисту від встановленого терміну -1 бал, але в сумі не більше -10
Календарний контроль
На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 16 балів. На другій атестації (14-й тиждень) студент отримує
«зараховано», якщо його поточний рейтинг не менший ніж 32 балів.
Максимальна сума балів контрольних заходів протягом семестру складає: RD = 11*rлаб+2*rмкр=11*8+2*6=100,
де
rлаб – бал за лабораторну роботу (0…8); rмкр – бал за написання МКР (0…6)
Форма семестрового контролю – Залік
Необхідною умовою заліку є виконання одночасно усіх видів робіт:
1) виконати МКР-1 та МКР-2 не нижче ніж на оцінку «задовільно»; 3) захист усіх лабораторних робіт на оцінку не нижче ніж «задовільно»;
Залік проводиться на останньому за розкладом занятті в семестрі. Якщо стартовий рейтинг протягом семестру становить 60 балів та вище, залікова оцінка, за згодою студента, переноситься в залікову відомість.
У випадку, коли семестровий рейтинг нижчий за 60 балів (усі види робіт виконані) або рейтинг вищий за 60 балів, але студент виявив бажання підвищити оцінку - призначається залікова контрольна робота. Залікова контрольна робота виконуються в середовищі Google Classroom у вигляді тестування.
Система оцінювання залікової контрольної роботи
«відмінно», не менш ніж 90% правильних відповідей – 20 балів; «добре», не менш ніж 75% правильних відповідей – 16 балів; «задовільно», не менш ніж 60% правильних відповідей
– 12 балів; «незадовільно», менш ніж 60% правильних відповідей – 0 балів.
Сума стартових балів плюс бали за залікову контрольну роботу переводиться до залікової оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
|
|
---|---|
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Робочу програму навчальної дисципліни (Силабус):
Складено: ст. викл. кафедри інформаційних систем та технологій ФІОТ, к.т.н., Галушко Дмитро Олександрович
Ухвалено кафедрою інформаційних систем та технологій ФІОТ (протокол № 21 від 29.06.2023 р.)
Погоджено Методичною комісією факультету (протокол № 11 від 29.06.2023 р.)