'

SQL Server Parallel Data warehouse

Понравилась презентация – покажи это...





Слайд 0

SQL Server Parallel Data warehouse Обзор, лучшие практики, новое в AU3 Резник Андрей anrez@microsoft.com Гвоздев Александр agvoiz@microsoft.com


Слайд 1

Содержание Обзор SQL Server PDW Организация данных Методы загрузки данных Новое в AU3


Слайд 2

Предложения Microsoft для построения Хранилищ Данных HP Business Data Warehouse Appliance


Слайд 3

Зачем SQL MPP ? Новая возможность для Архитекторов SQL


Слайд 4

Программно-аппаратные комплексы Быстрый старт проекта Конфигурация Настройка Интегрированное управление Техническая поддержка комплекса Сбалансированная архитектура


Слайд 5

Цели параллелизма Линейное ускорение добавление оборудования ведёт к увеличению скорости исполнения запроса Линейное масштабирование при увеличении объема аппаратного обеспечения большая задача выполняется за то же время 6 Track # – Session #


Слайд 6

Традиционный подход 7 Track # – Session # Системы с общей памятью Системы с общим диском


Слайд 7

Преимущества Нет общих разделяемых компонент (как в системах с общей памятью) Нет распределённого менеджера блокировок (как в системах с общим диском) Пропускная способность памяти и дисков растёт линейно с добавлением узлов Независимые системы (shared-nothing) Сеть


Слайд 8

Массивно Параллельные Вычисления=Скорость Разделение данных на малые части Получение данных из каждой части Сборка результата MPP дает наиболее быстрый результат по большим объемам данных 9 Track # – Session #


Слайд 9

PDW Аппаратно-программный комплекс Независимые системы (Shared Nothing "ничего не разделяется") Массивно-параллельные вычисления (MPP) PDW поставляется в инсталлированном и полностью сконфигурированном состоянии. Plug & Play Стандартные: Сервера Системы хранения Сетевое оборудование


Слайд 10

Control Rack Data Rack Архитектура PDW Запрос 1 Пользователь подключается к комплексу, как к обычному SQL Server и посылает запрос Контрольный узел управляет процессом исполнения запроса и создает MPP план выполнения Фактические данные располагаются на вычислительных узлах и этапы глобального плана выполняются на каждом узле Сервис перемещения данных (Data Movement Service) отвечает за перемещение данных между узлами таким образом, чтобы они могли выполнить запрос, данные которого располагаются на других узлах Результат


Слайд 11

Landing Zone Архитектура Распределенного Хранилища Departmental Reporting Regional Reporting High-Performance Reporting Central EDW Hub Regional Reporting with Business Decision Appliance


Слайд 12

PDW: Организация данных


Слайд 13

Репликация Таблица копируется между всеми узлами Parallel Data Warehouse. Подходы к организации данных Распределение Таблица равномерно распределена между узлами Ультра Shared-Nothing Возможность создать дизайн таким образом, чтобы минимизировать перемещение данных между узлами


Слайд 14

Реплицируемые таблицы TD PD SD MD TD PD SD MD TD PD SD MD Небольшие таблицы измерений реплицируются в каждый Вычислительный Узел TD PD SD MD


Слайд 15

Распределенные таблицы TD PD SD MD TD PD SD MD TD PD SD MD TD PD SD MD Большие таблицы фактов распределяются по хэш-ключу между всеми Вычислительными Узлами SF-1 SF-2 SF-3 SF-4


Слайд 16

CREATE TABLE SalesFact ( DateKey INT NOT NULL, CustomerKey INT, DollarAmount MONEY) WITH (DISTRIBUTION = HASH(CustomerKey)) Распределенные таблицы (пример) PDW Узел 1 Create Table <table GUID>_a Create Table <table GUID>_b … Create Table <table GUID>_h 8 Таблиц PDW Узел 10 Create Table <table GUID>_a Create Table <table GUID>_b … Create Table <table GUID>_h PDW Узел …


Слайд 17

Архитектура вычислительного узла CPU CPU RAM SQL Server 2008 Local Direct Attached Storage Dual Multi-Core Processors SAN Storage


Слайд 18

SAN Архитектура вычислительного узла


Слайд 19

Типы запросов Совместимое распределение Запрос не требует перераспределение данных Простой select по одной таблице Ключ распределения используется в операциях соединения или группировки распределенных таблиц Таблица репликации внутренне соединяется с таблицей распределения Несовместимое распределение Запрос требует перераспределение данных между узлами для возврата корректного результата. Простой запрос по распределенной таблице с Group By, который не включает в себя ключ распределения Ключ распределения не используется в соединения и группировках распределенных таблиц. Таблица репликации внешне соединяется с таблицей распределения


Слайд 20

Типы соединений


Слайд 21

Node 1 Простой запрос типа Ultra Shared Nothing 22 Тип соединения: USN (Ultra Shared Nothing) Совместимое распределение Используется репликационная таблица. Ключ распределения Store Sales Distribution Key не используется. Item Dim Store Sales SELECT ss_key, Qty FROM item_dim a JOIN store_sales b ON a.item_key = b.item_key WHERE a.color = ‘Yellow’ Result Set 5,12 Результат 5,12 : 6,17 Result Set 6,17 Item Dim Store Sales \ Replicated Distributed


Слайд 22

Простой запрос типа Shared Nothing Join 23 Store Sales SELECT a.color , b.Qty FROM web_sales a JOIN store_sales b ON ws_key = ss_key WHERE a. color = ‘Red’ Result Set Red,5 Результат Red,5 : Red,3 Result Set Red,3 Store Sales Distributed Table Web Sales Web Sales Distributed Table Тип соединения: shared nothing Совместимое распределение Соединение включает в себя совместимые ключи распределения Distributed Distributed


Слайд 23

Соединение с перераспределением: Shuffle 24 Тип соединения: Перераспределение Таблицы физически не размещены согласно своим ключам распределения Несовместимое распределение Распределение используется только из левой таблицы (vendor_sales) Операция перераспределения Shuffle Данные правой таблицы Store_Sales) перестраиваются с ключем распределения VID Запрос становиться совместимым Store Sales SELECT vs_key, a.ord, b.qty FROM vendor_sales a JOIN store_sales b ON a.vs_key = b.VID WHERE a. color = ‘Red’ Result Set 11,15, 5 Результат 11,15,5 : 21,13,3 Result Set 21,13, 3 Store Sales Vendor Sales Vendor Sales Distributed Table Distributed Table shuffled


Слайд 24

Соединение с мульти-перераспределением 25 Тип соединения: Перераспределение Таблицы физически не размещены согласно своим ключам распределения Несовместимое распределение Соединения не идет по ключам распределения Двойная операция Shuffle Левая перестраивается (Vendor_Sales) с ключем распределения DK = Color Правая страница (Store Sales) перестраивается с ключем распределения DK = Color Запрос становится полностью совместимым Store Sales SELECT a.color, a.ord ,b.qty FROM vendor_sales a JOIN store_sales b ON a.color = b.color WHERE a.color = ‘Red’ Result Set 15, 5 13,3 Final Result Set 15,5 : 13,3 Result Set NULL Store Sales Distributed Table Vendor Sales Vendor Sales Distributed Table Distributed Table Distributed Table Shuffled Shuffled


Слайд 25

26 Track # – Session # PDW-иной зверь! Архитектура, заточенная на сканирование данных, а не на индексирование Запрос автоматически преобразуется в MPP план Добавляются необходимые операции перемещения данных Bottleneck – перемещение данных между узлами Необходимость для некоторых соединений Необходимость для некоторых агрегаций Производительность PDW великолепна, когда: Соединения могут быть выполнены локально Агрегации могут быть выполнены локально


Слайд 26

PDW: Загрузка данных


Слайд 27

Control Rack PDW процесс загрузки Control Node Active/Passive Landing Zone Database Server Nodes Storage Nodes Infiniband Файл DMS SQL Server Запуск DWLoader DMS читает файл и буферизирует записи для посылки Вычислительным узлам по round-robin Load Manager создает промежуточные таблицы такой же геометрии, что и целевая таблица Каждая строка конвертируется для bulk insert и хэшируется Хэшированная строка отсылается узлу, которому она принадлежит Полученная строка поступает в очередь получателя Строка вставляется в промежуточную таблицу методом bulk insert


Слайд 28

Методы загрузки данных dwloader.exe -i D:\TPCH\lineItem.tbl -M Fastappend -E -m -d tpch_100gb -E -c -b 10000 -rt value -rv 100 -R LineItem.tbl.rejects -e ascii -t "|" -r \r\n -U sa -P {password} -T tpch_100gb.dbo.lineitem_Load


Слайд 29

Результат ELT SMP vs. PDW


Слайд 30

Выводы Загрузка данных в PDW DWLoader работает быстрее для плоских файлов Не нужна трансформация Нужно планировать ресурсы на создание файлов PDW Destination Adapter для SSIS Если необходимы трансформации Параллельное выполнение для ускорения скорости загрузки Использовать больше ELT вместо ETL для переноса нагрузки на MPP движок Использовать мощь операций CTAS PDW дает возможность одновременной загрузки данных и запросов


Слайд 31

Место PDW в BI стеке PDW Connector for Informatica PDW Connector for Hadoop


Слайд 32

33 Track # – Session # MPP стоймостной оптимизатор ? Rack Поддержка хранимых процедур Что нового в PDW Appliance Update 3? x рост производительности Полная поддержка языков


Слайд 33

PDW ‘начального уровня’ ? Rack Функциональность: ~40% мощность (4+1 Compute Nodes) До 50TB Полная функциональность PDW Преимущества: ~40% от цены 1 rack Наименьшая цена/TB на рынке


Слайд 34

Преимущества PDW Appliance модель Система поставляется с преднастроенной аппаратной частью и установленным SQL Меньше настроек, меньше сложностей для администраторов Не нужно задумываться о физическом расположении файлов базы данных и таблиц Настройки памяти, параллелизм, много других опций уже настроены оптимально Решение разработано и оптимизированно специально для нагрузок типичных для хранилищ данных Проще «стартовать» проект и начать с ним работать: Вся система поставляется как один заказной номер Установив, можно сразу же создавать базы


Слайд 35

Вопросы?


×

HTML:





Ссылка: