Чтение онлайн

на главную - закладки

Жанры

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

Ключевой принцип в том, что задача расщепляется - или распределяется - между двумя программными компонентами, которые выполняются независимо на двух физически разделенных компьютерах. Эта модель даже не требует, чтобы компоненты выполнялись в совместимых операционных или файловых системах. Клиент электронной почты должен быть почтовой клиентской программой, которая выполняется под Windows, Mac или любой другой операционной системой, а почтовый сервер обычно выполняется в системах UNIX или Linux. Клиентская и серверная программы способны успешно взаимодействовать, поскольку они были спроектированы функционально совместимыми.

В системе клиент-серверной базы данных модель идентична.

На хост-машине в сети выполняется программа, которая управляет базами данных и клиентскими соединениями - сервер базы данных. Он расположен на узле сети, который известен клиентским программам, выполняющимся в других узлах сети. Сервер слушает запросы из сети от клиентов, которые хотят соединиться с базой данных, а также от других клиентов, которые уже соединены с базами данных.

В примере с электронной почтой протокол коммуникации имеет два уровня. Как и система электронной почты, система баз данных клиент-сервер использует стандартный сетевой протокол и перекрывает его другими протоколами специального назначения. Для электронной почты перекрытие (overlay) будет POP3, IMAP и SMTP; для системы базы данных это протоколы соединения с базой данных, безопасности, переноса данных и языка.

Базы данных клиент-сервер в сравнении с файл-серверами

Системы совместного доступа к файлам являются другим примером систем клиент- сервер. Файловые серверы и серверы файловых систем обслуживают запросы клиентов к файлам и файловым системам иногда весьма запутанными способами. Примеры этому- сервисы NFS, Windows Named Pipes и NetBEUI. Файловый сервер предоставляет клиентам доступ к файлам так, что клиентская машина может читать и писать в памяти сервера, как если бы операции ввода/вывода проводились в ее собственной локальной системе памяти.

Настольная система управления данными имеет недостаток - собственная внутренняя реализация управления запросами ввода/вывода, поступающими из сети, сама является клиентом файлового сервера. Когда сервер получает запросы на ввод/вывод от своих клиентов, он полагается на средства управления операционной системы для обеспечения центрального блокирования и организации очереди, необходимые для управления конфликтными запросами.

Такие файл-серверные СУБД не являются клиент-серверными системами баз данных. Программное обеспечение клиента и СУБД- клиенты сервера совместного доступа к файлам. Хотя входной и часто выходной потоки являются до известной степени управляемыми программой СУБД, физическая целостность данных находится под управлением сервисов файловой системы.

В базах данных клиент-сервер клиенты - даже если они расположены на той же машине, что и сервер, - никогда не обращаются к физическим данным, кроме как отправляя сообщения серверу с указанием того, что они хотят сделать. Сервер самостоятельно обрабатывает эти сообщения и выполняет запросы, управляя обращениями к дискам и правами доступа. Сервер также выполняет все физические изменения метаданных и структур хранения данных, используя физическую структуру на диске (On-Disk Structure, ODS), которая независима от программ ввода/вывода файловой системы хоста.

Характеристики СУБД клиент-сервер

Масштабируемость

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

мощности использования компьютеров. Когда совместное использование файлов в сетях и различного вида программного обеспечения стало стандартной практикой на больших предприятиях, заказчики запросили большего. Настольные и основанные на локальных сетях (Local Area Network, LAN ) системы управления данными также стали использоваться и в весьма малых бизнесах. Сегодня практически немыслимо проектировать информационную систему предприятия для монолитной модели на мэйнфрейме с текстовым терминалом.

Масштабируемость оценивается в двух размерностях: горизонтальной и вертикальной. Горизонтальная масштабируемость - способность системы добавлять дополнительных пользователей без воздействия на возможности программного обеспечения или используемые ресурсы. Вертикальная масштабируемость связана с тем, что будет сделано для переноса системы на более простые или более сложные платформы и конфигурации аппаратных средств в ответ на изменение требований нагрузки и доступа. Диапазон меняется от нижнего уровня - например, сделать систему доступной для пользователей мобильных устройств - до верхнего уровня, который не имеет концептуальных ограничений.

Функциональная совместимость

Архитектура клиент-сервер для систем баз данных развивалась как ответ на уязвимость, низкий уровень нагрузки и ограничения по скорости модели базы данных совместного доступа к файлам в компьютерных сетях при потребности увеличения количества пользователей. Острая необходимость в этом совпала с параллельной разработкой языка SQL. Оба направления отчасти были стратегиями нейтрализации зависимости аппаратного обеспечения мэйнфреймов и программного обеспечения, которая преобладала в 1980-x годах. Настоящая архитектура баз данных клиент- сервер является неоднородной и функционально совместимой (интероперабельной) - она не ограничивается одной платформой аппаратных средств или одной операционной системой. Эта модель позволяет клиентам и серверам независимо размещаться в узлах сети на аппаратных средствах и в операционных системах, соответствующих их функциям. Приложения клиентов могут одновременно связываться с множеством серверов, выполняющихся в различных операционных системах.

Защита данных

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

Распределение функций

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

Поделиться:
Популярные книги

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Ученичество. Книга 2

Понарошку Евгений
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ученичество. Книга 2

Надуй щеки!

Вишневский Сергей Викторович
1. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки!

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Эволюционер из трущоб. Том 6

Панарин Антон
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 6

Идеальный мир для Лекаря 19

Сапфир Олег
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 19

Гарем на шагоходе. Том 1

Гремлинов Гриша
1. Волк и его волчицы
Фантастика:
боевая фантастика
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Гарем на шагоходе. Том 1

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Сломанная кукла

Рам Янка
5. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сломанная кукла

Офицер-разведки

Поселягин Владимир Геннадьевич
2. Красноармеец
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Офицер-разведки

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9

(Не)нужная жена дракона

Углицкая Алина
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
(Не)нужная жена дракона

Этот мир не выдержит меня. Том 2

Майнер Максим
2. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Этот мир не выдержит меня. Том 2