Тип работы:
Предмет:
Язык работы:


Разработка имитационной модели системы эффективных блокировок в централизованных базах данных

Работа №67304

Тип работы

Магистерская диссертация

Предмет

информатика

Объем работы60
Год сдачи2020
Стоимость5560 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
221
Не подходит работа?

Узнай цену на написание


Введение 3
1 Проблемы управления параллельными транзакциями в централизованных базах данных 6
1.1 Блокировка как способ обеспечения одновременного
доступа к ресурсам баз данных 6
1.2 Задачи использования блокировок в базах данных 8
1.3. Транзакции и блокировки в базах данных 16
Выводы 21
2 Стратегии, методы и алгоритмы тестирования и проектирования системы блокировок баз данных 22
2.1 Использование уровней изоляции транзакций для
изменения блокировок 22
2.2 Структура тестового приложения для эмуляции запросов
с блокировками 23
2.3 Описание программы для эмуляции тестовой среды 28
2.4 Интерпретация результатов проведенного эксперимента
38 Выводы 41
Заключение 43
Библиографический список

На текущий день повсеместно используются различные базы данных, различающиеся функционалом и набором инструментария, а также методами размещения. Существуют распределенные и централизованные базы данных. В последнем случае база данных размещается на одном носителе или ЭВМ.
В работе с централизованными базами данных часто возникают задачи увеличения скорости доступа к их ресурсам или возможности параллельной работы нескольких пользователей.
При обычной работе транзакции в базах данных используют стандартные механизмы блокировки ресурсов. Такой подход действительно помогает транзакциям не влиять на работу друг друга и обеспечивает некоторую параллельность. Но также, ко всему прочему, при использовании стандартных механизмов блокировок (или уровней изоляции транзакций) в больших и/или сложных структурах базах данных такой подход лишь замедлит работу с ней.
СУБД включает механизмы управления блокировками. Последние могут быть адаптированы под конкретные задачи, обращающиеся к базам данных. Так как можно вручную изменять и настраивать необходимые блокировки, то делать это следует только удостоверившись в стабильности своего метода, так как изменение стандартных алгоритмов блокировок может вызвать некорректное выполнение запросов.
Поэтому актуальной научно-практической задачей является разработка системы эффективных блокировок в централизованных базах данных, которая бы обеспечивала максимальный параллелизм и уменьшая уровень эскалации блокировки, при условии сохранения согласованности баз данных.
Цель работы - разработать алгоритм собственного механизма блокировок в централизованных базах данных.
Гипотеза исследования: достижения максимального параллелизма при работе запросов и транзакций в базе данных будет достигнуто, если:
- на блокируемые запросом ресурсы будет накладываться минимально возможный уровень эскалации блокировки;
- запросы и транзакции не будут вызывать взаимные блокировки;
- длительность блокировки ресурсов будет минимальной.
Для реализации поставленной цели необходимо выполнить следующие задачи:
- проанализировать современные подходы к блокировкам в базах данных;
- выявить ключевую задачу для блокировки ресурсов базы данных;
- разработать механизм адаптивных блокировок для централизованных баз данных;
- провести эксперимент по интеграции собственного механизма блокировок в работу крупной базы данных.
Объектом исследования является централизованная база данных с ручным механизмом блокировки.
Предметом исследования является механизм эффективных блокировок в централизованной базе данных.
Практическим результатом магистерской диссертации является сформулированный алгоритм механизма эффективных блокировок для централизованных баз данных, который отличается от стандартных автоматических блокировок тем, что базируется на использовании в определенных структурах организации данных, что намного эффективнее.
Структура диссертации: работа состоит из введения, двух глав, заключения и списка литературы.
В первой главе рассмотрены проблемы использования блокировок в базах данных, описана технология блокировок в различных СУБД, рассмотрены примеры реализаций блокировок.
Вторая глава посвящена описанию собственного механизма блокировок в централизованных базах данных, а также описание проведенного эксперимента по внедрению такого алгоритма и выявления его преимуществ.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате данного исследования для проведенных экспериментов была разработана тестовая среда, используя современные методы тестирования и разработки приложений. Созданные генераторы могли выполняться параллельно с помощью технологии .Net framework языка программирования C#. Были протестированы генераторы запросов, которые успешно справились с задачей - имитацией наплыва запросов. Были проведены серии экспериментов, чтобы выявить отличия во времени выполнения автоматических и ручных блокировок. А также при разном количестве клиентов.
Итогом стало создание полностью рабочего стенда для проведения экспериментов для блокировок. И результатом работы стэнда стало получение результата того, что ручные блокировки при использовании блокировки страницы существенно уменьшают в два раза время выполнения запросов на обновление и удаление данных.
В дальнейшем исследование можно использовать для поиска более сложных механизмов ручных блокировок, адаптируемых к конкретной структуре баз данных, а также выявление возможных ошибок в уже найденном алгоритме ручной блокировки на большем количестве запросов.



