- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •1.1.2. Классификация субд
- •1.2. Субд начального уровня – MySql
- •1.2.1. Введение в MySql
- •1.2.2. Подготовка к работе с MySql
- •1.2.3. Создание базы данных, основы работы с таблицами MySql
- •1.2.4. Типы данных столбцов MySql
- •1.2.5. Работа с таблицами MySql
- •1.2.6. Логические операторы MySql
- •1.2.7. Команды обработки данных MySql
- •1.2.8. Математические функции MySql
- •1.2.9. Работа с датой и временем в MySql
- •1.2.10. Работа со строками в MySql
- •1.2.11. Дополнительные функции MySql
- •1.3. Субд корпоративного уровня – ms sql Server
- •1.3.1. Общая теория запросов sql
- •1.3.2. Имена в sql
- •1.3.3. Типы данных
- •1.3.4. Константы
- •1.3.5. Выражения
- •1.3.6. Встроенные функции
- •1.3.7. Отсутствующие значения (значения null)
- •1.3.8. Простые запросы sql на выборку данных
- •1.3.9. Предложение select
- •1.3.10. Предложение from
- •1.3.11. Вычисляемые столбцы
- •1.3.12. Выборка всех столбцов (инструкция select *)
- •1.3.13. Повторяющиеся строки (предикат distinct)
- •1.3.14. Отбор строк (предложение where)
- •1.3.15. Условия отбора
- •1.3.16. Составные условия отбора (операторы and, or и not)
- •1.3.17. Сортировка результатов запроса (предложение order by)
- •1.3.18. Правила выполнения однотабличных запросов
- •1.3.19. Сложные запросы
- •1.3.20. Запросы на объединение и повторяющиеся строки
- •1.3.21. Запросы на объединение и сортировка
- •1.3.22. Вложенные запросы на объединение
- •1.3.23. Многотабличные запросы на выборку
- •1.3.24. Запросы с использованием отношения предок/потомок
- •1.3.25. Запросы на выборку к трём и более таблицам
- •1.3.26. Объединение таблиц по неравенству
- •1.3.27. Особенности многотабличных запросов
- •1.3.28. Самообъединения
- •1.3.29. Производительность при обработке многотабличных запросов
- •1.3.30. Умножение таблиц
- •1.3.31. Правила выполнения многотабличных запросов на выборку
- •1.3.32. Внешнее объединение таблиц
- •1.3.33. Левое и правое внешние объединения
- •1.4. Способы взаимодействия программных средств в субд
- •1.4.1. Доступ к базе данных на стороне сервера
- •1.4.2. Доступ к базе данных на стороне клиента
- •1.5. Современные тенденции развития субд
- •1.5.1. Введение
- •1.5.2. Как предсказать тенденции развития субд
- •1.5.3. Эволюционный подход
- •1.5.4. Тенденции развития
- •1. Виртуализация ресурсов и grid-технологии
- •2. Встраивание Information Life Cycle Management (ilm) в субд
- •3. Самоуправление, самодиагностика, самолечение
- •4. Real Application Testing – механизмы промышленного тестирования версий и изменений
- •5. Совершенствование архитектур максимальной доступности
- •6. Включение измерения времени в субд
- •7. Поддержка новых типов данных (xml, rfid, Semantic Web, геном, медицина, быстрые lob и т.Д.)
- •8. Умные механизмы сжатия и дедублирования
- •9. Совершенствование методов защиты данных
- •11. Облачные вычисления (Cloud computing)
- •12. Машины баз данных
- •2.1.2. Администрирование ms sql Server
- •2.2. Повышение надёжности баз данных
- •2.2.1. Обеспечение сохранности данных в MySql
- •2.2.2. Обеспечеие сохранности данных в ms sql Server
- •2.3. Повышение производительности баз данных
- •2.3.1. Повышение производительности MySql
- •2.3.2. Повышение производительности ms sql Server
- •2.4. Повышение безопасности бд
- •2.4.1. Безопасность MySql
- •2.4.2. Безопасность ms sql Server
- •2.5. Модернизация бд в процессе эксплуатации
- •2.5.1. Расширение возможностей MySql
- •2.5.2. Распределённые базы данных
- •Указания по выбору варианта
- •Курсовое проектирование Методические указания по выполнению
- •Цель проектирования
- •Теоретические положения Основные понятия баз данных
- •Этапы проектирования базы данных
- •Модели данных
- •Нормальные формы отношений
- •Задания к выполнению курсового проекта
- •Указания по выбору варианта
- •Правила оформления выполненных заданий
- •Пример проектирования базы данных
4. Real Application Testing – механизмы промышленного тестирования версий и изменений
Жизнь не стоит на месте, и вокруг нас все постоянно меняется. Чтобы не отстать от конкурентов, мы вынуждены менять компьютеры в ЦОД, добавлять процессоры и память, патчировать ОС и менять ее версию, патчировать СУБД и переходить к новым более мощным и современным версиям СУБД. В процессе работы приходится постоянно менять параметры работы СУБД и структуры данных, создавать новые объекты в БД (индексы, материализованные представления и т.д.), менять архитектуру вычислительной системы (например, переходить от одного компьютера к кластеру или GRID), выполнять рекомендации службы технической поддержки, опытных коллег, руководства и т.д.
К сожалению, любые из этих необходимых действий могут привести не к улучшению работы системы, а к ухудшению или остановке работы. Автор знает примеры совершенно безобидных изменений, которые резко ухудшали скорость работы системы. А уж апгрейд на новую версию СУБД – это хуже пожара. Зная все это, администраторы БД оттягивают внесение изменений до последнего момента, не желая рисковать. Единственная возможность решить эту проблему – позволить заранее протестировать любые из перечисленных изменений (ОС, оборудования, структур данных, архитектуры) на тестовой системе (до их выполнения на промышленной системе) и оценить последствия. Для этого используется тестовая копия БД; у некоторых производителей в качестве тестовой можно временно использовать резервную БД (Oracle Snapshot Standby).
Существует много пакетов, позволяющих имитировать нагрузку на тестовой системе для выполнения функционального и нагрузочного тестирования. Однако все эти пакеты создают не реальную, а синтетическую нагрузку, дороги, требуют длительного времени для анализа работы системы и создания тестовых скриптов. И в результате многие проблемы так и остаются не выявленными.
Появившийся у Oracle продукт RAT (Real Application Testing), очевидно, вскоре будет реализован в большинстве СУБД, т.к. он позволяет на реально работающей под нагрузкой производственной системе захватить (с минимальными накладными расходами) реальную нагрузку (с учетом времени выполнения, одновременности, зависимости операций) и воспроизвести эту нагрузку на тестовой БД, не устанавливая там приложение. Захват и проигрывание нагрузки легко выполнить, и они позволяют выявить появившиеся/ пропавшие/изменившиеся после выполнения изменений ошибки, изменения в планах и результатах выполнения реальных SQL, проблемы снижения производительности как всей системы, так и отдельных запросов. После анализа результатов система дает рекомендации по улучшению работы SQL, позволяет попробовать различные варианты оптимизации работы. Откатывая тестовую БД назад, можно тестировать различные изменения и их совокупность. И только после того, как все проблемы выявлены и решены, изменения можно произвести в производственной среде.
Поскольку захват, проигрывание, анализ, оптимизация проводятся в автоматическом или автоматизированном режиме, они не требуют много времени от администратора БД. Впервые появилась возможность значительно снизить риски перехода от старой версии СУБД к новой, более совершенной. Регулярный апгрейд СУБД становится обычным рутинным делом (см. рисунок).
Рисунок 1.5.4.3 – Oracle Real Application Testing