CTP3: Declarative Management Framework. Введение

CTP3: Declarative Management Framework. Введение

  • Comments 1
  • Likes

Declarative Management Framework

Управление сервером баз данных можно разбить на два типа «жизненных циклов»:  управление сервером  и управление приложениями.  Управление  приложениями включает в себя все, что необходимо для поддержки работы приложений и сохранности и актуальности данных, хранимых на сервере.

Можно попробовать описать это следующими картинками:

 

SQL Server

Дистрибутив/
Upgrade/
фиксы

SQL Server Instance

 

Операционная система.

Настройка

Поддержка

 

Установка

Контроль

Управление сервером

Рис.1 Жизненный цикл: управление сервером

 

 

 

Рис 2.Цикл: приложение.

 

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

Что это значит для администратора? Это означает, что он ежедневно должен управлять экземплярами сервера и некоторым количеством приложений, установленными на этом сервере. Это и называется цели управления (management target). Администратор  обычно должен следить за тем, чтобы все находилось в состоянии или функционировало в  соответствии с какими-то известными требованиями .  Допустим, база должна быть восстанавливаема на случай если вдруг что-то завалится и данные должны быть не старше какого-то периода (неделя/день/час/минуты) . Эти требования можно назвать политиками управления (management policy).

На данный момент, это достигается достаточно низкоуровневыми действиями, связанными с настройкой системы и требует хорошего знания SQL Server, семантики установленного приложения и т.д. Требует различных механизмов уведомления ( ну, если администратор вдруг смог что-то автоматизировать). Самая большая проблема, что много действий приходится повторять  в случае, если администратор работает с некоторым количеством серверов.

 Это и есть базовая идея Declarative Management – абстрагировать управление сервером до уровня концепций, который сервером же и поддерживаются. Концептуальные действия позволяют определять (что идет от “declare” в названии технологии) политики управления и применения их к некоторым целевым объектам ( целям). Политики же будут «переводить» концепции в более низкоуровневые шаги по управлению серверами, наблюдению за ними и отчетам о состоянии серверов или объектов.

Политики можно описать в в следующих терминах: «Эта база данных должна восстанавливаться за 30 минут». И это в противоположность нынешнему: «создать job резервного копированияс 30 минутным графиком» 

Все основные операции по администрированию политик должны производиться через SQL Server Management Studio.  DMF управляет «сущностями» - логическими элементами, объектами, которыми, собственно, можно управлять. Сущностью являются объекты типа: экземпляр SQL Server, база данных, или другие объекты SQL Server.

Основные компоненты DMF:

-          Управление политиками  (Администратор политик создает их)

-          Явное администрирование ( Explicit administration) ( Администратор  выбирает несколько объектов и сам следит за соответствиями этих объектов политикам или «руками» приводит их в соответствие)

-          Автоматизированное администрирование

Администраторы политик  «включают» автоматизированное исполнение политик:

-  Принудительно, используя DDL триггеры, чтобы предотвратить нарушения политик.

-  Проверка Изменений, используя уведомления о событиях и, соответственно, проверяя не было ли чего-то нарушено.

- Проверка по графику, используя SQL Agent, чтобы периодически «прошерстить» сервер и поглядеть – может там кто-то чего-то..

Какие же основные термины, на которые опирается DMF?

 

Управляемая Declarative Management Framework цель (managed target):

Это сущности, которые управляются DMF, такие как: экземпляр SQL Server Database, база данных, таблица,  индекс.  Или иначе - это физические или логические объекты SQL Server. Можно создать набор целей, который будет состоять из различных целей, которые в свою очередь будут удовлетворять определенным признакам. Набор целей будет выбираться  путем применения фильтра (набора признаков) ко всей иерархии целей на экземпляре SQL Server. Например: все таблицы базы данных, которые принадлежат  схеме HumanResources.

Аспект (или особенность) управления Declarative Management Framework

Принимаю предложения по терминологии. Оригинальное название: management facet.  Это набор логических свойств, которые описывают модель поведения  или свойств т набора целей. Возьмем для примера построение индексированного представления. Это одна логическая концепция, которая , однако, подразумевает конфигурацию семи физических параметров.

Так вот аспект, фактически, будет описывать те «кнопки» которые должны быть нажаты. На примере индексированного  представления: сказал – хочу представление, тогда аспект должен будет хранить модель описания того, какие настройки (ограничения) должны быть выполнены.

Набор свойств,  встроенных в аспект управления,  может изменяться только автором.  К одной цели может быть применено несколько аспектов.  Один тип целей (или целевой тип) может устанавливать несколько аспектов управления ( т.е. типов  «реагирования» или поведения) и, с другой стороны, аспект управления может быть установлен несколькими типами целей.

Т.е по сути, у аспекта есть несколько свойств. Пример:  сервисная запись SQL Server – ей свойственны параметры  <имя пользователя> и <пароль>. Соответственно, есть смысл эти оба свойства использовать как часть одного аспекта. 

Примеры аспектов, которые идут с СТР3

 

Условие Declarative Management Framework

Это просто логическое  выражение, которое устанавливает набор разрешенных состояний  цели по отношению к аспекту.

 

Политика Declarative Management Framework

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

 

 

Группа политик Declarative Management Framework

Это определенная пользователем группа, которая должна помочь управлять политиками.  Пользователь может определить политики в разные группы.  Каждая политика в свою очередь может принадлежать только одной группе. «Хозяин» базы данных может решить, под какие группы подписаться (т.е какие из политик должны быть применимы к его базе). Соответственно, только те группы, на которые администратор подпишет базу, будут определять  правила управления базой.  Например: подпишется под политику,  запрещающую создания таблиц с дополнительными полями – никто не сможет добавить поля.  Все базы по умолчанию подписаны на группу Default.

Режим исполнения Declarative Management Framework

Описывает, как политика будет выполнена. Режимы спонтанного  исполнения - Check и Configure. Режимы «автоматизированного исполнения»  Check on Schedule, Check on Changes и Enforce.

 

Эффективная  политика

Эффективные политики цели – это политики, которые применены к цели и управляют ею в данный момент. Политика только тогда может быть эффективной по отношению к цели, если:

-  Политика «включена».

-  Цель принадлежит группе целей,  которым  эта политика «предписана».

-  Цель или предок цели (речь идет о иерархии ж ведь) подписан под группу политик, куда данная политика входит

 

 

 

 

 

Comments
  • С тех пор как я поставил себе "Katmai" CTP3, меня не покидает крамольная мысль, что SQL Server DBA давно...

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment