579.25K
Category: databasedatabase

Управление серверами. Управление базами данных

1.

2.

3.

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

4.

Большинство СУБД используют язык SQL (Structured Query Language —
язык структурированных запросов), так как он удобен для описания
логических подмножеств БД.
Назначение SQL:
создание БД и таблицы с полным описанием их структуры;
выполнение основных операций манипулирования данными (такие как
вставка, модификация и удаление данных из таблиц);
выполнение простых и сложных запросов.
Одна из ключевых особенностей языка SQL заключается в том, что с его
помощью формируются запросы, описывающие какую информацию из
базы данных необходимо получить, а пути решения этой задачи
программа определяет сама.

5.

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

6.

Примеры серверов БД:
SQL SERVER (Microsoft);
SQL BASE SERVER;
Oracle SERVER (Oracle Corporation);
IBM DB2, Informix.
Каждый сервер БД может работать на определенных типах компьютеров и
сетей.
Операционными системами серверов могут быть MSDOS, OS/2, Xenix,Unix,
Dec VMS.
Рабочие станции пользователей обычно работают под управление MSDOS,
OS/2, Xenix, Unix.
Существуют возможности смешанного использования различных ОС.
Большая часть SQL-серверов может хранить описание БД в системном
каталоге, который обычно бывает доступен пользователям. Для обращения
к этому каталогу используются SQL-запросы. Реляционные СУБД могут
использовать информацию, хранящуюся в системном каталоге для
оптимизации SQL-запросов.

7.

Большинство
SQL-серверов
поддерживают
ссылочную
целостность
реляционных БД, состоящих из отдельных таблиц, которые могут быть
объединены на основе общей информации
Рассмотрим на следующем примере: база данных содержит таблицу клиентов
и таблицу заказов, которые связаны полем номера клиента, содержащимся в
обеих таблицах.
Поскольку может быть более одного заказа от одного клиента, соотношение
таблиц — «один-ко-многим». Когда таблицы соединены, то таблица клиентов
является родительской, а таблица заказов — дочерней. Если запись-родитель
стирается, а соответствующие ей дочерние записи — нет, то говорят, что
дочерние записи «осиротели».
Ссылочная целостность означает, что ни в одной таблице не допустимы записи«сироты». Запись может осиротеть тремя способами:
1)родительская запись удалена;
2)родительская запись изменена таким образом, что связь между
«родителем» и «потомками» потеряна;
3)введена дочерняя запись без соответствующей родительской.

8.

Поддержание
способами:
ссылочной целостности
возможно несколькими
1.
Через ключи, хранящиеся в таблицах БД (родительские таблицы
содержат первичные ключи, представляющие собой комбинации
внешних ключей, которые могут быть найдены внутри каждой из
дочерних таблиц).
2.
Использование присоединенных процедур — процедурная
ссылочная
целостность.
Присоединенные
программы
обеспечивают ссылочную целостность за счет автоматического
выполнения предложений SQL всякий раз, когда встречается
одно из предложений UPDATE/INSERT или DELETE (либо
запрещается удаление родительской записи, либо стираются все
дочерние записи).

9.

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

10.

Согласованность чтения
Характерна для многопользовательских СУБД. Для её
реализации серверы обладают средствами автоматической
блокировки.
Уровни, на которых блокируется таблица во время
обновлений:
- вся таблица;
- страница (физический блок размером от 1 до 4 Кбайт,
содержащий несколько записей).
Тупиковые ситуации
Серверы БД должны иметь средства определения состояния
взаимоблокировки (dead lock). При возникновении такой
ситуации выполнение одной из транзакций прерывается,
выводя другую транзакцию из состояния вечного ожидания.
Прерванная транзакция после исключения возможности её
блокировки выполняется сначала.

11.

Цель оптимизации состоит в обеспечении как можно
более быстрого получения ответа на запрос с
минимальным числом обращений к БД.
Существует два типа оптимизации на языке SQL
оптимизация по синтаксису;
оптимизация по затратам;

12.

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

13.

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

14.

По модели данных:
Иерархические
Сетевые
Реляционные
Объектно-ориентированные
Объектно-реляционные
По степени распределённости:
Локальные СУБД (все части локальной СУБД размещаются на одном
компьютере)
Распределённые СУБД (части СУБД могут размещаться на двух и более
компьютерах).

15.

По способу доступа к БД:
Файл-серверные
В файл-серверных СУБД файлы данных располагаются централизованно на файлсервере. СУБД располагается на каждом клиентском компьютере (рабочей
станции). Доступ СУБД к данным осуществляется через локальную сеть.
Синхронизация чтений и обновлений осуществляется посредством файловых
блокировок. Преимуществом этой архитектуры является низкая нагрузка на
процессор файлового сервера.
Недостатки:
потенциально высокая загрузка локальной сети;
затруднённость или невозможность централизованного управления;
затруднённость или невозможность обеспечения таких важных характеристик
как высокая надёжность, высокая доступность и высокая безопасность.
Применяются чаще всего в локальных приложениях, которые используют
функции управления БД; в системах с низкой интенсивностью обработки данных
и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её
использование в крупных информационных системах — недостатком.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

16.

Клиент-серверные
Клиент-серверная СУБД располагается на сервере вместе с БД и
осуществляет доступ к БД непосредственно, в монопольном режиме. Все
клиентские запросы на обработку данных обрабатываются клиентсерверной СУБД централизованно.
Недостаток клиент-серверных СУБД состоит в повышенных требованиях к
серверу.
Достоинства:
потенциально более низкая загрузка локальной сети;
удобство централизованного управления; удобство обеспечения таких
важных характеристик как высокая надёжность, высокая доступность и
высокая безопасность.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server,
Sybase Adaptiv Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

17.

Встраиваемые
Встраиваемая СУБД — СУБД, которая может поставляться как составная
часть некоторого программного продукта, не требуя процедуры
самостоятельной установки.
Встраиваемая СУБД предназначена для локального хранения данных
своего приложения и не рассчитана на коллективное использование в
сети.
Физически встраиваемая СУБД чаще всего реализована в
виде подключаемой библиотеки.
Доступ к данным со стороны приложения может происходить
через SQL либо через специальные программные интерфейсы.
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL
Server Compact, ЛИНТЕР.
English     Русский Rules