Архитектура систем управления данными



 

Основы архитектур СУБД

Сама вся конструкция СУБД зависит от ее архитектуры. Она может быть централизованной, децентрализованной или иерархической. Архитектура СУБД может рассматриваться как одноуровневая или многоуровневая. N-ярусная архитектура, делящая всю систему на связанные, но независимые n модули, которые могут быть независимо изменены, изменены или заменены.

В одноуровневой архитектуре СУБД является единственным объектом, в котором пользователь непосредственно находится и использует ее. Любые сделанные здесь изменения будут непосредственно выполняться в самой СУБД. Она не предоставляет удобные инструменты для конечных пользователей. Разработчики баз данных и программисты обычно предпочитают использовать одноуровневую архитектуру.

Архитектура СУБД содержит схемы, подсхемы и экземпляры.

Схема – это общий логический дизайн базы данных.

Подсхема - это подмножество схемы, которое наследует то же свойство, что и в схеме. План (или схему) для представления часто называют подсхемами.

Экземпляры – это сбор информации, хранящейся в базе данных в определённый момент.

Разница между схемой и экземпляром приведена в таблице ниже.

Таблица 1 - Разница между схемой и экземпляром

  Схема Экземпляр
Описание Общий логический вид базы данных. Сбор информации, хранящейся в базе данных в определённый момент.
Состав Имена таблиц, имена столбцов, типы данных и размер столбцов, различное ограничение на логическом уровне. Фактические данные или информация, хранящиеся в таблицах, в виде разных записей.
Изменение Редко Часто
Причина изменения Вставка таблиц или столбцов и изменение типа данных, размера или ограничений для любого столбца. Вставить, удалить или обновить данные, хранящиеся в базе данных.
Аналог Объявление переменной Значение переменной

 

Существует централизованная и распределенная СУБД.

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

 Независимость данных - это способность изменять определение схемы на одном уровне, не влияя на определение схемы на следующем более высоком уровне.

Существует два уровня независимости данных:

· Физическая независимость данных

· Независимость логических данных

1. Физическая независимость данных - это способность изменять физическую схему без каких-либо изменений в прикладных программах.

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

Независимость физической информации отделяет концептуальные уровни от внутренних уровней.

Это позволяет обеспечить логическое описание базы данных без необходимости указания физических структур.

Сравнительно легко добиться физической независимости данных.

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

Модификация на логических уровнях необходима при изменении логических структур базы данных.

Независимость логических данных отделяет внешний уровень от концептуального представления.

Сравнительно трудно добиться логической независимости данных.

Прикладные программы в значительной степени зависят от логических структур данных, к которым они обращаются. Если любые изменения в логической структуре также требуют изменения программ.

Распределённые СУБД бывают модели файл-сервера и клиент-сервера. Ниже рассмотрим существующие архитектуры.

Файл-серверная архитектура

Системы централизованных БД организуются по двум концепциям (архитектурам): «файл-сервер» и «клиент-сервер».

«Файл-серверная» архитектура – это модель, когда в компьютерной сети один компьютер выделяют в качестве центрального - сервера файлов, чтобы хранить централизованную БД совместно с другими пользователями. Другие же компьютерные системы выполняют работу станций, где пользователи имеют поддержку доступа к централизованной БД. Пользователи формируют запросы и необходимые файлы БД выполняют передачу на рабочие станции для значимой обработки и использования. Рабочие станции могут создавать в себе и локальные БД. Концепция архитектуры заключается в том, что файлы базы с файл-сервера передаются для работы на рабочие станции пользователей.

На рисунке 3 представлена файл-серверная архитектура.

Рисунок 3 - Рисунок 2 - Категории пользователя БД

Ниже рассмотрим двухуровневую – «клиент-серверную архитектуру».

Двухуровневая архитектура

Архитектура с двумя уровнями похожа на базовую модель клиент-сервер. Приложение на стороне клиента напрямую связывается с базой данных со стороны сервера. Для этого взаимодействия используются API, такие как ODBC, JDBC. Серверная сторона отвечает за предоставление функций обработки запросов и управления транзакциями. На клиентской стороне запускаются пользовательские интерфейсы и прикладные программы. Приложение на стороне клиента устанавливает соединение с серверной стороной для связи с СУБД.

На рисунке 4 представлена двухуровневая архитектура.

Рисунок 4 - Двухуровневая архитектура

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

Трёхуровневая архитектура

Архитектура большинства коммерческих СУБД доступна сегодня в основном на основе этой архитектуры базы данных ANSI-SPARC.

Трехуровневая архитектура имеет три основных уровня:

· Внутренний уровень (сама база данных).

· Концептуальный уровень.

· Внешний уровень.

На рисунке 5 представлена трёхуровневая архитектура.

Рисунок 5 - Трёхуровневая архитектура

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

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

Функции уровня:

· описывает, как данные фактически хранятся на устройствах хранения.

· известен как физический уровень.

· обеспечивает внутренний вид физического хранения данных.

· подробно описывает сложные структуры данных низкого уровня, структуры файлов и методы доступа.

· использует методы сжатия данных и шифрования, если они используются.

2. Концептуальный уровень - это следующий более высокий уровень, чем внутренний уровень абстракции данных.

Функции уровня:

· описывает, какие данные хранятся в базе данных и какие отношения существуют между этими данными.

· известен как логический уровень.

· скрывает сложности низкого уровня физического хранения.

Администратор базы данных и дизайнеры работают на этом уровне, чтобы определить, какие данные хранить в базе данных. Разработчики приложений также работают на этом уровне.

3. Внешний уровень - это самый высокий уровень абстракции данных.

Функции уровня:

· описывает только часть всей базы данных, к которой относится конечный пользователь.

· известен как уровень представления.

Можно представить занятие серфингом на любимом сайте. Уровень представления - это веб-приложение, которое пользователь видит. Он отображается в веб-браузере, который пользователь получает с вашего компьютера, и имеет коды CSS, JavaScript и HTML, которые позволяют пользователю понять веб-приложение. Если пользователю нужно войти в систему, на уровне представления будут показаны поля для имени пользователя, пароля и кнопки отправки. После заполнения и отправки формы все, что будет передано логическому уровню. Логический уровень будет иметь JSP, Java Servlets, Ruby, PHP и другие программы. Логический уровень будет запущен на веб-сервере. И в этом примере уровень данных будет своего рода базой данных, такой как база данных MySQL, NoSQL или PostgreSQL. Все они запускаются на отдельном сервере базы данных. Богатые интернет-приложения и мобильные приложения также соответствуют одной и той же трехуровневой архитектуре.

Конечным пользователям требуется доступ только к части базы данных, а не к полной базе данных. Различные пользователи нуждаются в разных представлениях базы данных. И поэтому может быть много абстракций уровня уровня одной базы данных.

Преимущества трехуровневой архитектуры:

1. Основная цель этого - предоставить абстракцию данных.

2. К этим же данным могут обращаться разные пользователи с различными индивидуальными представлениями.

3. Пользователь не заинтересован в деталях хранения физических данных.

4. Структура физической памяти может быть изменена без необходимости изменения внутренней структуры базы данных, а также просмотра пользователями.

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

Архитектура «N» уровня

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

Мало того, что программное обеспечение выигрывает от возможности получать услуги по наилучшей возможной скорости, но также легче управлять. Это связано с тем, что при работе над одним разделом сделанные вами изменения не влияют на другие функции. И если есть проблема, пользователь может легко определить, откуда она берется.

На рисунке 6 представлена архитектура «N» уровня.

Рисунок 6 - Архитектура «N» уровня

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

Безопасность. Вы можете защитить каждый из трех уровней отдельно, используя разные методы.

Простота управления: вы можете управлять каждым уровнем отдельно, добавляя или изменяя каждый уровень, не влияя на другие уровни.

Масштабируемость. Если вам нужно добавить больше ресурсов, вы можете сделать это на уровне, не затрагивая другие уровни.

Гибкость: помимо изолированной масштабируемости вы также можете расширить каждый уровень любым способом, который ваш диктует ваши требования.

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

Когда речь идет о n-уровневой архитектуре, трехуровневая архитектура довольно распространена. В этой настройке у вас есть уровень представления или GUI, уровень данных и уровень логики приложения.

Есть модели архитектуры n-уровня, которые имеют более трех уровней. Примерами являются приложения, которые имеют эти уровни:

· Сервисы - такие как печать, каталог или службы баз данных

· Бизнес-домен - это уровень, на котором будут размещаться объекты Java, DCOM, CORBA и другого сервера приложений.

· Уровень представления

· Уровень клиента - или тонкие клиенты

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

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

 


Дата добавления: 2019-07-17; просмотров: 115; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!