Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 26(70)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3

Библиографическое описание:
Печников Н.А., Блохин М.С. СИНХРОНИЗАЦИИ РАСПРЕДЕЛЕННЫХ БАЗ ДАННЫХ ПРИ ПОМОЩИ ХЭШ-ФУНКЦИЙ // Студенческий: электрон. научн. журн. 2019. № 26(70). URL: https://sibac.info/journal/student/71/150438 (дата обращения: 29.12.2024).

СИНХРОНИЗАЦИИ РАСПРЕДЕЛЕННЫХ БАЗ ДАННЫХ ПРИ ПОМОЩИ ХЭШ-ФУНКЦИЙ

Печников Никита Андреевич

студент, кафедра информационных систем, МГТУ Станкин,

РФ, г. Москва

Блохин Михаил Сергеевич

студент, кафедра информационных систем, МГТУ Станкин,

РФ, г. Москва

Распределенные базы данных (РБД) – комплекс логически взаимосвязанных БД, которые распределены в сети. Главная цель их создания – улучшение производительности, безопасности, экономия средств (единственный мощный и производительный ПК дороже десяти обычных, меленных. Чья общая производительность равна производительности одного более мощного компьютера, если учесть, что работают они распределенным образом).

Хэширование (называемое также хэш-адресацией, а иногда, хэш-индексацией) представляет собой метод обеспечения быстрого прямого доступа к конкретной записи РБД с учетом заданного значения определенного поля. Рассматриваемое поле обычно (но не обязательно) является первичным ключом.

Хранение больших объемов информации требует организации быстрого доступа к ней. Хэширование является одним из способов организации такого доступа. Основная идея хэширования состоит в вычислении по входным данным некоторого числа фиксированного размера, которое как бы будет указывать адрес данных в таблице. При этом такое число будет называться хэшем, а функция, с помощью которой оно вычисляется, – хэш-функцией. Поскольку функцию, которая будет однозначно сопоставлять данные с хэшами, трудно подобрать даже для достаточно больших таблиц, то используют специальные методы разрешения неоднозначностей, называемых коллизиями.

При репликации текущего состояния узел, который передает данные, знает до начала передачи, какую информацию следует отправить получателю. При дельта-репликации оба узла, участвующих в передаче данных уточняют вместе, что именно необходимо отправить и получить. Этот способ очень расточителен с точки зрения нагрузки на сеть – именно поэтому данный способ не всегда эффективен. Именно здесь как нельзя лучше подойдет вариант использования функции хэширования.

Если произошел возврат хэш-функцией разных выходных значений, то существует высокая вероятность того, что входные строки будут различаться. Обратное утверждение также является истинным. В этом случае строка либо отправляется на удаленный узел, либо нет. Для каждого интервала в таблице вычисляется хэш-значение. Для интервалов, для которых хэш-значения на исходном узле и получающем узле не совпадают, интервалы перезаписываются. Операция выполняется для всех интервалов. Этот процесс происходит до тех пор, пока значение интервалов не будет равно записи или пока не достигнет предельного значения. Далее рассмотрены положительные и отрицательные стороны описанного алгоритма.

Преимущества:

  • нет необходимости в учете изменений – имеет место экономия трафика благодаря осуществлению передачи только тех данных, которые требуют синхронизации;
  • нет необходимости изменять уже существующую базу данных.

Недостатки:

  • необходимы большие показатели производительности; – алгоритм малоэффективен и обладает низким качество работы на ненормализованных данные в том случае, если в данные заносятся небольшие изменения;
  • малая вероятность (для MD5 – 2 к 64, а, для SHA512 – 2 к 256) того, что после репликации базы данных не будут синхронизированы.

При проектировании современных информационных систем нередко возникают причины для получения синхронизованных баз данных. При этом сами базы зачастую не разрабатывались специально для применения в распределенных системах, у которых поменять существующую структуру довольно сложно. Зачастую подобные БД являются плохо нормализованными, например, если изменить размер какого-либо значения на один бит, такому алгоритму понадобится вся запись или блок записей. То же самое происходит в случае, если запись содержит в себе объекты большого объема (в рамках конкретной базы данных).

 

Список литературы:

  1. Глотова Т. В., Бешер Х. И. Особенности информационной безопасности распределенных систем // Моделирование, оптимизация и информационные технологии. Электрон. журн. №. 3. [2016]. [Электронный ресурс]. URL: https://moit.vivt.ru/?p=3894&lang=ru. – (Дата обращения: 25.03. 2019).
  2. Затуливетер Ю. С., Фищенко Е. А. Проблемы программируемости, безопасности и надежности распределенных вычислений и сетецентрического управления. Ч. 2. Подход к общему решению // cyberleninka.ru. Электрон. изд. [2016]. [Электронный ресурс]. URL: https://cyberleninka.ru/article/n/problemyprogrammiruemostibezopasnostii-nadezhnosti-raspredelennyh-vychisleniy-i-setetsentricheskogo-upravleniya-ch-2-podhod-k. – (Дата обращения: 25.03. 2019).
  3. Жидко Е. А., Разиньков С. Н. Модель подсистемы безопасности и защиты информации системы связи и управления критически важного объекта // cyberleninka.ru. Электрон. изд. [2018]. [Электронный ресурс].  URL: https://cyberleninka.ru/article/n/model-podsistemy-bezopasnosti-i-zaschity-informatsii-sistemy-svyazi-i-upravleniya-kriticheski-vazhnogo-obekta. – (Дата обращения: 25.03. 2019).

Оставить комментарий