Введение 4
Постановка задачи 5
Обзор литературы 6
Глава 1. Проблема оптимальной настройки распределенной системы баз данных 7
1.1 Основные свойства распределенных систем баз данных 7
1.2 Распределенные системы управления базами данных и их показатели
эффективности 8
1.3 Сложности оптимальной настройки распределенной системы баз
данных 9
Глава 2. Архитектура самонастраивающихся распределенных систем управления базами данных 11
2.1 SQL-on-Hadoop системы 11
2.2 Реляционные и No-SQL распределенные системы 13
2.3 Выводы 15
Глава 3. Инструменты и методы самонастройки распределенных систем баз данных 17
3.1 Разбор некоторых реализаций методов и алгоритмов самонастройки .. 17
3.1.1 Алгоритм настройки в Starfish 17
3.1.2 Алгоритм настройки в iBTune 19
3.2 Основные методы самонастраивающихся систем баз данных 21
3.2.1 Эвристические методы 21
3.2.2 Методы на основе Байесовской оптимизации 22
3.2.3 Методы на основе глубокого обучения 23
3.2.4 Методы на основе обучения с подкреплением 24
3.2.5 Методы на основе моделирования или симулирования 25
3.3 Обзор некоторых инструментов самонастройки систем баз данных 25
3.6 Выводы 28
Глава 4. Реализация самонастраивающейся распределенной системы
управления базами данных 30
4.1 Архитектура системы 30
4.1 Реализация системы 32
4.3 Анализ эффективности реализованной системы 33
4.4 Выводы 35
Заключение 37
Список литературы 38
На сегодняшний день распределенные системы управления базами данных являются стандартом в больших информационных проектах. Они позволяют хранить и обрабатывать огромные объемы данных с повышенной надежностью и эффективностью.
Современные распределенные системы управления базами данных имеют множество конфигурационных настроек. Установка соответствующих значений для этих настроек имеет решающее значение, для обеспечения высокой пропускной способности и низкой задержки распределенной системы управления базами данных (РСУБД). Настройка параметров конфигурации, которые оптимизируют производительность баз данных является NP-трудной задачей. Ручная настройка иногда не справляется с различными нагрузками и аппаратными средами, особенно когда рабочая нагрузка сильно изменяется на протяжении дня. Поэтому автоматическая настройка конфигурации вызывает большой интерес как в научных кругах, так и в промышленности.
Было проведено исследование самонастраивающихся распределенных систем управления базами данных. Исследованы проблемы оптимальной настройки распределенной системы управления базами данных. Изучены существующие методы самонастройки систем баз данных. Изучены архитектурных решений самонастраивающихся распределенных систем баз данных. Произведено сравнение методов самонастройки систем баз данных. Реализована собственная самонастраивающаяся распределенная система баз данных. Произведен анализ эффективности реализованной системы. Все задачи, сформулированные перед началом работы, были выполнены в полном объёме. Поставленные цели в ходе работы были достигнуты.
В дальнейшей работе стоит произвести улучшение алгоритма самонастройки дополнительными методами оптимизации, и реализовать его на более эффективном языке программирования.
[1] An introduction to database systems 8th edition by Date, C. J.
[2] Eric A. Brewer. Towards robust distributed systems. (Invited Talk) Principles of Distributed Computing, Portland, Oregon, July 2000.
[3] Официальный сайт Hadoop. [Электронный ресурс] URL: https://hadoop.apache.org (дата обращения 23.05.2024)
[4] Herodotos Herodotou, Harold Lim, Gang Luo, Nedyalko Borisov, Liang Dong, Fatma Bilgen Cetin, and Shivnath Babu. 2011. Starfish: A self-tuning system for big data analytics. In Proceedings of the 5th Biennial Conference on Innovative Data Systems Research (CIDR’11). 261-272
[5] J. Tan, T. Zhang, F. Li, and et al. ibtune: Individualized buffer tuning for large- scale cloud databases. VLDB, 2019
[6] C. Berthet. Approximation of LRU caches miss rate: Application to power-law popularities. arXiv:1705.10738, 2017
[7] Z. Xinyi, C. Zhuo L. Yang, W. Hong, L. Feifei, C. Bin. Facilitating Database Tuning with Hyper-Parameter Optimization: A Comprehensive Experimental Evaluation. Proceedings of the VLDB Endowment. 1808-1821. 2022
[8] X. Zhao, X. Zhou and G. Li, "Automatic Database Knob Tuning: A Survey," in IEEE Transactions on Knowledge and Data Engineering, vol. 35, no. 12, pp. 12470-12490, 1 Dec. 2023
[9] Y. Zhu and et al. Bestconfig: tapping the performance potential of systems via automatic configuration tuning. In SoCCer, 2017
[10] X. Zhang, H. Wu, Y. Li, and et al. Towards dynamic and safe configuration tuning for cloud databases. In SIGMOD, 2022
[11] H. Herodotos, C. Yuxing, L. Jiaheng. A Survey on Automatic Parameter Tuning for Big Data Processing Systems. ACM Computing Surveys. 1-37. 2020
[12] Документация Patroni [Электронный ресурс]. URL:
https://patroni.readthedocs.io/en/latest/README.html (дата обращения
[13] Официальный репозиторий Patroni [Электронный ресурс]. URL: https://github.com/zalando/patroni/tree/master (дата обращения 23.05.2024)
[14] Репозиторий с кодом реализации системы [Эдектронный ресурс]. URL:
https://github.com/Lixerus/self-tune-postgreSQL-cluster (дата обращения
23.05.2024)
[15] Официальная документация pgbench [Электронный ресурс]. URL:
https://www.postgresql.org/docs/current/pgbench.html (дата обращения
23.05.2024)
[16] Открытый репозиторий c кодом Sysbench [Электронный ресурс]. URL: https://github.com/akopytov/sysbench (дата обращения 23.05.2024)
[17] Открытый репозиторий c кодом DDPG [Электронный ресурс]. URL:
https://github.com/evolveDB/tuning-survey/tree/main (дата обращения
23.05.2024)
[18] Офицальный сайт Docker [Электронный ресурс]. URL:
https://www.docker.com (дата обращения 23.05.2024)