Анализ эффективности и построение системы журнализации баз данных, дипломная работа по информатике
Получите бесплатно демо-версию Демо-версия - дипломная работа, в котрой удалена часть текста, рисунков, таблиц.Посмотреть все услуги дипломной работы на электронную почту.
Введите адрес электронной почты и нажмите "Отправить"
Описание
Работа подготовлена и защищена в 2017 году.
Одним из главных требований к СУБД является надежное хранение данных в используемой памяти. Надежность хранения представляет под собой то, что СУБД обязана уметь восстанавливать крайнее успешное состояние БД в случае экстренного или программного сбоя. Часто изучаются пара возможных вариантов сбоев: мягкие сбои, включающие преждевременную остановку работы ПК (к примеру, аварийное прекращение питания), а также жесткие сбои, которые несут в себе потерю данных на устройствах внешней памяти. Яркими примерами программных сбоев являются аварийные завершения работы СУБД (ввиду программной ошибки или отдельного аппаратного сбоя) или экстренное завершение работы ПО, по итогу которого отдельная транзакция не проходит. Первую ситуацию часто описывают как особый вид мягкого аппаратного сбоя; в случае реализации последней нужно устранить лишь последствия одной транзакции.
Обычно для восстановления БД надо иметь некоторые дополнительные данные. Другими словами, поддержка рабочего состояния данных в БД требует некой избыточности хранения информации, причем ту часть, которую будут использовать для восстановления, нужно помещать очень надежно. Самый популярный метод реализации такой избыточной информации – использование журнала корректировок БД.
Журнал - это исключительная часть БД, которая не доступна пользователям СУБД и особо тщательно поддерживается (зачастую имеются две копии журнала, которые расположены на разных физических дисках), это часть, в которую заносятся записи всех проделанных изменений основной части БД. В разных СУБД корректировки БД отражаются на разных уровнях: зачастую запись в журнале противопоставляется логической операции корректировки БД (к примеру, удаление строки внутри реляционной БД), а частенько запись соотносится с минимальной внутренней операции изменения страницы внешней памяти. В отдельных системах зачастую применяются сразу оба подхода.
Нередко придерживаются стратегии "упреждающей" записи в журнал (протокола Write Ahead Log - WAL). Подобная стратегия состоит в том, что запись о корректировке любого объекта БД попадает во внешнюю память журнала несколько раньше, чем модифицированный объект переводится во внешнюю память главной части БД. Понятно, что если в СУБД верно соблюдается протокол WAL, то при помощи такого журнала зачастую решаются многие проблемы восстановления БД после различных сбоев.
Наиболее типичная ситуация восстановления – откат отдельной транзакции. Другими словами, для этого не нужен общесистемный журнал модификаций БД. Достаточно для каждой транзакции вести локальный журнал изменений БД, реализованных в этой транзакции, и выполнять откат транзакции реализацией обратных операций, начиная от конца локального журнала. В отдельных СУБД подобного не делается, но большая часть систем локальные журналы просто не имеет, а откат отдельной транзакции реализуется по общесистемному журналу, для которого все записи от одной транзакции связаны списком (начиная от конца).
При мягком сбое во внешней памяти главной части БД располагаются объекты, уже измененные транзакциями, которые еще не были завершены к моменту сбоя, а также отсутствуют объекты, которые уже изменены завершенными к моменту сбоя транзакциями. Подобное происходит при использовании буферов ОЗУ, содержимое которых в случае мягкого сбоя пропадает). Если соблюдается протокол WAL, во внешней памяти журнала обязаны быть записи, которые относятся к операциям изменения обоих видов объектов. Задачей процесса восстановления по факту реализации мягкого сбоя является возвращение состояния внешней памяти главной части БД, которое было бы в момент закрепления во внешней памяти всех изменения отработанных транзакций и которое не включало бы никаких следов незавершенных операций. Для того, чтобы добиться этого, нужно изначально произвести откат оборванных транзакций (undo), а затем заново воспроизвести (redo) все операции завершенных транзакций, итоги которых не включены во внешнюю память. Подобный процесс включает в себя много тонкостей, которые связаны с общей организацией управления буферами и журналом.
Целью данного дипломного проекта является анализ эффективности методов журнализации баз данных. Для реализации этой цели необходимо решить следующие задачи:
- провести обзор и анализ основных методов журнализации баз данных;
- провести методов журнализации баз данных в конкретных СУБД;
- сформулировать математическую постановку задачи выбора метода журнализации баз данных;
- разработать алгоритм решения поставленной задачи;
- провести разработку экспериментального программного обеспечения для выбора журнализации баз данных;
- провести экспериментальное использование разработанного программного обеспечения.
В каждой СУБД имеются свои особенности журнализации баз данных, что позволяет, учитывая данные особенности, эффективно применять их в различных случаях.
Для этого необходимо иметь математический аппарат и его практическую реализацию для осуществления взвешенного выбора метода журнализации баз данных.
В данной работе такой вопрос решен. В качестве математического аппарата используется метод многокритериального выбора (метод Сааати или метод анализа иерархий) .
В общих чертах метод анализа иерархий базируется на парных сравнениях между собой альтернатив и критериев. Под альтернативами понимаются различные варианты выбора, то есть, то из чего выбираем. Под критериями понимаются различные значимые для выбора свойства (характеристики) альтернатив. На первом этапе метода необходимо определиться с двумя списками. В первом списке (списке альтернатив), будет, то между чем и чем мы делаем выбор. Во втором списке (списке критериев), будет, то по каким признакам мы делаем свой выбор.
В комплект работы входит программа на языке Delphi.
Характеристики
Год | 2017 |
Программа с исходниками | Да, Delphi |
Я обратился в эту компанию, чтобы заказать дипломную работу по программированию, поскольку их специализация связана с выполнением студенческих проектов в области информационных технологий. Во время сотрудничества я убедился, что автор — опытный и надёжный специалист, который ответственно подходит к своим обязанностям перед заказчиками. Я остался полностью удовлетворён результатом, и защита прошла успешно.
Обратилась в данную компанию по рекомендациям друзей, так как они получали высокие оценки и сама предоставленная работа была неполохого качества. Ну и собственно говоря не пожалела. Не скажу что я сама не могла бы написать дипломную работу, но в связи с выпуском, навалилось много дел, по работе, и дипломная работа очень ответственная часть жизни и я бы не смогла пройти если бы сдала черти что, хоть какую работу, как это бывает с рефератами обычно. Прошла антиплагиат, а это самое главное, спасибо ребятам.
Заказывала в этой компании дипломную работу по проектированию информационной системы. Осталась довольна результатом. Порадовала оперативная обратная связь: на все вопросы отвечали быстро и по делу. Все правки по замечаниям руководителя внесли бесплатно и в кратчайшие сроки, что очень важно в горячую пору защиты. Ну и вишенкой на торте стала бесплатная рецензия к диплому, которую не пришлось заказывать отдельно.
Коротко о главном!
Хочу сказать что очень благодарна за то понимание с которым относились по написанию к моей дипломной работе.
Со мной на связи и в переписке были круглосуточно- исправления делали без задержек.
Спасибо что Вы есть!!! ?
Никогда не думала, что буду обращаться к кому-то за написанием дипломной работы, но в связи с очень высокими требованиями научного руководителя решила на свой страх и риск обратиться сюда. Спасибо данной компании за мои восстановленные нервы и ментальное здоровье. Всегда на связи, понравилось, что все правки, которые возникали у научного-все вносилось и причем без доплаты, вопросов. Вошли в положение и написали все достаточно быстро, причем учли то, что ранее я сама уже написала. За цену отдельный лайк.