Проектирование БД (дополнительно)

22
Проектирование баз данных Часть 4. Дополнительные аспекты работы с базами данных (©) Владислав Лавров, vlavrov.professorjournal.ru

Category:

Technology


4 download

TRANSCRIPT

Page 1: Проектирование БД (дополнительно)

Проектирование

баз данных

Часть 4.

Дополнительные аспекты

работы с базами данных(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 2: Проектирование БД (дополнительно)

2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 3: Проектирование БД (дополнительно)

3

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

(database backup).

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

(differential database backup).

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

(file and filegroup backup).

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

(transaction log backup).

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 4: Проектирование БД (дополнительно)

4

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

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

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

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

Внимание !

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

сервере в часы, свободные от работы пользователей

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 5: Проектирование БД (дополнительно)

5

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

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

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

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 6: Проектирование БД (дополнительно)

6

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

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

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

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

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

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

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

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

Sever.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 7: Проектирование БД (дополнительно)

7

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

База данных MODEL

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 8: Проектирование БД (дополнительно)

8

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

База данных TEMPDB

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 9: Проектирование БД (дополнительно)

9

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

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

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

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

среду.

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 10: Проектирование БД (дополнительно)

10

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

1. СУБД должна располагать средствами создания

приложений, которые способны оперировать базами

данных в другом формате, отличном от формата

данной СУБД;

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

созданных средствами разработки других фирм.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 11: Проектирование БД (дополнительно)

11

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

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

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

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

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

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

функции интерфейса ODBC, которые реализованы в специальных

модулях, называемых ODBC-драйверами. Как правило, ODBC-

драйверы - это DLL-библиотеки, при этом одна DLL-библиотека может

поддерживать несколько ODBC-драйверов.

При установке на компьютер любого SQL-сервера автоматически

выполняется регистрация в реестре Windows и соответствующего

ODBC-драйвера.(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 12: Проектирование БД (дополнительно)

12

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

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

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

. . .

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

ODBC-драйвер

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

ODBC-драйвер

ODBC API

ODBC API

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

ODBC-драйвер

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 13: Проектирование БД (дополнительно)

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 14: Проектирование БД (дополнительно)

14

Создание источника данных DSN (Data Source Name)

1. Программно с помощью функции ODBC API.

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 15: Проектирование БД (дополнительно)

15

Типы источников данных DSN

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 16: Проектирование БД (дополнительно)

16

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

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

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

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 17: Проектирование БД (дополнительно)

17

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

1. Не требуется синхронная фиксация изменений в системе.

На практике существует множество задач, когда не требуется

синхронное обновление данных, а достаточно периодическое их обновление.

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

и периодически копировать (реплицировать) их в другие узлы.

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

(повышается скорость доступа к данным).

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

вследствие чего существенного сокращается сетевой трафик.

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

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

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

т.к. тиражирование предполагает буферизацию потока транзакций и после

восстановления связи передача возобновится с той функции,

на которой она была прервана.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 18: Проектирование БД (дополнительно)

18

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

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

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

Базаданных

Сервер БД

Репликатор

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

транзакций

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

12

3

Базаданных

Сервер БД

Репликатор

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

транзакций

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

8

4 5

7

9

1011

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

6

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 19: Проектирование БД (дополнительно)

19

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

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

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 20: Проектирование БД (дополнительно)

20

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

• Статья (Article) – таблица или ее часть,

выбранная для копирования.

Отбор части таблицы может быть как

вертикальным (часть столбцов), так и

горизонтальным (часть строк, отбираемых

согласно установленного критерия).

• Публикация (Publication) – набор статей,

копируемых с сервера издателя как одно

целое.

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 21: Проектирование БД (дополнительно)

21

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

Издатель(Publisher)

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

(©) Владислав Лавров, vlavrov.professorjournal.ru

Page 22: Проектирование БД (дополнительно)

22

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

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

снимков (snapshot replication)

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

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

(©) Владислав Лавров, vlavrov.professorjournal.ru