Распределенные информационные системы и базы данных. Учебное пособие
.pdf
Министерство науки и высшего образования Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В. А. АСТАПЧУК, Д. Н. ДОСТОВАЛОВ
РАСПРЕДЕЛЕННЫЕ
ИНФОРМАЦИОННЫЕ
СИСТЕМЫ И БАЗЫ ДАННЫХ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
2024
УДК 004.65(075.8) А91
Рецензенты:
канд. техн. наук, доцент Н. Б. Тесля канд. техн. наук, доцент В. В. Ландовский
Работа подготовлена на кафедре автоматизированных систем управления
Астапчук В. А.
А91 Распределенные информационные системы и базы данных : учебное пособие / В. А. Астапчук, Д. Н. Достовалов. – Новосибирск : Изд-во НГТУ, 2024. – 72 с.
ISBN 978-5-7782-5326-1
В учебном пособии рассмотрены основные понятия распределенных информационных систем, составляющие распределенных баз данных и методы их организации. Работа содержит сведения об организации доступа к распределенным базам данных и алгоритмах синхронизации обмена информацией в распределенных системах.
Учебное пособие соответствует ООП по направлению 09.04.01 «Информатика и вычислительная техника», уровень подготовки – магистратура.
Материал учебного пособия может быть использован обучающимися по направлениям, охватывающим такие области профессиональной деятельности, как автоматизированные системы обработки информации и управления; исследование, разработка, внедрение и сопровождение информационных систем и технологий; системный анализ прикладной области, формализация решения прикладных задач и процессов информационных систем. Издание может быть полезно широкому кругу специалистов, занимающихся автоматизацией управления организациями.
|
УДК 004.65(075.8) |
ISBN 978-5-7782-5326-1 |
© Астапчук В. А., Достовалов Д. Н., 2024 |
|
© Новосибирский государственный |
|
технический университет, 2024 |
ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ.......................................................................................... |
4 |
ВВЕДЕНИЕ................................................................................................... |
7 |
1. РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ....................................................... |
10 |
Основные понятия и определения........................................................ |
10 |
Основные характеристики распределенных систем........................... |
12 |
Коммуникации в распределенных системах....................................... |
13 |
Принципы коммутации в компьютерных сетях.................................. |
14 |
Коммуникационная подсистема........................................................... |
16 |
Эталонные сетевые модели................................................................... |
18 |
2. АРХИТЕКТУРА РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ |
|
СИСТЕМ................................................................................................. |
23 |
3. РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ |
|
В ИНФОРМАЦИОННЫХ СИСТЕМАХ ............................................. |
29 |
Принципы распределенной обработки информации.......................... |
30 |
Технологии распределенной обработки данных................................. |
31 |
4. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ.............................................. |
34 |
Основные свойства распределенной базы данных............................. |
36 |
Стратегии распределения данных........................................................ |
38 |
Распределенные транзакции................................................................. |
39 |
Синхронизация данных......................................................................... |
41 |
Согласованность или доступность....................................................... |
45 |
Особенности проектирования распределенной базы данных............ |
48 |
5. СИНХРОНИЗАЦИЯ В РАСПРЕДЕЛЕННЫХ |
|
ИНФОРМАЦИОННЫХ СИСТЕМАХ................................................. |
53 |
Время в распределенных системах ...................................................... |
53 |
Синхронизация времени в распределенных системах ....................... |
55 |
3 |
|
6. |
ОТКРЫТЫЕ СИСТЕМЫ....................................................................... |
58 |
|
Принципы открытых систем................................................................. |
58 |
|
Архитектура и структура открытых систем........................................ |
59 |
|
Эталонная модель среды открытых систем......................................... |
60 |
|
Эталонная модель взаимосвязи открытых систем.............................. |
61 |
7. |
ТЕНДЕНЦИИ В ОБЛАСТИ РАСПРЕДЕЛЕННЫХ СИСТЕМ.......... |
64 |
БИБЛИОГРАФИЧЕСКИЙ СПИСОК....................................................... |
67 |
|
4
ПРЕДИСЛОВИЕ
Область профессиональной деятельности выпускников, освоивших программу магистратуры по направлению 09.04.01 «Информатика
ивычислительная техника», включает в себя теоретические и экспериментальные исследования научно-технических проблем и решение задач в области разработки технических средств и программного обеспечения компьютерных вычислительных систем и сетей, автоматизированных (в том числе распределенных) систем обработки информации и управления, а также систем автоматизированного проектирования
иинформационной поддержки изделий [1].
Всвязи с этим целью изучения дисциплины «Распределенные информационные системы и базы данных» является подготовка специалистов, владеющих как теоретическими основами создания программных систем с распределенной архитектурой различного назначения, так и основными методами и современными технологиями, применяемыми для создания таких систем; способных самостоятельно разрабатывать распределенные программные системы различной сложности для различных предметных областей, применяя наиболее подходящие инструментальные средства и технологии, обеспечивающие максимальную эффективность как при создании сложных систем, так и при их эксплуатации и сопровождении.
Настоящее учебное пособие предназначено для формирования у обучающихся в процессе освоения дисциплины «Распределенные информационные системы и базы данных» системы знаний, необходимых для решения задач, которые требуют умения анализировать, находить оптимальные решения в условиях неопределенности, а также отбирать
иобобщать информацию, позволяющую достичь поставленных целей.
Врезультате освоения дисциплины студент должен знать:
методы и технологии проектирования и реализации распределенных информационных систем;
способы проектирования распределенных баз данных, технологию распределенной обработки данных, механизм управления транзакциями и репликацией данных в распределенных базах данных.
5
Студент должен уметь:
проектировать и разрабатывать распределенные информационные системы для решения задач профессиональной деятельности;
обеспечивать работоспособность информационных систем и технологий в пределах заданных показателей функциональности и надежности.
Студент должен иметь навыки:
описания задачи обработки данных;
обоснования методов решения выбранной задачи;
программнойреализациираспределенныхинформационныхсистем;
создания приложений распределенных систем баз данных.
6
ВВЕДЕНИЕ
Системная цифровизация различных отраслей (экономики, производства, образования, медицины и др.) увеличивает потребность в автоматизированных средствах сбора, обработки, хранения и анализа данных из источников с распределенным местоположением.
В результате появления новых задач, с которыми недостаточно эффективно справлялись существующие архитектуры информационных систем, и развития сетевых технологий возникла новая парадигма проектирования и реализации ИС – распределенная информационная система (децентрализованная). Это определило две основные формы организации обработки информации и использования технических средств – централизованную и частично или полностью децентрализованную.
Централизованная форма обработки информации и использования технических средств характеризуется тем, что вычислительные ресурсы информационных систем, включая и базу данных, располагаются в едином центре, где выполняется обработка данных, результаты которой передаются пользователям – абонентам вычислительного центра. Организационно и технически системы централизованной обработки данных реализуются в виде ЦОД (центров обработки данных), которые представляют собой набор взаимосвязанных программных и аппаратных компонентов, организационных процедур и персонала, предназначенных для безопасной централизованной обработки, хранения и предоставления данных, сервисов, приложений и обладающих высокой степенью виртуализации своих ресурсов и эффективностью управления информационной инфраструктурой1. Подключение к ЦОД позволяет организациям уменьшать расходы на содержание собственной
1 Информационная инфраструктура – это совокупность базовых информационных сервисов, вычислительных систем, систем хранения и передачи данных, являющаяся основой для функционирования любых информационных сервисов.
7
инфраструктуры. Примером такого подхода являются коммерческие ЦОД, реализующие так называемую облачную технологию2.
При всех достоинствах централизованной обработки информации такой подход обладает существенным недостатком: сбои в работе, выход из строя оборудования ЦОД или отсутствие связи с ним дестабилизируют работу пользователей, что может привести к финансовым потерям или катастрофическим последствиям. Другой недостаток характерен для коммерческих ЦОД: пользователи (абоненты) лишены контроля за собственными информационными ресурсами, поэтому организации, обрабатывающие информацию ограниченного доступа (финансовые организации, медицинские учреждения и операторы персональных данных) предпочитают строить собственный корпоративный ЦОД, который находится под полным контролем IT-отдела организации. Организация сама обеспечивает сохранность и безопасность своей инфраструктуры, а пользователи получают услуги в соответствии со стандартами, принятыми в организации.
Децентрализация обработки информации и использования технических средств предполагает распределение компонентов информационной инфраструктуры, в том числе средств хранения и обработки данных, по узлам компьютерной сети. Такой подход к созданию информационной системы лучше всего применять, если организация значительна по размерам или ведет территориально распределенную деятельность.
Современные распределенные системы обработки информации представляют собой гетерогенные системы, объединяющие большое количество клиентских программных и аппаратных средств. При этом важнейшей проблемой создания распределенной системы обработки информации является построение однородной среды взаимодействия.
Распределенные системы имеют и свои проблемы, которые в основном связаны с организацией эффективного взаимодействия отдельных частей распределенной системы.
Во-первых, это сложности, связанные с программным обеспечением – операционными системами и приложениями. Программирование
2 Облачная технология – это технология распределенной обработки данных, при которой компьютерные ресурсы и вычислительные мощности предоставляются пользователю как онлайн-сервис.
8
для распределенных систем принципиально отличается от программирования для централизованных систем. Разработка сетевых приложений осложняется из-за необходимости организовать совместную работу их частей, выполняющихся на разных машинах, и решить проблему совместимости программного обеспечения.
Во-вторых, это необходимость обеспечить надежность (чтобы передаваемые данные не терялись и не искажались) и производительность (чтобы обмен данными происходил с приемлемыми задержками).
В-третьих, это вопросы, связанные с обеспечением безопасности, которые гораздо сложнее решаются в вычислительной сети, чем в централизованной системе. В некоторых случаях, когда безопасность особенно важна, от использования сети лучше вообще отказаться.
С учетом вышесказанного возникает задача подготовки высококвалифицированных специалистов, занятых в ИТ-индустрии и способных решать возникающие проблемы при организации информационных систем, и настоящее учебное пособие призвано помочь в решении этой задачи.
Прежде чем обсуждать, каким образом будут формироваться профессиональные знания и навыки, уточним значение некоторых терминов, которые составляют тезаурус3 ИТ-специалиста и будут использоваться в дальнейшем. Следует иметь в виду, что трактовка многих понятий в области информационных технологий является неоднозначной и зависящей от задач, которые должны решаться на основе соответствующего определения.
3 Тезаурус – словарь, собрание сведений, охватывающие понятия, определения и термины специальной области знаний или сферы деятельности.
9
1. РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ
Основные понятия и определения
Распределенная система – система, для которой отношения местоположения элементов (или групп элементов) играют существенную роль с точки зрения функционирования системы и, следовательно, с точки зрения анализа и синтеза системы [2].
Распределенная система – это набор независимых компьютеров, представляющийся их пользователям единой объединенной систе-
мой [3].
Компьютерная сеть – сеть, узлы которой включают в себя компьютеры и оборудование передачи данных и ветви которой являются линиями передачи данных [59].
Вычислительная сеть – взаимосвязанная совокупность территориально рассредоточенных систем обработки данных, средств и (или) систем связи и передачи данных, обеспечивающая пользователям дистанционный доступ к ее ресурсам и коллективное использование этих ресурсов [4].
Распределенная обработка данных – обработка данных, при ко-
торой выполнение операций распределено по узлам вычислительной сети [5]. Для распределенной обработки данных требуется коллективное сотрудничество, которое достигается путем обмена данными между узлами.
Данные распределения – сведения, определяющие информацию о размещении, дублировании и фрагментации объектов в распределенной системе базы данных [6, 7].
Фрагментация – распределение данных между двумя или более средами управления базами данных [7].
База данных – совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных [7].
10
