Настоящая работа посвящена исследованию автоматической оптимизации конфигурации кластера распределенной базы данных Apache Ignite. В ходе работы разработана утилита командной строки для автоматизированной настройки конфигурации с учетом особенностей оборудования, анализа хранимых данных и требований к системе.
Предмет исследования: автоматизация конфигурирования Apache Ignite.
Цель работы: разработка утилиты для упрощения администрирования Apache Ignite с акцентом на эффективное использование ресурсов.
Методы и методология: анализ существующих решений, разработка оптимизатора с использованием эвристического анализа и машинного обучения (OpenTuner), тестирование на различных конфигурациях кластеров.
Результаты: создана утилита, позволяющая автоматически анализировать и подбирать параметры конфигурации Apache Ignite, что ускоряет процесс настройки и повышает производительность.
Область применения: администрирование кластеров Apache Ignite, автоматизация настройки СУБД.
Выводы: предложенная утилита упрощает процесс конфигурации и помогает неопытным администраторам достичь оптимальной настройки системы быстрее, чем при ручной настройке.
Введение ........................................................................................................ 8
Глава 1. Сравнительный анализ инструментов оптимизации баз данных .... 11
1.1. Обзор СУБД Apache Ignite ..................................................................... 11
1.2. Анализ существующих продуктов.......................................................... 12
1.2.1. Анализ инструмента оптимизации DB2 Advisor ................................. 12
1.2.2. Анализ инструмента оптимизации Ottertune....................................... 13
1.2.3. Анализ инструмента оптимизации CDBTune ...................................... 13
1.2.4. Анализ инструмента оптимизации PGTune ......................................... 13
1.2.5. Анализ инструмента оптимизации DBTune......................................... 14
1.3. Критерии для сравнения......................................................................... 14
1.4. Обзор фреймворка для оптимизации программ OpenTuner .................. 15
1.5. Выводы .................................................................................................... 16
Глава 2. Разработка решения для автоматизированной оптимизации Apache
Ignite ..................................................................................................... 17
2.1. Обзор предлагаемого решения............................................................... 17
2.1.1. Методы оптимизации........................................................................... 18
2.1.2. Диаграмма вариантов использования.................................................. 19
2.1.3. Диаграмма состояний .......................................................................... 19
2.1.4. Диаграмма классов .............................................................................. 21
2.2. Минусы предлагаемого решения............................................................ 23
2.3. Выводы .................................................................................................... 24
Глава 3. Реализация программного решения для оптимизации конфигурации
Apache Ignite......................................................................................... 25
3.1. Выбор технологий ................................................................................... 25
3.2. Обзор исходных кодов реализации ........................................................ 26
3.2.1. ignite-cli ................................................................................................ 26
3.2.2. ignite-rest-api ........................................................................................ 29
3.2.3. ignite-rest .............................................................................................. 30
3.2.4. ignite-optimiser ..................................................................................... 30
3.3. Выводы .................................................................................................... 32
Глава 4. Тестирование и результаты апробации оптимизатора..................... 34
4.1. Модульное тестирование ........................................................................ 34
4.2. Интеграционное тестирование ............................................................... 34
4.3. Функциональное тестирование............................................................... 35
4.4. Защита данных........................................................................................ 36
4.5. Апробация............................................................................................... 36
4.6. Дальнейшее развитие.............................................................................. 39
4.7. Выводы .................................................................................................... 40
Заключение .................................................................................................... 41
Список использованных источников............................................................. 42
Приложение 1. Исходный код приложения ................................................... 44
Приложение 2. Исходный код тестов приложения........................................ 91
Приложение 3. Конфигурации кластеров использованные при апробации . 98
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. AI-powered database tuning. — URL: (дата обращения: 28.01.2025).
2. Ansel J. OpenTuner Github. — URL: (дата обращения: 28.01.2025).
3. Ansel J., Kamil S., Veeramachaneni K. OpenTuner: An Extensible Framework for Program Autotuning // Proceedings of the 23rd International Conference on Parallel Architectures and Compilation. — Edmonton, AB, Canada: Association for Computing Machinery, 2014. — С. 303—316. — (Сер.: PACT 14). — DOI 10.1145/2628071. 2628092. — URL:
4. Apache Ignite Documentation. — URL: (дата обращения: 28.01.2025).
5. Bosboom J., Rajadurai S., Wong W. StreamJIT: A Commensal Compiler for High-performance Stream Programming // SIGPLAN Not. — New York, NY, USA, 2014. — Т. 49, № 10. — С. 177—195. — DOI 10.1145/2714064.2660236. — URL:
6. Chen C. CDBTune Github. — URL: (дата обращения: 28.01.2025).
7. Db2 Design Advisor. — URL: h (дата обращения: 28.01.2025).
8. DBEngines Ranking. — URL: (дата обращения: 28.01.2025)
всего 18 источников