Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Сравнение архитектур



Основные понятия представления данных.

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

Элемент данных — поле, единица поименованных данных.

Логическая запись — поименованная совокупность полей данных, т.е полей.

Экземпляр лог.записи — текущее значение элементов записи.

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

2. Централизованная архитектура БД:

При использовании этой технологии база данных, СУБД и прикладная программа (приложение) располагаются на одном компьютере (мэйнфрейме или персональном компьютере) (рис.3.1.). Для такого способа организации не требуется поддержки сети и все сводится к автономной работе.

Работа построена следующим образом:

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

· На том же компьютере установлены СУБД и приложение для работы с БД.

· Пользователь запускает приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации.

· Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД.

· СУБД инициирует обращения к данным, обеспечивая выполнение запросов пользователя (осуществляя необходимые операции над данными).

· Результат СУБД возвращает в приложение.

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Недостаток: снижение производительности при увеличение числа пользователей.

3. Архитектура «Файл-сервер»:

Использование архитектуры «клиент-сервер» предполагает наличие некоторого количества компьютеров, объединенных в сеть, один из которых выполняет особые управляющие функции (является сервером сети). Эта архитектура баз данных с сетевым доступом предполагает назначение одного из компьютеров сети в качестве выделенного сервера, на котором будут храниться файлы базы данных. В соответствии с запросами пользователей файлы с файл-сервера передаются на рабочие станции пользователей, где и осуществляется основная часть обработки данных. Центральный сервер выполняет в основном только роль хранилища файлов, не участвуя в обработке самих данных.

Работа построена следующим образом:

· База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (файлового сервера).

· Существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлены СУБД и приложение для работы с БД.

· На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации.

· Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на файловом сервере.

· СУБД инициирует обращения к данным, находящимся на файловом сервере, в результате которых часть файлов БД копируется на клиентский компьютер и обрабатывается, что обеспечивает выполнение запросов пользователя (осуществляются необходимые операции над данными).

· При необходимости (в случае изменения данных) данные отправляются назад на файловый сервер с целью обновления БД.

· Результат СУБД возвращает в приложение.

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Недостатки:

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

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

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

4. В БД на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты Database Desktop фирмы Borland для файлов Paradox и dBase); подобная возможность облегчается тем обстоятельством, что фактически у таких СУБД база данных – понятие более логическое, чем физическое, поскольку под БД понимается набор отдельных таблиц, сосуществующих в отдельном каталоге на диске. Все это позволяет говорить о низком уровне безопасности – как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения ошибочных изменений.

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

4. Архитектура «Клиент-сервер»:

Использование технологии " клиент – сервер " предполагает наличие некоторого количества компьютеров, объединенных в сеть, один из которых выполняет особые управляющие функции (является сервером сети). ак, архитектура " клиент – сервер " разделяет функции приложения пользователя (называемого клиентом) и сервера. Приложение -клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL (Structured Query Language), являющемся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его SQL -серверу БД. SQL - сервер – специальная программа, управляющая удаленной базой данных. SQL - сервер обеспечивает интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю. Так как клиентскому приложению посылается результат выполнения запроса, по сети "путешествуют" только те данные, которые необходимы клиенту. В итоге снижается нагрузка на сеть. Поскольку выполнение запроса происходит там же, где хранятся данные (на сервере), нет необходимости в пересылке больших пакетов данных. Кроме того, SQL - сервер, если это возможно, оптимизирует полученный запрос таким образом, чтобы он был выполнен в минимальное время с наименьшими накладными расходами.

Итак, в результате работа построена следующим образом:

· База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (сервера сети).

· СУБД располагается также на сервере сети.

· Существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлено клиентское приложение для работы с БД.

· На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к СУБД, расположенной на сервере, на выборку/обновление информации. Для общения используется специальный язык запросов SQL, т.е. по сети от клиента к серверу передается лишь текст запроса.

· СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

