Тупиковые ситуации
Серверы БД должны иметь средства определения состояния взаимоблокировки (dead lock). При возникновении такой ситуации выполнение одной из транзакций прерывается, выводя другую транзакцию из состояния вечного ожидания. Прерванная транзакция после исключения возможности её блокировки выполняется сначала.
Схемы оптимизации работ на языке SQL
Цель оптимизации состоит в обеспечении как можно более быстрого получения ответа на запрос с минимальным числом обращений к БД
Существует два типа оптимизации на языке SQL
· Оптимизация по синтаксису;
· Оптимизация по затратам;
Оптимизация по синтаксису использует тот факт, что в языке
SQL эффективность запроса зависит от того, как он сформулирован. В данном
случае оптимизация зависит от квалификации программиста. При оптимизации по
затратам происходит сбор сведений о БД - числе таблиц, числе строк, типе данных
в каждой строке, доступности индексирования для конкретного столбца и т.д.
Оптимизатор использует эту информацию для выработки наилучшего плана обработки
запросов.
SQL Server построен на принципах, так называемой "истинно параллельной" архитектуры баз данных, когда сервер для выполнения большинства операций использует родной механизм сред операционной системы, что позволяет достичь высокой производительности и масштабирования на системах с несколькими процессорами.
За счет активного использования нитей ядром сервера обеспечивается параллельное выполнение операций сканирования таблиц, параллельной загрузки данных в базы и таблицы, параллельное резервное копирование и восстановление данных, асинхронные операции работы с дисковыми устройствами и асинхронное опережающее чтение.
За счет механизма динамического распределения сред по процессорам,
осуществляется автоматическая балансировка нагрузки. Поддержка в SQL Server
маски использования процессоров, позволяет явно указывать на каких CPU будет
исполняться сервер.
Рис 1.1 Схема реализации типичного SQL сервера и
симметричного сервера Microsoft
Как уже упоминалось, SQL Server поддерживает весьма широкий набор сетевых протоколов. Для каждого из них поддерживается режим прямого доступа с использованием "стандартных" для каждого протокола средств (например, Sockets для TCP/IP или IPS/SPX; Named Pipes для Net Bios), что дает возможность обращаться к серверу не только из среды Windows и OS/2, но и с платформ Mac и Unix. Набор компонентов, обеспечивающих доступ к серверу с клиента, называют также сетевой библиотекой (network library).
Дополнительно для протоколов TCP/IP, IPX/SPX и Named Pipes поддерживается доступ через защищенные вызовы RPC. Данный тип соединений называют trusted connection, или доверительные соединения, а протокол, соответственно, trusted protocol. Указанные типы соединений поддерживаются только на Windows платформах. Для поддержки trusted протокола в комплект поставки сервера входит сетевая библиотека Multi-Protocol Network Library.
Как и большинство серверов баз данных, SQL Server имеет
собственный низкоуровневый протокол доступа, называемый Tabulated DataStream
(TDS). Интерфейс TDS к средствам разработки называют DB-Library. Существуют
версии библиотек для языков C/C++ и Visual Basic. Средствами TDS могут
выполняться любые операции на сервере, однако использование его целесообразно
только в тех случаях, когда применение SQL неэффективно. Как правило, TDS
используют приложения, выполняющие чисто административные функции. Для
непосредственного доступа к данным, Microsoft рекомендует использовать драйверы
в стандарте ODBC, так как родной драйвер ODBC для SQL Server по утверждению
самой Microsoft, имеет те же показатели по функциональности и
производительности, что и DB-Library.
Как принято для серверных приложений Windows NT, ядро SQL Server реализовано в виде набора сервисов, для управления которыми используются административные утилиты.
Компоненты, образующие ядро SQL Server:
Собственно, сервер, который может быть запущен как сервис mssql server или как приложение с командной строки (Sqlservr. exe), в обоих случаях можно указать параметры запуска (через registry или в командной строке);
Компонент SQL Executive - сервис sql executive, обеспечивающий выполнение на основе расписания таких операций, как репликация данных, запуск заданий; кроме того на него возлагается контроль за наступлением событий и оповещение администраторов и/или операторов;
Компонент Distributed Transaction Coordinator - сервис MSDTC, отвечающий за выполнение распределенных транзакций;
Компонент SQL Mail, обеспечивающий интеграцию SQL Server в
почтовую систему организации и позволяющий отправлять запросы и получать
результаты их выполнения по почте. Для SQL Mail отдельный сервис отсутствует,
так как старт почтового клиента осуществляет SQL Executive;
Диаграмма функциональных спецификаций (BFD) позволяет
представить общую структуру ИС, отражающую взаимосвязь различных задач (процедур)
для получения требуемых результатов.
Рисунок 2.1 - Диаграмма иерархии функций
Функциональная модель представляет собой набор диаграмм потоков данных, которые описывают графически смысл операций и ограничений. ДПД отражает функциональные зависимости значений, вычисляемых в системе, включая входные значения, выходные значения и внутренние хранилища данных.
На рисунке 2.2 представлена диаграмма
потоков данных для задачи развертывания сервера баз данных MySQL Server 5.6
Рисунок 2.2 - Диаграмма потоков данных

Основой информационной системы является база данных. Целью любой информационной системы является обработка данных об объектах реального мира. В широком смысле слова база данных - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.Graph Editor - простое, но в тоже время достаточно мощное приложение, предназначенное для создания различного рода диаграмм. Оно позволяет быстро и эффективно рисовать, и редактировать различные диаграммы сети, процесса и организационной структуры.
Программа поддерживает работу со следующими видами диаграмм: иерархические (определяет направление основного потока в схемах и сетях, а также определяет иерархию уровней и зависимостей), органические (определяет данные присущие разным группам, дает представление о взаимосвязях сложно организованных структур), ортогональные (создает четкие диаграммы, с использованием ортогональных соединений в тех местах, где находится минимум пересечений и изгибов), древовидные (подходят для организации древовидных структур, основными элементами в построении которых являются направленные и радиальные стили), а также кольцевые (определяет топологии вида кольца и звезды в сетях и производит группировку объектов в соответствии со структурой сети и организует их на круги).
Все эти возможности позволят нарисовать Вам любую необходимую
диаграмму. Работа с yEd не вызовет затруднений, так как интерфейс является
довольно приятным, продуманным и понятным на интуитивном уровне.
Открываем страницу загрузки дистрибутива:
<#"867215.files/image005.gif">
Рис. 3.1 Запускаем установщик и нажимаем Next
Рис. - 3.2 Выбор типа установки Custom
Рис. - 3.3 Выбор пути установки
Выбираем компоненты. Здесь можно изменить путь установки файлов
MySQL (выделить MySQL Server, нажать кнопку Change), а также путь для хранения
баз данных (выделить MySQL Server Datafiles, нажать кнопку Change):
Рис. - 3.4 Выбор компонентов для установки
Рис. - 3.5 Установка продукта
Завершающий этап установки. Отмечаем опцию "Configure the
MySQL Server now" (настроить сервер MySQL прямо сейчас) и нажимаем Finish:
Рис. - 3.6 Завершающий этап установки
После завершения установки запускается MySQL Server Instance Configuration Wizard. Выбираем сценарий установки: Developer Machine - для установки на домашний компьютер
Отмечаем опции "Enable TCP/IP Networking" и
"Enable Strict Mode". Port Number оставляем без изменений - 3306.
Если к серверу планируются прямые подключения с других компьютеров, отмечаем
опцию "Add firewall exception for this port" (открыть порт в
брандмауэре windows).
Рис. - 3.7 Настройка первоначальных параметров
Установка пароля администратора (root). Опции "Enable
root access from remote machines" и "Create An Anonymous
Account" отмечать не рекомендуется, т.к. они снижают безопасность.
Рис. - 3.8 Ввод rootпароля и создание пользователя
поддерживает два основных типа БД (Inno DB - с поддержкой
транзакций и My ISAM - без транзакций). Multifunctional Database - будет установлена
поддержка БД обоих типов (наш выбор). Transactional Database Only - будет
установлена поддержка только InnoDB. Non-Transactional database Only - будет
установлена поддержка только myISAM.
Рис. - 3.9 Выбор служб и тип пользователя
Далее нажимаем Next и Execute. На этом базовая настройка
завершена.
Рис. - 3.10. Применение параметров
После нажатия клавиши "Finish"происходит переход к
следующему окну
Рис. - 3.11. Настройка сервера завершена
Установка и настройка выбранного сервера завершена. В итоге имеем следующее окно (рис. - 3.12.), с различными возможностями, обновление, удаление, настройка и прочие функции, доступные для управления сервером.
Рис. - 3.12. Установленный MySQL Server 5.6
При взаимодействии клиента и сервера MySQL, используется соединение TCP/IP, поэтому перед установкой необходимо установить протокол TCP/IP если система не использует сетевые соединения сети.
Для запуска MySQL-сервера в системах Windows 7 необходимо
выполнить файл "MySQL 5.6 Command Line Client". Сервер запускается
как командная строка. Затем вводится пароль (в данном случае пароля нет,
поэтому "enter")
Рис. - 3.13. Запуск " MySQL 5.6 Command Line Client
"
Сервер MySQL для Windows 7 обычно устанавливается как сервис, но также предусмотрена возможность запуска сервера MySQL без установки сервиса. Для того, чтобы установить MySQL как сервис, необходимо выполнить командуnt - install [3.1]
При этом появляется возможность управления сервером как из командной строки с помощью команд:START mysql [3.2]STOP mysql [3.3]
Предусмотрена возможность удаления сервиса, для этого следует выполнить командуnt - remove [3.4]
При отсутствии необходимости установки MySQL в качестве сервиса операционной системы сервер MySQL можно запускать следующим образом:nt - standalone [3.5]
После установки серверной части MySQL для обеспечения
безопасности данных необходимо указать пароль администратора MySQL и установить
парольный доступ клиентов к базам данных.
Рис. - 3.14. Ввод команд для работы с сервером
Рис. - 3.15. Команды для работы с сервером. Команда
"\h" - help
MySQL является наиболее приспособленной для применения в среде СУБД. Для исполнения приложений клиента на большинстве хостинг-площадок провайдеры предоставляют небольшое количество ресурсов (как вычислительных, так и дисковых).
В соответствии с поставленной целью было рассмотрено развертывание сервера базы данных на базе операционной системы Windows 7 в производственных условиях.
В ходе развертывания сервера базы данных на базе операционной
системы Windows 7 в производственных условиях были выявлены несколько проблем
при эксплуатации рабочих станций и разработаны пути решения проблем.
Интернет-источники:
) Википедия - "Сервер базы данных" [Электронный ресурс]
https: // ru. wikipedia.org/wiki/Сервер_базы_данных <https://ru.wikipedia.org/wiki/Сервер_базы_данных>
2) Википедия - "MySQL" [Электронный ресурс]
https: // ru. wikipedia.org/wiki/MySQL <https://ru.wikipedia.org/wiki/MySQL>
3) Ситифорум - "Архитектура SQL Server" [Электронный ресурс]
http://citforum.ru/ofis/backoffice/glava2. shtml <http://citforum.ru/ofis/backoffice/glava2.shtml>
4) Реферат на тему: "MS SQL Server 6.5". [Электронный ресурс]
http://referat. day. az/ms-sql-server-65-v24011 <http://referat.day.az/ms-sql-server-65-v24011>
) Реферат на тему: "Система безопасности MS SQL Server" [Электронный ресурс] http://bibliofond.ru/view. aspx? id=724579#1 <http://bibliofond.ru/view.aspx?id=724579>
) "Oracle Database" [Электронный ресурс]://www.tadviser.ru/index. php/Продукт: Oracle_Database_11g <http://www.tadviser.ru/index.php/Продукт:Oracle_Database_11g>
7) Википедия - "Apache" [Электронный ресурс]
http://ru. wikipedia.org/wiki/Apache <http://ru.wikipedia.org/wiki/Apache>
8) "Download MySQL Community Server" [Электронныйресурс]
<http://www.mysql.com/downloads/mysql/>
Книжные источники:
9) Майк Хотек. Microsoft SQL Server 2008. Реализация и обслуживание, 2011.