Parallel Data Warehouse
Ivan Kosyakov
Август 19, 2011
Введение
Microsoft SQL Server Parallel Data Warehouse (PDW) – это наиболее мощный программный-аппаратный комплекс для хранилищ данных, построенных на продуктах Microsoft. Этот комплекс построен на базе оборудования компании Hewlett Packard (HP) и носит название HP Enterprise Data Warehouse Appliance (HP EDW); поставляется в виде одной «контрольной» стойки и одной-четырех стоек с данными.
Компоненты PDW
Комплекс предназначен для критически важных хранилищ данных объемом до нескольких сотен Тбайт и построен на базе архитектуры MPP (Massive Parallel Processing).
Контрольная стойка состоит из следующих компонентов:
- контрольный узел – обрабатывает запросы приложений, формирует план выполнения запроса, генерирует TSQL-запросы к расчетным узлам и агрегирует результаты, полученные от расчетных узлов;
- управляющий узел – содержит сервисные приложения, образ диска для восстановления расчетных узлов, содержит Active Directory;
- область загрузки – предоставляет систему хранения для загрузки данных ETL-процессами; содержит SQL Server Integration Services (SSIS), имеет возможность удаленного управления и позволяет запускать приложения и скрипты, необходимые для работы в пределах внутренней сети;
- узел резервирования – позволяет формировать резервные копии данных;
Стойка с данными состоит 10 узлов, каждый из которых состоит из активного расчетного узла и узла с данными. В стойке также содержится один пассивный расчетный узел на случай аппаратного сбоя одного из активных расчетных узлов.
Каждый узел стойки с данными представляет собой типичный SMP-узел (symmetric multi-processing), построенный на так же принципах, что и FastTrack DW, и имеет в составе:
- расчетный узел – сервер с установленным SQL Server 2008 EE и базой TempDB;
- узел хранения – систему хранения с базой хранилища данных, промежуточной областью хранилища данных и журналами.
Распределение данных по расчетным узлам
Каждая таблица базы данных в пределах PDW является:
- либо реплицированной (replicated) – т.е. копируется на каждый расчетный узел (таблицы измерений должны быть реплицированными);
- либо распределенной (distributed) – т.е. разбивается с помощью Hash-функции и распределяется по узлам хранения (это актуально для больших таблиц фактов).
Таким образом, контрольный узел распределяет запрос пользователя по расчетным узлам, и каждый расчетный узел выдает результат для определенной части таблицы фактов.
В более сложных случаях данные, требуемые для выполнения запроса на одном расчетном узле, могут быть получены от систем хранения других расчетных узлов. При необходимости часть вычислений может быть произведена и на контрольном узле.
Архитектура PDW
С точки зрения архитектуры PDW, драйверы доступа к данным располагаются на контрольном узле, соответственно, приложения передают запросы на контрольный узел. Движок параллельной обработки (MPP Engine Coordinator) разбирает запрос за множество запросов к расчетным узлам и передает их на расчетные узлы через сервис перемещения данных (Data Movement Coordinator). На каждом расчетном узле за обработку запроса отвечает соответствующий экземпляр SQL Server 2008 EE. Сервис перемещения данных также отвечает за перемещение данных между узлом загрузки, расчетными узлами, узлом резервирования и контрольным узлом. На управляющем узле работает Административная консоль (на базе IIS).
Демонстрация
В следующей демонстрации показано, как запросы к PDW, запускаемые в зоне выгрузки с помощью приложения Nexus Query Chameleon, распределяются по расчетным узлам, что видно из Административной консоли PDW.
Дополнительные материалы
- Parallel Data Warehouse – www.microsoft.com/pdw
- Parallel Data Warehouse Datasheet
- Data Warehousing 2.0 and SQL Server