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