· СУБД инициирует обращения к данным, находящимся на сервере, в результате которых на сервере осуществляется вся обработка данных и лишь результат выполнения запроса копируется на клиентский компьютер. Таким образом СУБД возвращает результат в приложение.

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Рассмотрим основные достоинства данной архитектуры по сравнению с архитектурой «файл-сервер»:

1. Существенно уменьшает сетевой трафик.

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

3. Наличие специального программного средства – SQL-сервера – приводит к тому, что существенная часть проектных и программистских задач становится уже решенной.

4. Существенно повышает целостность и безопасность БД.

Однако нельзя не указать и некоторые недостатки и трудности, с которыми приходится сталкиваться при применении данной архитектуры. Во-первых, это стоимость SQL-сервера. Внедрение архитектуры «клиент-сервер» требует существенных финансовых ресурсов. К числу недостатков можно отнести и то, что большое количество клиентских компьютеров, расположенных в разных местах, вызывает определенные трудности со своевременным обновлением клиентских приложений на всех компьютерах-клиентах. Однако, эти недостатки не являются препятствием к использованию данных принципов построения корпоративных информационных систем. Так, архитектура «клиент-сервер» хорошо зарекомендовала себя на практике, в настоящий момент существует и функционирует большое количество БД, построенных в соответствии с данной архитектурой.

5. Трехзвенная архитектура «Клиент-сервер»:

Трехзвенная (в некоторых случаях многозвенная) архитектура (N- tier или multi- tier). представляет собой дальнейшее совершенствование технологии " клиент – сервер ". Рассмотрев архитектуру " клиент – сервер ", можно заключить, что она является 2-звенной: первое звено – клиентское приложение, второе звено – сервер БД + сама БД. В трехзвенной архитектуре вся бизнес-логика (деловая логика), ранее входившая в клиентские приложения, выделяется в отдельное звено, называемое сервером приложений. При этом клиентским приложениям остается лишь пользовательский интерфейс. Так, в качестве клиентского приложения в описанном выше примере выступает Web-браузер.

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

1. Представление данных — на стороне клиента.

2. Прикладной компонент — на выделенном сервере приложений (как вариант, выполняющем функциипромежуточного ПО).

3. Управление ресурсами — на сервере БД, который и представляет запрашиваемые данные.

Итак, в результате работа построена следующим образом:

· База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (сервера сети).

· СУБД располагается также на сервере сети.

· Существует специально выделенный сервер приложений, на котором располагается программное обеспечение (ПО) делового анализа (бизнес-логика) [ [ 3.1 ] ].

· Существует множество клиентских компьютеров, на каждом из которых установлен так называемый "тонкий клиент" – клиентское приложение, реализующее интерфейс пользователя.

· На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение – тонкий клиент. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к ПО делового анализа, расположенному на сервере приложений.

· Сервер приложений анализирует требования пользователя и формирует запросы к БД. Для общения используется специальный язык запросов SQL, т.е. по сети от сервера приложений к серверу БД передается лишь текст запроса.

· СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

· СУБД инициирует обращения к данным, находящимся на сервере, в результате которых результат выполнения запроса копируется на сервер приложений.

· Сервер приложений возвращает результат в клиентское приложение (пользователю).

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Сравнение архитектур

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

1. Высокую степень гибкости и масштабируемости.

2. Высокую безопасность (т.к. защиту можно определить для каждого сервиса или уровня).

3. Высокую производительность (т.к. задачи распределены между серверами).

6. Традиционные файловые системы:

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

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

Некоторые недостатки:

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

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

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

- Зависимость от данных. Физическая структура и способ хранения информации жестко зафиксировано в коде программы.

- Несовместимость формата файла. Т.к структура файлов определяется кодом приложения, то она так же зависит от языка этого приложения и обратиться к файлу заданный и написанный на другом языке может быть затруднительным.

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

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





Дата публикования: 2015-02-18; Прочитано: 3729 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...