Як оптимізувати базу даних: лекція від стейкхолдера
На кафедрі інженерії програмного забезпечення тривають зустрічі із стейкхолдерами – фахівцями з розробки та супроводу програмного забезпечення. Такі нововведення в навчальний процес кафедри інженерії програмного забезпечення Інституту інформаційних технологій в повній мірі відповідають новим трендам й тенденціям вищої освіти в Україні та світі у галузі інформаційних та програмних технологій. Адже вони зосереджені на сутності навчання, що ґрунтується на реальних програмних прикладах та поєднує теоретичний матеріал з фаховим професійним досвідом діючих експертів галузі.
Нещодавно студенти кафедри інженерії програмного забезпечення ІІТ прослухали лекцію в межах навчального курсу «Теорія реляційних та нереляційних баз даних» та роботи студентського наукового гуртка «Сучасні інформаційно-програмні інновації» (лектор – доц. Роман ВОВК) від стейкхолдера Андрія ХАМУРДИ, представника Database Engineer (Consultant) від компанії Sierentz Global Merchants.
Основний акцент лекції зроблено на розгляді методів оптимізації запитів та оптимізації роботи баз даних реляційного типу в цілому. Серед основних аспектів висвітлення теми:
Оптимізації на рівні запиту, використання індексів, технології EXPLAIN, ANALYZE, правильний розподіл даних.
Правильне використання індексів для полів PRIMARY KEY, FOREIGN KEY, полів, що містять WHERE і ORDER BY.
Оптимізації на рівні таблиць: рівень нормалізації, MATERIALIZED VIEW, використання віртуальних колонок, поняття PARTITIONING.
Використання типів TEXT/DATE+TIME/TIMESTAMP/ TIMESTAMPTZ, JSON/JSONB, ENUM, UUID.
Правила оптимізації на рівні СУБД, правильного налаштування змінних (оперативної пам’яті на один запит, максимальної кількості з’єднань, розміру кеша тощо) та з’єднань.
Оптимізації на рівні сервісу, кількості даних, що вибираються під час запиту, застосування процесу пагінації, кількості запитів, їх кешування, тривалість транзакцій.
Оптимізації на рівні архітектури, правил кешування даних, розподілення джерел інформації.
Оптимізації на рівні топології, реплікації, High availability, Back-ups.
Оптимізації на рівні індексів, тип даних для індексів, функціональні індекси, сортування по індексах.
Тож під час лекції студенти дізналися, що оптимізація може виконуватися на різних рівнях, а саме: запиту, таблиці, СУБД, сервісу, архітектури, апаратного забезпечення, використанні індексів. Студенти отримали багато прикладів практичного застосування різних методик оптимізації роботи баз даних.
Лекція була максимально корисною для поглиблення практичних знань, вмінь та навичок з оптимізації бази даних для студентів спеціальності 121 – «Інженерія програмного забезпечення».