1. Аникин Н.А. Метод определения порядка сериализации транзакций в системах управления базами данных, использующих протокол строгой двухфазной блокировки // Труды МАИ. 2011. № 42. С. 19.
2. Богатырев В.А. Отказоустойчивость распределенных вычислительных систем динамического распределения запросов и размещение функциональных ресурсов // Наука и образование: научное издание МГТУ им. Н.Э. Баумана. 2006. № 1. С. 1.
3. Богатырев В.А., Богатырев А.В. Оптимизация резервированного распределения запросов в кластерных системах реального времени // Информационные технологии. 2015. Т. 21. № 7. С. 495-502.
4. Богатырев В.А., Голубев И.Ю., Нестеров Д.А. Выбор вариантов организации распределения запросов в системах предоставления информационных услуг // Технико-технологические проблемы сервиса. 2013. № 1 (23). С. 43-46.
5. Богатырев В.А., Паршутина С.А. Многопутевое резервированное распределение через сеть критичных к задержкам запросов // Вестник компьютерных и информационных технологий. 2016. № 10 (148). С. 41-46.
6. Васильев А.П., Степанов С.Н. Исследование математической модели с динамическим распределением канального ресурса при групповом поступление запросов на передачу данных // В сборнике: Технологии информационного общества X Международная отраслевая научно-техническая конференция: сборник трудов. 2016. С. 16.
7. Герасимов А.А., Тихомирова А.Н. Проектирование транзакционной изолированности в различных типах приложений на примере базы данных Microsoft SQL Server // Молодежный научный вестник. 2017. № 6 (18). С. 145-154.
8. Головинский И.А. Блокировки автоматов групп. II. Взаимные блокировки // Известия Российской академии наук. Теория и системы управления. 2009. № 2. С. 72-83.
9. Голубев И.Ю., Богатырев В.А. Оптимизация распределения запросов в системе кластеров при сочетании аналитического и имитационного моделирования // Научно-технический вестник информационных технологий, механики и оптики. 2012. № 5 (81). С. 79-83.
10. Григорьев Ю.А. Организация базы данных в программном комплексе анализа характеристик производительности распределённых систем обработки данных // Наука и образование: научное издание МГТУ им. Н.Э. Баумана. 2012. № 2. С. 39.
11. Григорьев Ю.А., Плутенко А.Д., Бурдаков А.В., Цвященко Е.В. Анализ процессов согласования версий записей в базах данных NOSQL // Радиопромышленность. 2017. № 4. С. 125-134.
12. Евсеев Г.С., Лесникова О.С. Модель взаимодействия потоков транзакций на SQL-сервере // В сборнике: НАУЧНАЯ СЕССИЯ ГУАП Сборник докладов: в 3 частях. Под общей редакцией Ю. А. Антохиной. 2015. С. 197-200.
13. Ларкин Е.В., Ивутин А.Н. Определение временных интервалов в алгоритмах управления // Известия Томского политехнического университета. 2014. Т. 324. № 5. С. 6-12.
14. Лебеденко Е.В. Разработка алгоритма оптимального планирования распределения запросов в системах распределенного моделирования // Системы управления и информационные технологии. 2007. Т. 27. № 1-2. С. 240-243.
15. Мазеин К.В., Поняшова А.С., Безносов П.П., Козырь А.А., Храмов С.В. Причины блокировок в системе 1C: Предприятие и методы борьбы с ними // Аллея науки. 2017. Т.
1. № 12. С. 247-254.
16. Минязев Р.Ш. Распределение потока запросов в параллельных субд на платформе вычислительных кластеров // Нелинейный мир. 2012. Т. 10. № 3. С. 173-179.
17. Михеичев В. Взаимоблокировки Deadlock-сессий в Oracle // Системный администратор. 2016. № 3 (160). С. 38-42.
18. Михеичев В. Мониторинг блокировок в Oracle часть
2. Практический опыт диагностики блокировок // Системный администратор. 2015. № 12 (157). С. 41-43.
19. Михеичев В. Мониторинг блокировок в Oracle. Методы предупреждения и автоматического устранения // Системный администратор. 2015. № 4 (149). С. 30-34.
20. Омельяненко М.В., Папинашвили В.Г. Решение проблем параллельной обработки транзакций и выход из тупиковых ситуаций в базах данных // Молодой ученый. 2017. № 9 (143). С. 31-34.
21. Пулатов Ю.Г. Сравнение методов оптимистической и пессимистической блокировки при параллельном доступе к ресурсу базы данных // Решетневские чтения. 2018. Т. 2. С. 289-290.
22. Ризаев И.С., Кладиев А.В., Клевин А.С. Повышение эффективности выполнения транзакций при распределенной обработке данных // Вестник Казанского государственного технического университета им. А.Н. Туполева. 2004. № 4. С. 41-45.
23. Скоба А.Н., Логанчук М.Л. Математическая модель функционирования распределённой информационной системы на базе архитектуры "файл - сервер" с учётом влияния блокировок // Инженерный вестник Дона. 2015. № 3 (37). С. 68.
24. Табличные указания (Transact-SQL) // Microsoft.
Документация по SQL URL:
https://docs.microsoft.com/ru-ru/sql/t-sql/queries/hints-transact- sql-table?view=sql-server-ver15 (дата обращения: 26.03.20).
25. Транзакции и блокировки // Технологии баз данных:
SQL, T-SQL, PL/SQL, реляционные БД URL:
http://datasql.ru/basesql/16.htm (дата обращения: 16.03.2020).
26. Уровни изоляции // Professor Web URL:
https://professorweb.ru/my/sql-server/2012/level3/3_16.php (дата обращения: 26.03.20).
27. Форд Т. Анализ времени ожидания блокировок // Windows IT Pro/ RE. 2016. № 12. С. 46.
28. Черноморов Г.А. Модель функционирования корпоративной информационной системы централизованной архитектуры с учетом блокировок транзакций // Известия высших учебных заведений. Северо-Кавказский регион. Технические науки. 2003. № 2. С. 33-40.
29. All about locking in SQL Server // SQLShack URL: https://www.sqlshack.com/locking-sql-server/ (дата обращения: 26.03.20).
30. Beomseok Nam, Minho Shin, Henrique Andrade, Alan Sussman Multiple query scheduling for distributed semantic caches // Journal of Parallel and Distributed Computing, Volume 70, Issue 5, May 2010, Pages 598-611
31. D. Agrawal, A. Elabbadi Constrained Shared Locks for Increasing Concurrency in Databases // Journal of Computer and System Sciences Volume 51, Issue 1August 1995 Pages 53-63
32. Divyakant Agrawal, Amr El Abbadi Ordered sharing: A new lock primitive for database systems // Information Systems Volume 20, Issue 5 July 1995 Pages 361-392
33. Emanuele Carlini, Alessandro Lulli, Laura Ricci dragon: Multidimensional range queries on distributed aggregation trees // Future Generation Computer Systems, Volume 55, February 2016, Pages 101-115
34. G. Lausen, E. Soisalonsoininen Safety by Uninterpreted Locks // Information and Computation Volume 117, Issue 115 February 1995 Pages 37-49
35. Gray, Jim & Reuter, Andreas Distributed Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. 375-437 с.
36. Hassen Fadoua, Touzi Grissa Amel Smart Query Optimization Approach In Distributed Environment // Procedia Computer Science, Volume 126, 2018, Pages 355-362
37. Iacob (Ciobanu) Nicoleta - Magdalena Distributed Queries in the E-learning Environment // Procedia - Social and Behavioral Sciences, Volume 28, 2011, Pages 241-245
38. Nikolay Golov, Lars Ronnback Big Data normalization for massively parallel processing databases // Computer
Standards & Interfaces Volume 54, Part 2 November 2017 Pages 86-93
39. Qin Xiao, Pang Li-Ping, Liu Jie, Li Sheng-Li Scheduling Real-Time Multi-Granularity Locks in Object-Oriented Database Systems // IFAC Proceedings Volumes Volume 31, Issue 14 June 1998 Pages 159-160
40. Takayuki Usui, Reimer Behrends, Jacob Evans, Yannis Smaragdakis Adaptive locks: Combining transactions and locks for efficient concurrency // Journal of Parallel and Distributed Computing Volume 70, Issue 10 October 2010 Pages 1009-1023
41. Vikash Mishra, Vikram Singh Generating Optimal Query Plans for Distributed Query Processing using Teacher¬Learner Based Optimization // Procedia Computer Science, Volume 54, 2015, Pages 281-290
42. W Jun Semantic-based locking technique in object- oriented databases // Information and Software Technology Volume 42, Issue 815 May 2000 Pages 523-531
43. Weipeng Jing, Dongxue Tian An improved distributed storage and query for remote sensing data // Procedia Computer Science, Volume 129, 2018, Pages 238-247
44. Wenjie Liu, Zhanhuai Li An efficient theta-join query processing in distributed environment // Journal of Parallel and Distributed Computing, Volume 121, November 2018, Pages 42¬52
45. Wojciech Cellary, Waldemar Wieczerzycki Locking in DAG-structured databases // Microprocessing and Microprogramming Volume 39, Issues 2-5 December 1993 Pages 161-164
46. Xiaoyong Li, Yijie Wang, Xiaoling Li, Xiaowei Wang, Jie Yu GDPS: An Efficient Approach for Skyline Queries over Distributed Uncertain Data // Big Data Research, Volume 1, August 2014, Pages 23-36
47. Yonggoo Choi, Songchun Moon Lightweight multigranularity locking for transaction management in XML database systems // Journal of Systems and Software Volume 78, Issue 1 October 2005 Pages 37-46
48. Yongluan Zhou, Beng Chin Ooi, Kian-Lee Tan, Wee Hyong Tok An adaptable distributed query processing architecture // Data & Knowledge Engineering, Volume 53, Issue 3, June 2005, Pages 283-309


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