Поделиться через


Компоненты хранилища данных для Team Foundation

Хранилище отчетности Team Foundation представляет собой традиционное хранилище данных, состоящее из реляционной базы данных, организованной по приближенной к типу "звезда" схеме, и куба служб аналитики SQL Server, надстроенного над реляционной базой данных. На следующей схеме показана высокоуровневая архитектура хранилища данных Team Foundation и отношения между операционными хранилищами, хранилищем данных и отчетами команды.

Архитектура хранилища данных

Содержание раздела

  • Операционные хранилища

  • Адаптеры хранилища

  • Реляционная база данных хранилища

  • Куб служб аналитики

  • Отчеты конструктора отчетов

  • Отчеты Excel

  • Безопасность

Операционные хранилища

Для хранения данных, используемых в ежедневной работе каждым из инструментов и подключаемых модулей Team Foundation, используется реляционная база данных под управлением SQL Server 2008. Эта реляционная база данных часто называется операционным хранилищем. К операционным хранилищам Team Foundation относятся:

  • базы данных общей структуры (Tfs_Configuration);

  • базы данных коллекции командного проекта (Tfs_Collection).

Также могут иметься операционные хранилища, созданные для сторонних инструментов.

Как и у большинства операционных хранилищ, схема реляционной базы данных разработана и оптимизирована для оперативной транзакционной обработки данных. При выполнении того или иного действия инструмент или подключаемый модуль записывает последнюю информацию в операционное хранилище. Таким образом, данные в операционном хранилище постоянно изменяются и обновляются, и все данные рассматриваются как текущие.

Адаптеры хранилища

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

Адаптер хранилища данных копирует и преобразует те поля данных, которые указаны либо в базовой конфигурации хранилища данных, либо в шаблоне процессов, использовавшемся при создании командного проекта. Если шаблон процессов впоследствии был изменен, т. е. в него были добавлены или из него были удалены поля данных для записи в хранилище, изменения обнаруживаются при следующем выполнении адаптера. Адаптер выполняется периодически с частотой, определяемой свойством RunIntervalSeconds. По умолчанию частота обновления составляет два часа (7 200 секунд), поэтому необходимо обратить внимание на соответствие частоты обновления потребностям конкретной установки. Дополнительные сведения об изменении частоты обновления см. в разделе Изменение параметров управления обработкой для хранилища данных или куба служб аналитики.

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

Реляционная база данных хранилища

Вклад каждого инструмента в хранилище данных описывается в виде XML-схемы. Схема определяет поля, записываемые в реляционную базу данных в качестве измерений, мер и подробных сведений. Схема также сопоставляется непосредственно с кубом.

Данные в хранилище хранятся в наборе таблиц, организованных по схеме "звезда". Центральная таблица схемы "звезда" называется таблицей фактов, а связанные с ней таблицы представляют собой измерения. Измерения используются для разбиения отчетов на более мелкие части. Строка таблицы фактов обычно содержит либо значение меры, либо ссылку внешнего ключа на таблицу измерения. Строка представляет текущее состояние каждого элемента, фигурирующего в таблице фактов. Например, таблица фактов "Рабочий элемент" содержит по одной строке для каждого рабочего элемента, хранящегося в операционном хранилище "Рабочий элемент".

В таблице измерения хранится набор значений, имеющихся для данного измерения. Одно и то же измерение может использоваться разными таблицами фактов и кубами или одной таблицей фактов (одним кубом данных). Например, на измерение "Пользователь" будут ссылаться таблица фактов "Рабочие элементы" для получения свойств "Кому назначено", "Кем открыто", "Кем разрешено" и "Кем закрыт" и таблица фактов "Обработка кода" для получения свойства "Кем возвращен".

Меры — это значения, которые берутся из операционных данных. Например, "Всего обновлений" — мера, показывающая количество изменений исходного кода в выбранных наборах изменений. Особой мерой является мера "Счетчик", поскольку она может быть неявной, когда на каждый учитываемый элемент приходится по одной записи. Меры, определенные в таблице фактов, образуют группу мер в кубе.

