
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •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. Распределённые базы данных
- •Указания по выбору варианта
- •Курсовое проектирование Методические указания по выполнению
- •Цель проектирования
- •Теоретические положения Основные понятия баз данных
- •Этапы проектирования базы данных
- •Модели данных
- •Нормальные формы отношений
- •Задания к выполнению курсового проекта
- •Указания по выбору варианта
- •Правила оформления выполненных заданий
- •Пример проектирования базы данных
1.5.4. Тенденции развития
Итак, наиболее важными тенденциями развития современных универсальных коммерческих СУБД на ближайшее время будут следующие:
Виртуализация ресурсов и GRID-технологии
Встраивание Information Life Cycle Management (ILM) в СУБД
Самоуправление, самодиагностика, самолечение
Real Application Testing – механизмы промышленного тестирования версий и изменений
Совершенствование архитектур максимальной доступности (разные режимы standby, Active standby, Snapshot standby, минимизация времени плановых простоев (модификация приложений и версий СУБД, online redefinition)
Включение измерения времени в СУБД
Поддержка новых типов данных (XML, RFID, Semantic Web, геном, медицина, быстрые LOB и т д)
Умные механизмы сжатия и дедублирования
Совершенствование методов защиты данных (DataVault, Audit Vault, A&I management
In-memory СУБД реального времени как кэш для коммерческих СУБД
Облачные вычисления (Cloud computing)
Машины баз данных
Рассмотрим эти тенденции подробнее.
1. Виртуализация ресурсов и grid-технологии
В настоящее время в большинстве организаций для каждого приложения выделяется свой компьютер (группа компьютеров) и свой набор дисков для хранения БД. Как правило, эти компьютеры и диски различными приложениями совместно не используются. Поскольку в реальной жизни нагрузка на приложения постоянно изменяется, мы часто имеем ситуацию, когда одни компьютеры сильно перегружены, в то время как другие недогружены или простаивают. В одних системах есть запас дисков, а в других дискового пространства катастрофически не хватает. Однако, к сожалению, мы не можем оперативно перебрасывать дисковые и процессорные ресурсы туда, куда надо. Например, если в течение квартала идет большой поток транзакций, а в конце квартала он спадает, но начинает возрастать нагрузка на систему создания корпоративной отчетности, то мы вынуждены на обе системы держать максимальные вычислительные мощности. Система получается дорогой, избыточной, негибкой.
Выходом является виртуализация ресурсов. При этом все диски центра обработки данных (ЦОД) объединяются в один большой виртуальный диск, на котором располагаются все данные всех приложений, и мы можем гибко на ходу увеличивать этот виртуальный диск, добавляя к нему новые физические диски, или легко отдавать место для хранения тем приложениям, которым оно сейчас необходимо. Та же картина и с процессорным ресурсом. Объединение множества компьютеров в один виртуальный компьютер, на котором одновременно работает множество приложений, мощность которого можно легко увеличивать, на лету добавляя новые компьютеры, и возможность перераспределения вычислительных ресурсов этого суперкомпьютера между приложениями по мере необходимости позволяют резко повысить гибкость вычислительной системы, снизить ее стоимость и увеличить эффективность использования оборудования. Примером такой виртуализации является Oracle GRID, где диски объединены в Storage Grid, а компьютеры в Database Grid – виртуальный сервер БД и Application Grid – виртуальный сервер приложений. Для управления таким множеством элементов используется ПО Grid Control, которое позволяет работать с множеством объектов как с единым целым (см. рисунок).
Рисунок 1.5.4.1 – Oracle GRID 2
Если в качестве элементов GRID используются дешевые элементы (дешевые диски, обычные Intel компьютеры), то стоимость такой вычислительной среды намного меньше, чем при использовании традиционных архитектур. Поскольку элементы виртуального диска или виртуального компьютера взаимозаменяемы, то система также обладает повышенной надежностью и живучестью, т.к. выход из строя одного или нескольких элементов не приводит к остановке работы. Система просто сама автоматически переконфигурируется и продолжает работу.
Такой подход очень привлекателен для организаций, он позволяет создавать вычислительный ресурс неограниченной мощности и не заботиться о том, на каких компьютерах реально работает ваше приложение. Главное – запросить и получить тот вычислительный ресурс, который вам сейчас нужен. Система сама выполнит балансировку нагрузки для вашего приложения, создаст, если надо, БД с учетом обеспечения зеркалирования данных и снижения нагрузки по вводу/выводу, задействует столько элементов GRID, сколько необходимо для обеспечения требуемой вам надежности и производительности. И, по мере изменения внешних условий и ваших требований, она будет подстраиваться под эти требования.
Сегодня уже реализованы такие Еntеrprise GRID первого поколения на Oracle (Amazon, e-Bay Латинской Америки, EDS ABNAMRO и т.д.), компания IBM активно проводит исследования в области GRID-технологий для научных вычислений, существует специальный инструментарий Globus Toolkit для использования Grid-технологий при разработке приложений. Однако подход Oracle, который не требует использования специальных инструментов и подходов для разработки корпоративных приложений, которые будут работать в среде GRID, кажется более перспективным.
Основой Database GRID у Oracle является архитектура Real Application Clusters, реализующая подход shared disk (все узлы кластера одновременно работают с единой БД). Еще одним подтверждением перспективности подхода послужила информация о разработке компанией Sybase продукта Sybase ASE Cluster Edition, который очень похож на Oracle RAC, похожую архитектуру реализует и IBM DB2 для Mainframe.
У Enterprise Grid первого поколения был ряд ограничений. Так, выделялось два виртуальных компьютера – Database Grid и Application Grid (вместо одного единого большого виртуального компьютера для СУБД, серверов приложений, Веб-серверов, HTTP-серверов и т.д.), ресурсы не перераспределялись автоматически в соответствии с заранее заданной политикой, система не адаптировалась автоматически к постоянно изменяющейся нагрузке, приложения не могли без остановки работы переезжать с более слабых узлов GRID на более мощные и т.д. Большинство из этих ограничений будет снято в архитектуре Enterprise GRID 2, примером которой будет Oracle 11.2.