В файл серверных субд сервер только что делает но не участвует в обработке данных

Обновлено: 07.07.2024

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

Существуют две технологии (архитектуры) обработки удаленных данных:

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

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

Обработка запроса одного пользователя: - Обращение к БД (запрос) - Перекачка данных с блокировкой доступа других пользователей - Обработка данных на компьютере пользователя Обработка запроса нескольких пользователей: - Одновременный запрос к тем же данным в БД - Ответ: "Данные заблокированы, подождите, или откройте в режиме только для чтения".

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

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

Недостатки ФАЙЛ-СЕРВЕРНОЙ системы:

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

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

Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.

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

Обработка запроса одного пользователя: – Обращение к БД (SQL-запрос) – Передача ответа – результата обработки Обработка запроса нескольких пользователей: – Одновременный SQL-запрос к тем же данным в БД – Передача ответа – результата обработки.

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

Такой подход обеспечивает решение трех важных задач:

уменьшение нагрузки на сеть

уменьшение требований к компьютерам-клиентам

повышение надежности и сохранение логической целостности базы данных.

Понятие объектно-ориентированных баз данных (ООБД). Особенности проектирование ООБД. Основные характеристики и преимущества и недостатки ООСУБД.

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

Особенности проектирование ООБД.

Поскольку система баз данных является системным программным обеспечением, функции которого вызываются приложением, написанным на определенных базовых языках, можно выделить два различных подхода к проектированию ООБД. Первый состоит в хранении и управлении объектами, созданными программами, которые написаны на конкретных объектно-ориентированных языках, в частности, на С++ или Smalltalk Конечно, для этого можно использовать и РБД. Однако такие базы данных ничего не знают об объектах, методах и наследовании. Поэтому необходимо написать "менеджер объектов" или "объектно-ориентированный слой" для управления методами и наследованием и для трансляции объектов в кортежи отношений. Но менеджер объектов вместе с РБД и дают ООБД (конечно, с низкой производительностью).

Другой подход предоставляет доступ к объектно-ориентированным средствам пользователям традиционных языков. Этот подход, по сути, превращает такие языки, как С, FORTRAN, COBOL и т.д., в объектно-ориентированные языки. Спроектированные таким образом ООБД могут использоваться для хранения и управления объектами, созданными программами, написанными и на объектно-ориентированных языках. Хотя для отображения таких объектов в объекты базы данных также нужен программный слой, он намного проще, чем менеджер объектов, требуемый РБД.

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

Структура объектной модели описываются с помощью трех ключевых понятий:

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

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

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

Для поддержания целостности объектно-ориентированный подход предлагает использовать следующие средства:

автоматическое поддержание отношений наследования

возможность объявить некоторые поля данных и методы объекта как "скрытые", не видимые для других объектов; такие поля и методы используются только методами самого объекта

создание процедур контроля целостности внутри объекта

Средства манипулирования данными:

К сожалению, в объектно-ориентированном программировании отсутствуют общие средства манипулирования данными, такие как реляционная алгебра или реляционное счисление. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java.

Основные преимущества и недостатки ООСУБД

В объектно-ориентированных базах данных, в отличие от реляционных, хранятся не записи, а объекты. ОО-подход представляет более совершенные средства для отображения реального мира, чем реляционная модель:

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

имеется возможность определения новых типов данных и операций с ними.

В то же время, ОО-модели присущ и ряд недостатков:

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

вместо чисто декларативных ограничений целостности (типа явного объявления первичных и внешних ключей реляционных таблиц с помощью ключевых слов PRIMARY KEY и REFERENCES) или полудекларативных триггеров для обеспечения внутренней целостности приходится писать процедурный код.

Очевидно, что оба эти недостатка связаны с отсутствием развитых средств манипулирования данными. Эта задача решается двумя способами - расширение ОО-языков в сторону управления данными (стандарт ODMG), либо добавление объектных свойств в реляционные СУБД (SQL-3, а также так называемые объектно-реляционных СУБД).

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

Содержание

Основные функции СУБД

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

Обычно современная СУБД содержит следующие компоненты:

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

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

По модели данных

По типу управляемой базы данных СУБД разделяются на:

По архитектуре организации хранения данных

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

По способу доступа к БД

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

На данный момент файл-серверные СУБД считаются устаревшими.

Примеры: Microsoft Access, Borland Paradox.

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

Примеры: Interbase, IBM DB2, MS SQL Server, Oracle, MySQL, ЛИНТЕР.

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

Ссылки

Русскоязычные сайты

Зарубежные сайты

Литература

См. также

DDL, SELECT | INSERT | UPDATE | MERGE | DELETE | JOIN | UNION | CREATE | ALTER | DROP
Сравнение синтаксиса

Типы реализаций
Flat file | Deductive | Dimensional | Иерархическая | Объектно-ориентированная | Temporal

Свободные системы
Ingres | PostgreSQL | Sav Zigzag |

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое "Файл-серверная СУБД" в других словарях:

Клиент-серверная СУБД — СУБД, использующая технологию «клиент сервер». Клиент серверная СУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на сервер. Клиент может выполнять функции … Википедия

Microsoft SQL Server — Тип Реляционная СУБД Разработчик Sybase, Ashton Tate, Microsoft … Википедия

ZODB — Zope Object DataBase Тип Объектно ориентированная база данных Разработчик Zope Corporation и соавторы Написана на Python Операционная система Кроссплатформенное ПО Последняя версия 3.10.5 (19 ноября 2011 … Википедия

Программы UNIX-подобных операционных систем — Это список популярных программ, работающих в операционных системах основанных на UNIX (POSIX совместимых). Некоторые из этих программ являются стандартными для UNIX подобных систем. Содержание 1 Системный софт 1.1 Общего назначения … Википедия

CUBRID — Тип Реляционная СУБД Разработчик Search Solutions Написана на C, C++ Операционная система Кроссплатформенное программное обеспечение Язык интерфейса Ан … Википедия

mSQL — Тип Реляционная СУБД Разработчик Hughes Technologies Последняя версия 3.11 (1 июня 2012 года) Лицензия Коммерческая, для разработчиков Сайт … Википедия

BaseX — Графический интерфейс пользователя BaseX Тип Документо ориентированная СУБД … Википедия

Сетевые версии настольных СУБД отличаются от локальных версий тем, что они обладают некоторыми специальными механизмами, позволяющими многим пользователям совместно обращаться к общим ресурсам данных из централизованной базы данных. СУБД на каждой рабочей станции посылает запросы файловому серверу по всем необходимым ей данным, которые хранятся на диске файлового сервера. Все данные из БД пересылаются на компьютер пользователя, независимо от того, сколько реально их нужно для выполнения запроса. В результате на компьютере пользователя создается локальная копия БД (время от времени обновляемая из реальной БД на сервере). Затем СУБД пользователя выполняет запрос. Недостатки: 1. при совместном использовании файлов по локальной сети передаются большие объемы данных.2. системы с совместным использованием файлов редко используются для обработки больших объемов данных.3. При такой архитектуре вся тяжесть выполнения запроса к БД и управления целостностью БД ложится на СУБД пользователя.4. На каждой рабочей станции должна находиться сама сетевая версия настольной СУБД, что требует наличия больших объемов оперативной памяти на компьютере пользователя.5. Доступ к одним и тем же файлам могут осуществлять сразу несколько пользователей, что усложняет управление целостностью, восстановлением БД на сервере.

Настольные СУБД используют в модели вычислений с сетью и файловым сервером (архитектура «файл-сервер»).

Достоинства настольных СУБД:

•они являются простыми для освоения и использования;

•обладают дружественным пользовательским интерфейсом;

•ориентированы на класс ПК, на самую широкую категорию пользователей – непрофессионалов;

•обеспечивают хорошее быстродействие при работе с небольшими БД.

Недостатки настольных СУБД:

•при росте объемов хранимых данных и увеличении числа пользователей снижается их производительность и могут возникать сбои при обработке данных;

•контроль за целостностью совершается внутри пользовательского приложения, что может вызывать нарушение целостности данных;

•очень малая эффективность работы в компьютерной сети.

Известно более десятка настольных СУБД. Наиболее популярными, исходя из числа проданных копий признаются DBASE, Visual DBASE, Paradox, Microsoft FoxPro, Visual FoxPro, Access.

68. Клиент/серверные системы: клиенты, серверы, клиентские приложения, серверы баз данных

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

46.Клиент/серверные системы: клиентские приложения, серверы БД. Выполнение запросов в архитектуре клиент/сервер. Преимущества клиент/серверной обработки. Характеристики серверов БД.

В архитектуре клиент/сервер функции клиентского приложения и серверной СУБД разделены. Функции клиентского приложения разбиваются на следующие группы:

•ввод-вывод данных (презентационная логика) – это часть кода клиентского приложения, которая определяет, что пользователь видит на экране, когда работает с приложением;

•бизнес-логика – это часть кода клиентского приложения, которая определяет алгоритм решения конкретных задач приложения;

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




Сервер баз данных в общем случае осуществляет целый комплекс действий по управлению данными. Основными среди них являются следующие:

•выполнение пользовательских запросов на выбор и модификацию данных и метаданных, получаемых от клиентских приложений, функционирующих на ПК локальной сети;

•хранение и резервное копирование данных;

•поддержка ссылочной целостности данных согласно определенным в БД правилам;

•обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователя;

•протоколирование операций и ведение журнала транзакций.

Преимущества клиент/серверной обработки:

•уменьшается сетевой трафик, так как через сеть передаются только результаты запросов.

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

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

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

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

Характеристики серверов баз данных

Современные серверные СУБД:

•существуют в нескольких версиях для различных платформ, как правило, для различных коммерческих версий UNIX – Solaris, HP/UX. Многие производители также выпускают версии своих серверов баз данных для Windows NT Workstation Windows 95/98, а также версии для Linux;

•в большинстве случаев поставляются с удобными административными утилитами;

•осуществляют резервное копирование и архивацию данных и журналов транзакций;

•поддерживают несколько сценариев репликаций;

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

•поддерживают создание хранилищ данных и OLAP. Хранилище данных – это совокупность данных, полученных прямо или косвенно их информационных систем, которые содержат текущую и деловую информацию, а также из некоторых внешних источников.

•выполняют распределенные запросы и транзакции;

•дают возможность использовать различные средства проектирования схем данных – универсальные или ориентированные на конкретную СУБД;

•имеют средства разработки клиентских приложений и генераторы отчетов;

•поддерживают публикацию баз данных в Интернет;

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

К современным серверам баз данных относятся Oracle 9 (Oracle), MS SQL Server 2000 (MS), Informix (Informix), Sybase (Sybase), Db2 (IBM).

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

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

3.1. Централизованная архитектура

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

  • База данных в виде набора файлов находится на жестком диске компьютера.
  • На том же компьютере установлены СУБД и приложение для работы с БД .
  • Пользователь запускает приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации.
  • Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД.
  • СУБД инициирует обращения к данным, обеспечивая выполнение запросов пользователя (осуществляя необходимые операции над данными).
  • Результат СУБД возвращает в приложение.
  • Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Подобная архитектура использовалась в первых версиях СУБД DB2 , Oracle , Ingres [ [ 3.1 ] ].

Многопользовательская технология работы обеспечивалась либо режимом мультипрограммирования (одновременно могли работать процессор и внешние устройства – например, пока в прикладной программе одного пользователя шло считывание данных из внешней памяти, программа другого пользователя обрабатывалась процессором), либо режимом разделения времени (пользователям по очереди выделялись кванты времени на выполнение их программ). Такая технология была распространена в период "господства" больших ЭВМ (IBM-370, ЕС-1045, ЕС-1060). Основным недостатком этой модели является резкое снижение производительности при увеличении числа пользователей.

3.2. Технология с сетью и файловым сервером (архитектура "файл-сервер")

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

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

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

В рамках архитектуры " файл-сервер " были выполнены первые версии популярных так называемых настольных СУБД , таких, как dBase и Microsoft Access.

В литературе [ [ 3.2 ] ] указываются следующие основные недостатки данной архитектуры:

Читайте также: