22
Инструментально-программный методический комплекс Методы и средства проектирования информационных систем и технологий Проектирование баз данных Часть 4. Дополнительные аспекты работы с базами данных

3_04 - МиСПИСТ (ПБД Дополнительно)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 3_04 - МиСПИСТ (ПБД Дополнительно)

Инструментально-программный

методический комплекс

Методы и средства проектирования информационных систем и технологий

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

Часть 4. Дополнительные аспекты работы с базами данных

Page 2: 3_04 - МиСПИСТ (ПБД Дополнительно)

2

Возможные причины потери базы данных

• сбой в электропитании или работе оборудования;

• ошибка в функционировании системного программного обеспечения;

• ошибка в прикладном программном обеспечении;

• человеческий фактор.

Вопросы для администратора базы данных

1. Какое резервное копирование существует в SQL Server?

2. Когда осуществлять резервное копирование?

3. Как часто необходимо выполнять резервное копирование?

4. Что следует копировать?

5. Куда следует копировать?

6. Каков алгоритм восстановления данных?

7. Как осуществлять резервное копирование?

8. Как осуществлять восстановление данных?

4.1. Резервное копирование

Page 3: 3_04 - МиСПИСТ (ПБД Дополнительно)

3

1. Полное резервное копирование базы данных

(database backup).

2. Дифференциальное резервное копирование

(differential database backup).

3. Резервное копирование файлов и групп файлов

(file and filegroup backup).

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

(transaction log backup).

Типы резервного копирования в MS SQL Server

Page 4: 3_04 - МиСПИСТ (ПБД Дополнительно)

4

Раз в неделю - полное резервное копирование

Раз в день – дифференциальное резервное копирование

Каждые 2-3 часа - резервное копирование журнала транзакций

Примерный график резервного копирования

Внимание !

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

Page 5: 3_04 - МиСПИСТ (ПБД Дополнительно)

5

Резервирование системных баз данных

Системная база данных Master

Содержит информацию о пользовательских БД, yчетных записях,

настройках SQL Server и др.

Это одна из самых главных системных баз данных.

Для нее возможно только полное резервное копирование.

Page 6: 3_04 - МиСПИСТ (ПБД Дополнительно)

6

Резервирование системных баз данных

Системная база данных MSDB

Содержит информацию, используемую службой SQLServerAgent

(операторы, оповещения, задания).

Для этой базы данных возможно как полное резервное копирование,

так и дифференциальное резервное копирование.

Создание резервных копий этой базы данных пригодится, если вы

собираетесь автоматизировать процесс администрирования SQL

Sever.

Page 7: 3_04 - МиСПИСТ (ПБД Дополнительно)

7

Резервирование системных баз данных

База данных MODEL

Содержит шаблоны пользовательских баз данных.

Если администратор не создает своих шаблонов, то и резервное

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

Page 8: 3_04 - МиСПИСТ (ПБД Дополнительно)

8

Резервирование системных баз данных

База данных TEMPDB

Предназначена для хранения временных объектов.

Поскольку эта база данных воссоздается при каждом запуске SQL

Server, делать ее резервную копию не имеет смысла.

Page 9: 3_04 - МиСПИСТ (ПБД Дополнительно)

9

4.2. Межоперабильность (интероперабельность) СУБД

Межоперабильность

открытость системы, которая позволяет встраивать СУБД

как отдельный компонент в сложную разнородную, распределенную

среду.

Межоперабильность достигается использованием интерфейсов,

отвечающих международным стандартам.

Page 10: 3_04 - МиСПИСТ (ПБД Дополнительно)

10

Свойства интерфейсов СУБД

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

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

Page 11: 3_04 - МиСПИСТ (ПБД Дополнительно)

11

Интерфейс ODBC (Open Database Connectivity)

Разработан фирмой Microsoft как открытый интерфейс доступа к

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

взаимодействия прикладной программы, называемой клиентом (или

приложением-клиентом), с сервером - базой данных.

Для взаимодействия с базой данных приложение-клиент вызывает функции интерфейса ODBC, которые реализованы в специальных модулях, называемых ODBC-драйверами. Как правило, ODBC-драйверы - это DLL-библиотеки, при этом одна DLL-библиотека может поддерживать несколько ODBC-драйверов.

При установке на компьютер любого SQL-сервера автоматически выполняется регистрация в реестре Windows и соответствующего ODBC-драйвера.

Page 12: 3_04 - МиСПИСТ (ПБД Дополнительно)

12

Архитектура ODBC

Приложение - клиент

Менеджер драйверов

. . .

Источникданных

ODBC-драйвер

Источникданных

ODBC-драйвер

ODBC API

ODBC API

Источникданных

ODBC-драйвер

Page 13: 3_04 - МиСПИСТ (ПБД Дополнительно)

13

Взаимодействие элементов ODBC

БД Informix

БД SQL Base

БД настольной

СУБД

ODBC-драйверOracle

ПриложениеПриложение

Менеджер драйверов

ODBC-драйверSQL Base

ODBC-драйверInformix

ODBC-драйверFoxPro

Client NetInformix

Client NetSQL Base

Client NetOracle

БД Oracle

Client NetInformix

Client NetSQL Base

Client NetOracle

Page 14: 3_04 - МиСПИСТ (ПБД Дополнительно)

14

Создание источника данных DSN (Data Source Name) 1. Программно с помощью функции ODBC API.

2. Интерактивно с использованием утилиты ODBC (в зависимости от версии Windows, расположенную на панели управления или администрирования).

Page 15: 3_04 - МиСПИСТ (ПБД Дополнительно)

15

Типы источников данных DSN1. Системный DSN

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

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

3. Пользовательский DSN наиболее часто применяемый источник, информация о котором хранится в реестре Windows. В системе Windows NT/2000/XP каждый пользовательский DSN ассоциируется с конкретным пользовательским профилем и не доступен вне его.

Page 16: 3_04 - МиСПИСТ (ПБД Дополнительно)

16

4.2. Репликация баз данных

Репликация (тиражирование) это асинхронный перенос изменений объектов исходной БД в базы данных, которые принадлежат различным узлам распределенной системы.

Особенностьперемещение информации протекает в реальном времени.

Функции тиражирования выполняет специальный сервер тиражирования БД (сервер репликации, репликатор).

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

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

Page 17: 3_04 - МиСПИСТ (ПБД Дополнительно)

17

Достоинства технологии тиражирования

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

2. Можно накапливать изменения в данных в виде транзакций в одном узле сети и периодически копировать (реплицировать) их в другие узлы.

3. Данные можно расположить там, где они обрабатываются (повышается скорость доступа к данным).

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

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

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

Page 18: 3_04 - МиСПИСТ (ПБД Дополнительно)

18

Схема репликации данных

1. Проектируется правило репликации;

2. Проводится конфигурирование системы реплицирования.

Базаданных

Сервер БД

Репликатор

Менеджер журнала

транзакций

ПриложениеПриложение

1 2

3

Базаданных

Сервер БД

Репликатор

Менеджер журнала

транзакций

ПриложениеПриложение

8

4 5

7

9

1011

Узел первичных данныхУзел вторичных данных

6

Page 19: 3_04 - МиСПИСТ (ПБД Дополнительно)

19

Участники процесса репликации в MS SQL Server

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

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

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

Page 20: 3_04 - МиСПИСТ (ПБД Дополнительно)

20

Объекты репликации

• Статья (Article) – таблица или ее часть, выбранная для копирования. Отбор части таблицы может быть как вертикальным (часть столбцов), так и горизонтальным (часть строк, отбираемых согласно установленного критерия).

• Публикация (Publication) – набор статей, копируемых с сервера издателя как одно целое.

Page 21: 3_04 - МиСПИСТ (ПБД Дополнительно)

21

Настройка участников репликации в MS SQL Server

Издатель(Publisher)

Подписчик(Subscriber)

Page 22: 3_04 - МиСПИСТ (ПБД Дополнительно)

22

Модели репликации в MS SQL Server

1. Репликация моментальных (или мгновенных)

снимков (snapshot replication)

2. Репликация транзакций (transaction replication)

3. Репликация сведением (merge replication)