КОМБІНОВАНИЙ МЕТОД ПАРТИЦІЮВАННЯ ТА ІНДЕКСУВАННЯ ДАНИХ ДЛЯ ПІДВИЩЕННЯ ЕФЕКТИВНОСТІ OLTP/OLAP СИСТЕМ - СОЛОГУБ, ВОЛОДИМИР; ПАШКЕВИЧ, ВОЛОДИМИР (Herald of Khmelnytskyi National University. Technical sciences, 2025)
Стаття присвячена вирішенню однієї з ключових проблем сучасних інформаційних систем — забезпеченню ефективної одночасної обробки транзакційних (OLTP) та аналітичних (OLAP) навантажень. Така потреба є критично важливою для бізнесу, що вимагає прийняття рішень на основі даних у реальному часі. Проведено глибокий аналіз обмежень традиційних підходів. З одного боку, системи, що покладаються виключно на індексування, демонструють високу продуктивність для точкових OLTP-запитів, але суттєво деградують при виконанні складних аналітичних запитів через значні накладні витрати на підтримку індексів та неефективне сканування даних. З іншого боку, стратегії, засновані лише на партиціюванні, хоч і прискорюють OLAP-запити шляхом відсікання зайвих блоків даних, часто є недостатньо гнучкими для швидкого доступу до окремих рядків, що є типовим для OLTP-операцій. Для подолання цих недоліків розроблено комбінований метод, що поєднує дворівневе партиціювання даних з адаптивною стратегією індексування. Перший рівень партиціювання виконується за часовим критерієм, що дозволяє логічно відокремити «гарячі» (актуальні) дані від «холодних» (історичних). Другий рівень, що застосовується в межах кожної часової партиції, базується на категоріальному критерії (наприклад, регіон, тип продукту), що додатково локалізує дані. Ключовою особливістю методу є адаптивне індексування: для активних, часто змінюваних партицій застосовуються легкі некластеризовані індекси, що мінімізують накладні витрати на операції запису (INSERT, UPDATE, DELETE). У той же час, для історичних партицій, які переважно використовуються для читання, індекси автоматично трансформуються у стовпцеві (column-store), що ідеально підходять для OLAP-запитів, оскільки забезпечують високий рівень компресії та мінімізують обсяг зчитування з диска. Для автоматизації життєвого циклу даних розроблено алгоритм, що динамічно управляє створенням нових партицій та зміною типів індексів. Алгоритм працює на основі заданих граничних значень, таких як обсяг даних у партиції та інтенсивність звернень, автоматично переводячи партиції зі стану «активних» у «історичні». Ефективність розробленого підходу була підтверджена експериментальним аналізом на синтетичній моделі даних, що імітувала діяльність великої торгової мережі. Результати показали, що комбінований метод дозволив досягти кількаразового прискорення виконання складних OLAP-запитів у порівнянні з системами, що використовують лише індекси або лише партиціювання, при цьому зберігши високу пропускну здатність для транзакційних операцій на рівні спеціалізованих OLTP-систем. Таким чином, розроблений метод забезпечує оптимальний баланс між швидкодією та масштабованістю, усуваючи конфлікт між двома типами навантажень, і може бути рекомендований для впровадження у сучасних високопродуктивних гібридних системах, де аналітика в реальному часі є бізнес-вимогою.