Главная страница
Навигация по странице:

  • 2.2 Стратегии распределения данных

  • Доклад. Никифоров М.О. доклад. 2. Распределение баз данных 1 Архитектура распределенных субд


    Скачать 23.46 Kb.
    Название2. Распределение баз данных 1 Архитектура распределенных субд
    АнкорДоклад
    Дата28.01.2020
    Размер23.46 Kb.
    Формат файлаdocx
    Имя файлаНикифоров М.О. доклад.docx
    ТипДокументы
    #106215

    2. Распределение баз данных 2.1 Архитектура распределенных СУБД

    В текущем быстро изменяющемся компьютерном мире существуют, по меньшей мере, три базисных идеологии: клиент-сервер, Web и распределенные объекты (DCOM, CORBA). Каждое из этих направлений в свою очередь имеет  достаточное множество решений и стандартов от различных производителей. «Клиент-сервер» - это вид распределенной системы, имеющей сервер, который выполняет запросы клиента, при этом сервер и клиент взаимодействуют друг с другом, используя тот или иной протокол. Клиент представляет собой программу, использующую, а под сервером программа подразумевается программа, которая обслуживает запросы клиентов на получение определенных ресурсов. Данное определение содержит в себе почти все возможные программные технологии, в которых принимают участие как минимум две программы, при этом функции между ними распределены неравномерно [5]. Для распределения обязанностей между сервером и клиентом при осуществлении запросов к базам данных имеется два подхода. Ели применять технологию файлового сервера, то когда клиент осуществляет запрос, сервер в ответ передает ему нужные для запроса файлы. А уже затем  клиент оставляет необходимую для себя  информацию. В данном случае почти все работу осуществляет только клиент. Через каналы связи идет значительный поток  данных, большинство из этих данных в конечном итоге не появятся в ответе на запрос. В технологии «клиент-сервер» сервер выполняет сортировку данных для ответа на запрос, а до клиента уже доходит лишь только результат, то есть он получает только те данные, которые он запрашивал (рис 1). В процессе работы с файл-серверной технологией ответственность за сохранность и целостность базы данных полностью ложится на программу и сетевую операционную систему. Обработка всех данных осуществляется на рабочих местах, при этом сервер применяется только как разделяемый накопитель. Все пользователи напрямую пользуются информацией и вносят нужные изменения в файлы данных и в индексные файлы [22]. Рис. 1. Сравнение технологий файлового сервера и «клиент-сервера». При достаточно большом объеме данных и работе в многопользовательском режиме значительно уменьшается быстродействие, поскольку, чем больше пользователей, тем выше требования к разделению данных. Также может обнаружиться повреждение баз данных. К примеру, в момент записи в файле может произойти сбой сети или неисправность питания. При данных условиях компьютер прекращает работу и база данных повреждается, а индексный файл оказывается разрушенным. После схожих сбоев следует проводить индексацию, которая продолжается до нескольких часов [16]. Клиент-серверная дает возможность избежать подобных проблем, поскольку вся работа с базой данных осуществляется на сервере, не идет по проводам и никак  не связана со сбоями на рабочих станциях. Любое запрашиваемое действие на добавление в файл перехватывается сервером. Изменения в файл записываются лишь после получения сервером сообщения, о том, что исправления файла завершены. Благодаря этому невозможно повреждение индексных файлов, а также значительно увеличивается быстродействие системы. Помимо высокого быстродействия и надежности, архитектура «клиент-сервер» предоставляет большое количество преимуществ и в области технического обеспечения. В первую очередь, сервер совершенствует реализацию функций обработки данных, что освобождает от необходимости оптимизации рабочих станций. Рабочая станция может иметь не очень быстрый процессор, и все же, сервер предоставит возможность быстро получать результаты обработки запроса. Во-вторых, поскольку рабочими станциями не обрабатываются все переходные данные, сильно снижается нагрузка на сеть. Появляется вероятность ведения журнала операций, которой сам регистрирует любые транзакции что, в свой черед, помогает быстро восстановливать системы при аппаратных сбоях [17]. Существует двухуровневая и трехуровневая модель архитектуры «клиент-сервер» (рис. 2). Данная  модель является самой универсальной, так ка она схожа со схемой разработки локальных баз данных. Большинство систем «клиент-сервер», которые используются на сегодняшнем рынке, развивались из уже имевшихся локальных приложений базы данных, хранящих на сервере собственные данные в файле. Перенос систем происходит для увеличения продуктивности  работы, защищенности, также надежности базы данных [3]. Рис. 2. Двухуровневая модель «клиент-сервер». К преимуществам модели относится:  во многих случаях дает возможность разделить функции вычислительной системы между некоторым количеством независящих друг от друга компьютеров. Благодаря этому упрощается работа вычислительной системы. К примеру, замена, ремонт, модификация или перемещение сервера ни каким образом не касаются клиентов. Вся информация хранится на сервере, который защищён намного лучше, чем большинство клиентов. На сервере намного легче осуществлять контроль полномочий для разрешения доступа к данным только тех клиентов, которые обладают подходящими правами доступа;  дает возможность объединять различных клиентов. Зачастую оперировать ресурсами одного сервера могут клиенты с различными аппаратными платформами, ОС и т. п. [8]. К недостаткам модели относится:  неисправность сервера может нарушить работоспособность всей вычислительной сети;  требуется высококвалифицированный специалист (системный администратор), который будет поддерживать работу системы;  высокая стоимость оборудования [21]. Данные этой модели все время размещены на сервере, в то время как а клиентские приложения - на собственном компьютере. Одной из версий модели «клиент-сервер» служит трехуровневая архитектура клиент-сервер. В ней все функции преобразования данных располагаются на одном или более отделенных друг от друга серверов. Это дает возможность разделять функции хранения, обработки и представления данных для наиболее результативного применения всех возможностей серверов и клиентов.   К преимуществам модели относится:  масштабируемость;  конфигурируемость — уровни обособлены друг от друга, что в свою очередь дает возможность (при верном развертывании архитектуры) быстро и с помощью простых средств переконфигурировать систему при появлении сбоев или при плановой работе на одном из уровней;  высокая безопасность;  высокая надёжность;  низкие требования к скорости канала (сети) между терминалами и сервером приложений;    низкие требования к производительности и техническим характеристикам терминалов, из-за снижения цены. Терминалом может быть не только компьютер, но и сотовый телефон [21]. Также имеются и некоторые другие недостатки архитектуры. Если трехуровневую архитектуру сравнивать c клиент-серверной или файл-серверной то мы можем увидеть такие ее недостатки как:  сложность создания приложений;  возникновение затруднений при разворачивании и администрировании системы;  высокие требования к производительности серверов приложений, что в свою очередь ведет в повышению стоимости серверного оборудования;  значительные запросы к  к скорости канала между сервером базы данных и серверами приложений. В трехуровневой модели «клиент-сервер» (рис. 3) клиент представляет собой только пользовательский интерфейс к данным, в то время как сами данные размещаются на удаленном сервере. Клиентское приложение производит запросы, чтобы добыть доступ к данным или изменить их, используя сервер. В случае если клиент, сервер и бизнес-правила рассредоточены на разных компьютерах, разработчику следует оптимизировать доступ к данным и осуществлять их целостность по всей системе. Рис. 3. Трехуровневая модель «клиент-сервер». Технология клиент-сервер позволяет  взаимодействовать компьютерам в локальной сети так, чтобы один компьютер (сервер) отдавал собственные ресурсы другому компьютеру (клиенту). Именно поэтому имеется разделение сетей на одноранговые и серверные [1]. В одноранговой архитектуре сети не существует выделенных серверов и все рабочие станции имеют право исполнять функции клиента и сервера. При этом рабочая станция отдают некоторое количество своих ресурсов в общее распоряжение для всех существующих рабочих станций сети. Зачастую одноранговые сети строятся на базе идентичных по мощности компьютерах. В своей эксплуатации и настройке одноранговые сети очень легкие. Но если сеть состоит из малого количества компьютеров и главной для нее функцией является только обмен информацией среди рабочих станций, то одноранговая архитектура является самым лучшим решением [7]. Существование распределенных данных и допустимость изменения своих серверных ресурсов каждой рабочей станцией затрудняет обеспечение надежной защиты информации от неутвержденного доступа. Это относится к недостаткам одноранговых сетей. Из-за этого разработчики уделяют большое внимание вопросам защиты информации. Также к недостаткам одноранговых сетей относится их довольно низкая работоспособность. Это происходит в следствие того, что полностью все сетевые ресурсы находятся на рабочих станциях, которые синхронно реализуют функции клиентов и серверов. В серверных сетях происходит организованное распределение функций среди всех компьютеров, одни из них все время являются клиентами, а другие — серверами. Так как каждая компьютерная сети осуществляет свои услуги, то все серверы делятся на несколько типов: сетевой сервер, файловый сервер, сервер печати, почтовый сервер и др. Сетевой сервер – это специализированный компьютер, ориентированный только на осуществление основного объема вычислительных работ и функций по управлению компьютерной сетью. Этот сервер состоит из ядра сетевой операционной системы и именно под ее управлением реализуется вся работа локальной сети. Такой сетевой организации присуще быстродействие и большой объем памяти.  Функции всех рабочих станций заключаются в вводе и выводе информации, а также в обмене этой  информации с сетевым сервером [19]. Главной функция файлового сервера состоит в хранении, управлении и передачи файлов данных. Файловый сервер не обрабатывает и не изменяет сохраняемые и передаваемые им файлы. Возможно, что сервер не будет знать, является ли файл текстовым или графическим. В общем случае на файловом сервере наличие клавиатуры и монитора не является обязательным. Всевозможные изменения в файлах данных происходят на клиентских рабочих станциях. Поэтому клиентам нужно считывают файлы данных из файлового сервера, при этом ни реализуют нужные изменения в данных и затем возвращают их обратно в файловый сервер. Данный тип организации наиболее благоприятен, если с единой базой данных работает множество пользователей. В пределах большой сети возможно одновременное использование нескольких файловых серверов. Сервер печати (принт-сервер) является  печатающим устройством, которое имеет доступ и подключается к передающей среде благодаря сетевому адаптеру. Данное сетевое печатающее устройство самостоятельно и его работа не зависит от других сетевых устройств. Сервер печати обслуживает заявки на печать от всех серверов и рабочих станций [12]. В виде серверов печати употребляются специальные высокопроизводительные принтеры. При большой интенсивности обмена данными с глобальными сетями в рамках локальных сетей обособляются почтовые серверы, благодаря которым обрабатываются сообщения электронной почты. Для эффективного взаимодействия с сетью Internet могут использоваться Web-серверы.

    2.2 Стратегии распределения данных

    Выбор стратегии распределения данных в узлах сети компьютера опреляется в зависимости от количества узлов, в которых хранятся данные, а также от наличия дублированной информации. Архитектура системы и ее программное обеспечение устанавливают возможные стратегии управления базой данных. В ходе формирования базы данных определяются характерные черты реализуемой стратегий распределения данных. Есть четыре разновидности стратегии распределения данных:  Централизация (существует единственная копия базы данных, которая размещается в одном узле),  Расчленение (существует единственная копия базы  данных и  непересекающиеся подмножество, которые размещены на разных узлах),  Дублирование (существует некоторое количество копий базы данных, при этом во всех узлах имеется полная копия всех данных),  Смешанная (существует некоторое количество копий подмножеств базы данных, во всех узлах может находиться любая часть базы данных) [21]. Система управления распределенными базами данных,  допускающая лишь централизованное распределение, представляет собой самую простую, а система, в которой возможно смешанное распределение данных я является самой сложной. По сравнению с централизованной стратегией, стратегии расчленения и дублирования представляют собой намного более сложные [4;17]. Стратегия расчленения предусматривает существование только единственной копии базы данных, в этом случае нужно точно знать, какие фрагменты базы данных расположены во всех узлах. Стратегия дублирования рассчитывает существование во всех узлах целой копии базы данных и все эти копии должны обслуживаться слаженно для гарантии их полноты и целостности. Смешанная стратегия соединяет в себе проблемы двух предыдущих стратегий распределения, но при этом она имеет гибкость и преимущества этих стратегий. Система управления распределенными базами данных требует постоянного контроля как над преобразованиями состояний копий всех подмножеств базы данных, так и над расположением каждой копии. Главным достоинством централизованной базы данных (рис. 4) является простота. Поскольку все операции реализуются под контролем одного единственного узла, то существующие проблемы и действия полностью понятны. Из-за того, что все данные размещаются в единственном узле, существует вторичная память, которая в данном узле уменьшает размер базы данных. Любой запрос на выборку и обновление данных идет в центральный узел сети вместе со всеми сопровождающимися затратами на стоимость связи и временную задержку. При этом может случиться так, что при возникновении каких-либо ошибок в связи, база данных будет недоступна для удаленных пользователей и полностью выйдет из строя при отказе центрального сервера. Рис. 4. Стратегия централизации распределения данных Если все данные распределяются, основываясь на стратегии расчленения, то база данных располагается почти на всех узлах сети и невозможно наличие копий отдельных фрагментов базы данных. База данных делится на некоторое количество непересекающиеся подмножеств (логические фрагменты) и каждая логическая часть располагается на отдельном узле. Объем базы данных ограничивается объемом вторичной памяти, которая присутствует во всей сети, а не только в одном узле [4]. Результативность стратегии расчленения повышается вместе с уровнем локализации ссылок, то есть вместе с большим количеством запросов, которые организует пользователь в базе данных локальных информационных систем (рис.5). Рис. 5. Стратегия расчленения распределения данных Достоинства такой стратегии распределения состоят в увеличении объема базы данных; из-за того, что многие запросы удовлетворяется локальными базами, уменьшается время ответа; увеличении доступности и надежности; в сравнении с централизованным распределением снижаются затраты для запросов на выборку и обновление; при выходе из строя одного из серверов система остаются частично работоспособной. К недостаткам метода относится то, что некоторые удаленные запросы или транзакции могут запрашивать доступ ко всем серверам, что в свою очередь, повышает время ожидания и стоимость; требуется иметь сведения о распределении данных в БД. Тем не менее, простота и надежность заметно повышаются. Разделение базы данных больше всего подходит в том случае, если локальные и глобальные сети ЭВМ используются совместно [15]. Если же данные распределяются, основываясь на стратегии дублирования (рис. 6), то во всех узлах сети находится целая копия базы данных, таким образом в каждом узле, где есть данные, имеется целая база данных. Главное достоинство данной стратегии состоит в большой безопасности, доступности и результативности выборки. Недостатками стратегии дублирования являются неестественно большие требования к объему внешней памяти, а также сложности с  корректировкой баз данных, поскольку нужна синхронизация для взаимодействия копий. Основным достоинствам стратегии дублирования является то, что каждый запрос реализуется локально, в следствие чего, организуется быстрый доступ. Рис. 6. Стратегия дублирования распределения данных Смешанная стратегия распределения данных (рис. 7) соединяет подходы, которые связаны с расчленением и дублированием данных для приобретения достоинств, которыми они обладают. Данная стратегия разделяет базы данных на логические фрагменты, как это делается в стратегии расчленения, но вдобавок к этому позволяет иметь любое количество физических копий каждого фрагмента, которые называются хранимыми фрагментами. Рис. 7. Стратегия смешанного распределения данных Ключевое достоинство данной системы состоит в гибкости, благодаря которой устанавливается компромисс между объемом памяти, которая необходима в целом и для каждого узла в отдельности. Именно эта гибкость реализует надежность и производительность всей работы. В данной стратегии довольно легко осуществляется параллельная обработка, а именно обслуживание распределенного запроса или транзакции. Главным недостатком стратегии  дублирования является проблема взаимозависимости факторов, которые влияют на продуктивность системы, ее надежность, увеличиваются требования к памяти.


    написать администратору сайта