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


Компоненты хранилища данных TFS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Меры — это значения, которые берутся из операционных данных. Например, Total Churn (всего обновлений) — это мера, показывающая количество изменений исходного кода в выбранных наборах изменений. Count (число) — это особая мера в том смысле, что она может быть неявной, поскольку для каждого учитываемого элемента существует по одной записи. Меры, определенные в таблице фактов, образуют группу мер в кубе.

Дополнительные сведения о фактах, измерениях и мерах в хранилище данных см. в разделе Перспективы и группы мер, предоставляемые в кубе служб Analysis Services для Visual Studio.

Куб служб Analysis Services

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

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

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

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

Отчеты Excel

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

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

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