Задачи, решаемые с помощью баз данных

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

Второе направление связано с использованием вычислительной техники для создания, хранения и обработки больших массивов данных. Такие задачи решают информационные системы (ИС). К ним относятся поисковые, справочные, банковские системы, автоматизированные системы управления предприятием. Задачи такого типа требуют больших объемов внешней памяти при относительно небольших расчетах.

Вторая область применения возникла несколько позже первой. Это связано с тем, что на первых этапах внешняя память вычислительных систем была несовершенной, поэтому надежное хранение больших объемов данных не представлялось возможным.

Информационная система представляет собой аппаратно-программный комплекс, обеспечивающий выполнение следующих функций:

− ввод данных об объектах некоторой предметной области;

− надежное хранение и защита данных во внешней памяти вычислительной системы;

− дополнение, удаление, изменение данных;

− сортировка, выборка данных по запросам пользователей;

− выполнение специфических для данной предметной области преобразований информации;

− предоставление пользователям удобного интерфейса;

− обобщение данных и составление отчетов.

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

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

Приведём пример неструктурированных данных:

Студент по фамилии Петров с именем Петр и отчеством Петрович учится в группе ОБД-Р11, а Иванов Иван Иванович – в ЭТС-Р11. Сидор Сидорович Сидоров учится в группе БМП-Р11.

А теперь, для сравнения, приведём пример структурированных данных, в котором представлена, практически та же самая информация:

Группа Фамилия Имя Отчество
ОБД-Р11 Петров Петр Петрович
ЭТС-Р11 Иванов Иван Иванович
БМП-Р11 Сидоров Сидор Сидорович

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

Ведение (сопровождение, поддержка) данных – термин, объединяющий действия по добавлению, удалению или изменению хранимых данных. Под визуализацией информации БД понимается отбор отображаемых данных в соответствии с заданным критерием, упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.

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

Классификация БД

По технологии обработки данных БД подразделяются на централизованные и распределенные.

Централизованная БД хранится целиком в памяти одной вычислительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем.

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: