Як оптимізувати базу даних: лекція від стейкхолдера

На кафедрі інженерії програмного забезпечення тривають зустрічі із стейкхолдерами – фахівцями з розробки та супроводу програмного забезпечення. Такі нововведення в навчальний процес кафедри інженерії програмного забезпечення Інституту інформаційних технологій в повній мірі відповідають новим трендам й 3тенденціям вищої освіти в Україні та світі у галузі інформаційних та програмних технологій. Адже вони зосереджені на сутності навчання, що ґрунтується на реальних програмних прикладах та поєднує теоретичний матеріал з фаховим професійним досвідом діючих експертів галузі.

Нещодавно студенти кафедри інженерії програмного забезпечення ІІТ прослухали лекцію в межах  навчального курсу «Теорія реляційних та нереляційних баз1 даних» та роботи студентського наукового гуртка «Сучасні інформаційно-програмні інновації» (лектор – доц. Роман ВОВК) від стейкхолдера Андрія ХАМУРДИ, представника 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.

  • Оптимізації на рівні індексів, тип даних для індексів, функціональні індекси, сортування по індексах.

2Тож під час лекції студенти дізналися, що оптимізація може виконуватися на різних рівнях, а саме: запиту, таблиці, СУБД, сервісу, архітектури, апаратного забезпечення, використанні індексів.  Студенти отримали багато прикладів практичного застосування різних методик оптимізації роботи баз даних.

Лекція була максимально корисною для поглиблення практичних знань, вмінь та навичок з оптимізації бази даних для студентів спеціальності 121 – «Інженерія програмного забезпечення».

 

  • 1
  • 2
  • 3