Дополнительные сведения о фактах, измерениях и мерах в хранилище данных см. в разделе Группы и показатели мер, доступные в кубе служб аналитики для Team System.

Куб служб аналитики

Таблицы фактов — хороший источник информации для отчетов, характеризующих текущее состояние дел. Однако для отражения в отчетах динамики изменяющихся во времени данных необходимо дублировать одни и те же данные для каждого временного интервала, включаемого в отчет. Например, для формирования отчета о ежедневной динамике рабочих элементов или результатов тестов в хранилище должны сохраняться состояния всех элементов на каждый день. Это позволяет кубу данных агрегировать меры по дням. Куб агрегирует и данные из лежащей в его основе схемы "звезда", и временные данные в многомерные структуры.

При каждой обработке куба данные, хранящиеся в схемах "звезда" в реляционной базе данных, переносятся в куб, агрегируются и сохраняются. Данные в кубе агрегируются так, что высокоуровневые отчеты, которые в ином случае требовали бы сложной обработки с использованием схемы "звезда", могут представлять собой простые операторы SELECT. Куб играет роль централизованного источника данных для отчетов, что позволяет обойтись без знания схем операционных хранилищ и устраняет необходимость в отдельном обращении к каждому их них.

Отчеты конструктора отчетов

Конструктор отчетов — это компонент Visual Studio, позволяющий определить хранилище данных Team Foundation в качестве источника данных и затем в интерактивном режиме сконструировать отчет. Конструктор отчетов содержит разделенные на вкладки "Данные", "Макет" и "Просмотр", позволяющие добавлять наборы данных для реализации задуманных функций отчета или корректировать макет отчета в зависимости от результатов предварительного просмотра. Помимо рабочих областей конструирования "Данные", "Макет" и "Просмотр", в конструкторе отчетов предусмотрены построители запросов, редактор выражений и мастеры, которые помогают шаг за шагом создать простой отчет или вставить в отчет изображения. Дополнительные сведения о работе с конструктором отчетов см. в разделе Создание и настройка отчетов для Visual Studio ALM, а также управление ими.

Отчеты Excel

Team Foundation интегрируется с Microsoft Excel, что позволяет использовать Microsoft Excel для управления проектами и получения отчетов. Microsoft Excel предоставляет сводные таблицы и диаграммы для просмотра и анализа многомерных данных. Сводные таблицы можно связать непосредственно с кубом Team Foundation, чтобы можно было взаимодействовать с данными в кубе. Дополнительные сведения об использовании Microsoft Excel для работы с отчетами см. в разделе Создание отчетов Excel для Visual Studio ALM и управление ими.

Безопасность

Безопасность хранилища данных Team Foundation определяется на уровне базы данных, тогда как безопасность отчетов команды — на уровне командного проекта. Администратор Team Foundation Server определяет, кто имеет доступ к данным в хранилище данных, предоставляя или отзывая разрешения учетных записей пользователей. По умолчанию доступ на запись к хранилищу предоставляется только учетной записи службы, от имени которой запущена служба хранилища. Каждый из адаптеров инструментов имеет доступ на запись к хранилищу данных, поскольку он выполняется в этом контексте безопасности. Доступ только на чтение предоставляется администратором отдельным пользователям или группам пользователей. Пользователь, у которого есть разрешение на просмотр данных в хранилище данных для конкретного командного проекта, имеет полный доступ ко всем данным этого проекта. При этом разрешение на просмотр данных по одному командному проекту не дает пользователю автоматической возможности просматривать данные по другому проекту команды. Дополнительные сведения о разрешении и запрете доступа только для чтения к хранилищу данных см. в разделе Предоставление членам команды доступа к кубу служб аналитики.

См. также

Основные понятия

Создание и настройка отчетов для Visual Studio ALM, а также управление ими

Другие ресурсы

Обнаружение отчетов после обновления до Team Foundation Server 2010

Изменения и дополнения схемы куба служб аналитик

Группы и показатели мер, доступные в кубе служб аналитики для Team System