47

Вячеслав Красовский

  • Upload
    hosea

  • View
    90

  • Download
    0

Embed Size (px)

DESCRIPTION

Горизонтальная масштабируемость аналитических систем в редакции SQL Server 2008 R2 Parallel Data Warehouse. Вячеслав Красовский. Старший инженер-разр а ботчик. Микрософт. BI 202. Вчера и сегодня. 1975-1985: Упор на экзотические архитектуры - PowerPoint PPT Presentation

Citation preview

Page 1: Вячеслав Красовский
Page 2: Вячеслав Красовский

Горизонтальная масштабируемость аналитических систем в редакции SQL Server 2008 R2 Parallel Data Warehouse

Вячеслав КрасовскийСтарший инженер-разработчик Микрософт

BI 202

Page 3: Вячеслав Красовский

Вчера и сегодня1975-1985:

Упор на экзотические архитектурыНеразвитые «строительные блоки» (напр. TCP/IP)Чересчур сложные дизайны

Сегодня: Мощные широкодоступные компьютерыДешёвые сетевые технологииПроверенный подход к параллелизму

Page 4: Вячеслав Красовский

Содержание Много-компьютерная масштабируемость

Метрики успеха: линейный рост производительности

Подходы к масштабированиюНезависимость рулит

Алгоритмы PDW: Как разделить данные и властвовать

Секционный (партиционный) параллелизм

Microsoft SQL Server 2008 R2 PDWУстройство устройства

Page 5: Вячеслав Красовский

Метрики успеха(или почему PDW мощнее обычного SQL сервера)Два ключевых аспекта

(1) - Линейное ускорение (рост в быстродействии) – добавление оборудования ведёт к увеличению скорости исполнения запроса

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

Сеть Сеть

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

10 TB на 4 машинах и 4 дисках

10 TB на 8 машинах и 8 дисках

Page 6: Вячеслав Красовский

Метрики успеха

(2) - Линейное масштабирование (рост максимальных объёмов данных)– добавление оборудования ведёт к увеличению количества данных при прежней скорости исполнения запросов

10 TB на 4 машинах и 4 дисках

20 TB на 8 машинах и 8 дисках

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

Сеть Сеть

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

MEM

CPU

6

Page 7: Вячеслав Красовский

Барьеры к ускорениюСтартовое время

Время необходимое для запуска операцииДля большого количества процессоров (100) может быть весьма значительным

ИнтерференцияЗамедление всех запросов привносимое при добавлении нового запроса. Возникает в результате доступа к общим ресурсам

Неравномерность (Skew)Общее время запроса ограничено временем исполнения самого медленного шага

7

Page 8: Вячеслав Красовский

Содержание Много-компьютерная масштабируемость

Метрики успеха: линейный рост производительности

Подходы к масштабированиюДаёшь независимость!

Как разделить данные и властвоватьПартиционный параллелизм

Microsoft SQL Server 2008 R2 PDWУстройство устройства

Page 9: Вячеслав Красовский

Как достигнуть петабайта

Пета-байтные хранилища уже в эксплуатации!

Сотни машин и тысячи дисковСистемы на сотни терабайт уже в широком обиходе

Что же делать с сотнями 1 ТВ дисков?Простой перечень подходов:

(1) Системы с общей памятью (2) Системы с общим диском(3) Независимые (shared-nothing) системы

9

Page 10: Вячеслав Красовский

Процессоры делят всю память и все диски

Достоинства:

Простая организация упрощает кодПроблемы с масштабированием

Система памяти становится узким местомПроблемы вызванные протоколами синхронизации кэшейИнтерференция вследствие доступа к общим ресурсам (таблицы блокировок, буфер страниц, т.п.)

Весьма сложно достичь масштаба сотни ядер ЦПУ

Системы с общей памятью

Память

CPU CPU CPU CPU CPU CPU

10

Page 11: Вячеслав Красовский

Обычные компьютеры (2-4 проц., память, локальный диск)

СХД - дорогоОграничения в масштабируемости (10-20 машин)

Для координации доступа нужен сложный распределённый менеджер блокировокПример: Oracle RAC

Системы с общим диском

Сеть хранения данных (SAN)

Машина 1

MEM

CPU

Машина 2

MEM

CPU

Машина K

MEM

CPU

База данных находится на СХД дисках

11

Page 12: Вячеслав Красовский

Обычные машины объединённые в обычную сеть (gigabit Ethernet, Infiniband)

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

Независимые системы(shared-nothing)

Машина K

MEM

CPU

Машина 2

MEM

CPU

Машина 1

MEM

CPU

Сеть

12

Page 13: Вячеслав Красовский

Независимые системыДостоинства

Дешёвые общедоступные компьютерыОтличная масштабируемостьОтказоустойчивостьНет «горячих» компонент (буферный кэш, таблица блокировок)Линейный рост производительности (ускорение и масштабирование)

НедостаткиАдминистрация – труднее создать систему администрирования Сложнее подобрать удачный дизайн базы данных приложенияНужен ПО для обработки ситуаций отказа компонент и неравномерностей (skew) данных

13

Page 14: Вячеслав Красовский

СУБД на базе такой архитектурной модели были предложены например Teradata или Gamma (Univ. of Wisconsin)

IBM DB2/PE – 1990-еInformix XPS – конец 1990-хНыне: Greenplum, Netezza, Vertica, Aster

Этот же подход используется поисковиками (Bing, Yahoo, Google)

Кластеры из 10,000 машин

Microsoft SQL Server 2008 R2 PDW – независимая (shared-nothing) система

Независимые системы

14

Page 15: Вячеслав Красовский

Содержание Много-компьютерная масштабируемость

Метрики успеха: линейный рост производительности

Подходы к масштабированиюДаёшь независимость!

Алгоритмы PDW: Как разделить данные и властвовать

Партиционный параллелизм

Microsoft SQL Server 2008 R2 PDWУстройство устройства

Page 16: Вячеслав Красовский

Горизонтальное разделение данных

Сеть

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

ID Name …

201 cBob …

105 Sue …

933 Mary …

Ключевая идея: Разделить ряды всех таблиц равномерно по всем машинам и дискамМасштабируется прекрасно

сотни машин, тысячи дисков

Основа линейного ускорения и масштабируемостиТри варианта

Разделение по кругу (Round Robin)Разделение по диапазонам (Range)Разделение по хэшу (Hash)

16

Page 17: Вячеслав Красовский

Идея: ряды направляются по очереди

Разделение по кругу (Round Robin)

ID Name City Balance

201 Bob Madison $3,000

105 Sue San Fran $110

933 Mary Seattle $40,000

150 George Seattle $60

220 Sally Mtn View $990

600 Larry Palo Alto $1,001

750 Anne L.A. $22,000

50 Liz NYC $2,200

86 Bob Chicago $180

630 Bob London $994

19 George Paris $3,105

320 Jeff Madison $0

Загружаемые Данные

Сеть

MEM

CPU

MEM

CPU

ETL

Node 1

Node 2

17

ID Name …

ID Name …

ID Name …

ID Name …

105 Sue …

201 Bob …

933 Mary …

600 Larry …

220 Sally …

150 George …

750 Anne …

50 Liz …

86 Bob …

320 Jeff …

19 George …

630 Bob …

+ Все диски загружаются равномерно- Неизвестно куда какой ряд попал

Page 18: Вячеслав Красовский

Ключевая идея: рыды раздаются согласно значению одной из колонок (в данном примере ID)

Разделение по диапазонам(Range)

ID Name City Balance201 Bob Madison $3,000 105 Sue San Fran $110 933 Mary Seattle $40,000 150 George Seattle $60 220 Sally Mtn View $990 600 Larry Palo Alto $1,001 750 Anne L.A. $22,000 50 Liz NYC $2,200 86 Bob Chicago $180

630 Bob London $994 19 George Paris $3,105

320 Jeff Madison 1818

Да

нны

е п

ольз

оват

еля

Inte

rcon

nect

ion

Netw

ork

MEM

CPU

MEM

CPU

ID Name …19 George …50 Liz …86 Bob …

ID Name …105 Sue …150 George …201 Bob …

ID Name …220 Sally …320 Jeff …600 Larry …

ID Name …630 Bob …750 Anne …933 Mary …

ID Name City Balance19 George Paris $3,105 50 Liz NYC $2,200

86 Bob Chicago $180 105 Sue San Fran $110 150 George Seattle $60 201 Bob Madison $3,000 220 Sally Mtn View $990 320 Jeff Madison $0 600 Larry Palo Alto $1,001 630 Bob London $994 750 Anne L.A. $22,000 933 Mary Seattle $40,000

Сортировка по ID

ETL

Node 2

Node 1

18

105 ≤ ID ≤ 219

ID ≤ 104

220 ≤ ID ≤ 629

ID ≥ 630

После сортировки можно разбить на нужное количество дипазонов

В этом примере 4 диска, следовательно нужно 4 диапозона

Ряды распеделяются согласно дипазонам

Информация о диапазонх сохраняется в схеме таблицы

Page 19: Вячеслав Красовский

Ключевая идея: рады раздаются путём вычесления хэш функции от значения одной из колонок

Разделение по хэшу (Hash)

ID Name City Balance

201 Bob Madison $3,000

105 Sue San Fran $110

933 Mary Seattle $40,000

150 George Seattle $60

220 Sally Mtn View $990

602 Larry Palo Alto $1,001

752 Anne L.A. $22,000

50 Liz NYC $2,200

86 Bob Chicago $180

633 Bob London $994

19 George Paris $3,105

320 Jeff Madison $0

Данные пользователя

MEM

CPU

Сеть

MEM

CPU

ID Name …

ID Name …

ID Name …

ID Name …

Хэшпо ID

933 Mary …

602 Larry …

105 Sue …

201 Bob …

50 Liz …

150 George …

220 Sally …

320 Jeff …

752 Anne …

86 Bob …

19 George …

633 Bob …

Обратите внимание: диск 1 машины 1 получил 4 ряда, в то время как диск 1 машины 2 – толко два ряда. Неравномерность (skew).

Машина 2

Машина 1

19

Информаця о том, по какой колонке совершино хэширование сохраняетья в схеме

Hash_Function (201) (Машина 1, Диск 2)Hash_Function (105) (Машина 1, Диск 2)Hash_Function (933) (Машина 2, Диск 2)

Page 20: Вячеслав Красовский

Реляционный операторПримитив, используемый СУБД для выполнения конструкций языка SQLПример, предикат “AmtDue > $30K”

FILTER и SCAN – есть реляционные операторы, ряды проходят через конвейер таких операторов и приходят к пользователю

AmtDue > $30KFILTER

SCAN

ID Name AmtDue933 Mary $49K633 Bob $19K19 George $83K

20

Page 21: Вячеслав Красовский

Партиционный Паралеллизм

ID Name AmtDue

201 Bob $9K

105 Sue $11K

86 Bob $90K

ID Name AmtDue

933 Mary $49K

633 Bob $19K

19 George $83K

ID Name AmtDue

602 Larry $13K

752 Anne $75K

322 Jeff $20K

Координатор выполнения

Оптимизатор

Парсер

Каталог

Приложение

Запрос:Select * from Customers where AmtDue > $30K

86 Bob $90K

752 Anne $75K

933 Mary $49K19 George $83K

752 Anne $75K86 Bob $90K

Запрос выполняется(1) Всеми машинами(2) Последовательный

поиск на всех машинах

(3) Легко маштабируется

(4) Блокировка локальна

AmtDue > $30K

Filter

Scan

AmtDue > $30K

Filter

Scan

AmtDue > $30K

Filter

Scan

SQL Server

SQL Server

SQL Server

Та

бли

ца

пол

ьзов

ател

я

933 Mary $49K19 George $83K

21

Page 22: Вячеслав Красовский

Используем информацию о разделении

ID Name AmtDue

201 Bob $9K

105 Sue $11K

86 Bob $90K

ID Name AmtDue

933 Mary $49K

633 Bob $19K

19 George $83K

ID Name AmtDue

602 Larry $13K

752 Anne $75K

322 Jeff $20K

Координатор выполнения

Оптимизатор

Парсер

Приложение

Запрос:Select * from Customers where ID = 933

933 Mary $49K

Customers (ID, Name, AmtDue)Разеление по хэшу по ID

933 Mary $49K Запрос выполняется(1) Одной машиной(2) Последовательный

поиск(3) Остальные машины

могут выполнять другие запросы

SQL Server

ID=933Filter

Scan

SQL Server

SQL Server

22

Page 23: Вячеслав Красовский

Роль индексов

Пример #1:Таблица Customers (ID, Name, AmtDue)

Разделение по хэшу по ID

Имеем кластерный индекс по Customers (ID)

23

Page 24: Вячеслав Красовский

Роль индексов

ID Name AmtDue86 Bob $90K

105 Sue $11K201 Bob $9K

ID Name AmtDue19 George $83K

633 Bob $19K933 Mary $49K

ID Name AmtDue322 Jeff $20K602 Larry $13K752 Anne $75K

Координатор выполнения

Оптимизатор

Парсер

Приложение

Запрос:Select * from Customers where ID = 933

933 Mary $49K

Таблица:Customers (ID,Name,AmtDue)Разеление по хэшу по IDКластерный индекс по ID

933 Mary $49K

ID ID ID

Запрос выполняется(1) Одной машиной(2) Поиск по индексу ID(3) Эффективные

короткие транзакции

SQL Server

SQL Server

IndexSelect ID=933

SQL Server

24

Page 25: Вячеслав Красовский

Роль индексов: пример 2

Пример #1:Таблица Customers (ID, Name, AmtDue)

Разделение по хэшу по ID

Имеем кластерный индекс по Customers (AmtDue)

Имеем не кластерный индекс по Customers (ID)

25

Page 26: Вячеслав Красовский

Роль индексов: пример 2

ID Name AmtDue

201 Bob $9K105 Sue $11K86 Bob $90K

ID Name AmtDue

633 Bob $19K933 Mary $49K19 George $83K

ID Name AmtDue

602 Larry $13K322 Jeff $20K752 Anne $75K

Координатор выполнения

Оптимизатор

Парсер

Приложение

Запрос:Select * from Customers where ID = 933

IndexSelect ID=933

933 Mary $49K

SQL Engine

SQL Engine

SQL Engine

Таблица:Customers (ID, Name, AmtDue)Разеление по хэшу по IDКластерный индекс по AmtDueНе-кластерный индекс по ID

933 Mary$49K

IDAmtDue IDAmtDue IDAmtDue

Запрос:Select * from Customers where AmtDue > $30K

IndexSelect AmtDue >$30K

IndexSelect AmtDue >$30K

IndexSelect AmtDue >$30K

86 Bob $90K752 Anne $75K

933 Mary $49K

19 George $83K

752 Anne $75K

86 Bob $90K

933 Mary $49K

19 George $83K

26

Запросы выполняются(1) Одной машиной(2) Поиск по индексу ID

(3) Всеми машинами(4) Поиск по индексу

AmtDue(5) Эффективный поиск

в обоих случаях

Page 27: Вячеслав Красовский

Что мы пока знаем:Операторы SELECT легко распределяются

Select * from Customers where AmtDue > $30K

Простые агрегации тоже Select Avg (AmtDue) from Customers

Каждая машина независимо выполняет под-запросОдна из машин собирает полный результат

НО: как быть со сложными агрегациями? Select City, Avg(AmtDue) from Customersgroup by City

Как работают слияния (join)?Select Customer.Name, Order.ShipDate wherewhere Customer.CID = Order.CID

27

Page 28: Вячеслав Красовский

Соединие (Join) – пример 1

Координатор выполнения

Оптимизатор

Парсер

CatalogsПриложение

SQLEngine

Таблица Ordersразделена по хэшу

СID

Таблица Customersразделена по хэшу

CID

Запрос:Select Name, Item from Customers C, Orders Owhere C.CID = O.CID

SQLEngine

JOINC.CID = O.CID

JOINC.CID = O.CID

•Соединение совершаеться локально•Время выполнение запроса постоянно, вне зависимости от количества машин!

28

CID OID Item

602 10 Xbox

602 11 iPod

602 10 Tivo

752 31 Zune

CID Name AmtDue

602 Larry $13K

322 Jeff $20K

752 Anne $75K

CID OID Item

633 21 TV

633 21 DVD

933 20 Zune

19 51 TV

CID Name AmtDue

933 Mary $49K

19 George $83K

633 Bob $19K

Page 29: Вячеслав Красовский

Соединие (Join) – пример 2

Execution Coordinator

Optimizer

Parser

CatalogsApplication

SQLEngine

Таблица Ordersразделена по хэшу

OID

Таблица Customersразделена по хэшу

CID

Запрос:Select Name, Item from Customers C, Orders Owhere C.CID = O.CID

SQLEngine

•Это соединение не может совершаеться локально – одна таблица разделна по хэшу CID, другая - OID

• Нужно сделать пере-разделение (repartition) - послать копию таблицы Orders похэшировав её по CID (после применеия предикатов например Orders.item = ‘Zune’)

29

CID Name AmtDue

602 Larry $13K

322 Jeff $20K

752 Anne $75K

CID Name AmtDue

933 Mary $49K

19 George $83K

633 Bob $19K

CID OID Item

633 21 DVD

602 11 iPod

19 51 TV

752 31 Zune

633 21 TVCID OID Item

602 10 Xbox

602 10 Tivo

933 20 Zune

Page 30: Вячеслав Красовский

Пере-разделение (repartition)Фундаментальный механизм для

Слияния в случае когда таблицы не разделены по одному и тому же атрибутуАгрегаты с группировкой (GROUP BY)

Концептуально 3 фазыФаза разбиения: каждая машина разбивает таблицу на N кусочков (где N – количество машин) Фаза пересылки - каждая машина посылает свои кусочки другим машинам (и оставляет один себе)Фаза сборки - каждая машина принимает свои кусочки от других машин и делает одну временную таблицу

Split

Scan Scan

Merge Merge

Join

Split

Scan

Split

Scan

Split

MergeMerge

Join

A0 A1B0 B1

Ряды пересылаются от оператора к оператору, пока не придут к пользователю

Page 31: Вячеслав Красовский

Перераспределение

Если происходит слияние по атрибуту по которому ни одна из таблиц не разделена, обе таблицы перераспределяться (после применения предикатов)

Не обязательно на самом деле всегда материализовать временные таблицы

На практике эти 3 фазы выполняются одновременно и используется идея конвейера

31

Page 32: Вячеслав Красовский

Использование репликации для неболших таблиц размерностей

SQLEngine

OID CID Item

20 3 Zune

21 3 TV

21 1 DVD

51 1 TV

CID Name

1 U.S.

2 France

3 Italy

OID CID Item

10 1 Tivo

31 2 Zune

10 2 Xbox

11 1 iPod

SQLEngine

SQLEngine

OID CID Item

40 2 iPod

43 2 Iron

9 3 DVD

33 1 VCR

CID Name

1 U.S.

2 France

3 Italy

CID Name

1 U.S.

2 France

3 Italy

ТаблицаCountryРеплицированана всех машинах

Сеть

•Хорошо работает для сценариев хранилища данных

Соединения (Join) с таблицей фактов локально

• Компромисс в том, что изменения к таким таблицам применяються на всех машинах

Таблица Ordersразделена по хэшу по OID

32

Page 33: Вячеслав Красовский

Итог паралеллизации

Всего 3 механизма:Репликация операторов – параллельное выполнениеОператор разделения – разделяет таблицу при перераспределенииОператор слияния – совершает слияние

Результат: параллельная СУБД способная достичь линейного ускорения и масштабирования

33

Page 34: Вячеслав Красовский

Сеть

Повашаем отказоустойчивость

RAID помогает, но не достаточен

34

MEM

CPU

RAID

MEM

CPU

RAID

MEM

CPU

RAID

MEM

CPU

RAID

MEM

CPU

RAID

MEM

CPU

RAID

Нужен дублицированый доступ к дискам

Page 35: Вячеслав Красовский

Содержание Много-компьютерная масштабируемость

Метрики успеха: линейный рост производительности

Подходы к масштабированиюДаёшь независимость!

Алгоритмы PDW: Как разделить данные и властвовать

Партиционный параллелизм

Microsoft SQL Server 2008 R2 PDWУстройство устройства

Page 36: Вячеслав Красовский

PDW - это устройство (т.е. аппаратно-программный комплекс)

Page 37: Вячеслав Красовский

Устройство PDW

Database Servers

Control Nodes

Active / Passive

Landing Zone

Backup Node

Storage Nodes

Spare Database Server

Du

al

Fib

er

Ch

an

nel

SQL

SQL

SQL

SQL

SQL

SQL

SQL

SQL

SQL

Management Servers

Compute Rack Control Rack

Compute Nodes

SQL

SQL

SQL

Du

al

Infi

nib

an

d

Пример на базеаппаратных средств HP

Вычислительныемашины:HP DL380 G6HP MSA

Page 38: Вячеслав Красовский

Линейная масштабируемасть

Control Rack Compute Rack

HP PDW 4 Rack:

47 Серверов

82 Процессора

492 Ядра

от 140 до 500 TB

HP PDW 1 Rack

17 Серверов

22 Процессора

132 Ядра

от 35 до 125 TB

Page 39: Вячеслав Красовский

Простой дизайн базы на PDW“Ultra Shared Nothing”

39

SQL

SQL

SQL

SQL

Time DimDate Dim IDCalendar YearCalendar QtrCalendar MoCalendar Day

Store Dim

Store Dim IDStore NameStore MgrStore Size

Product Dim

Prod Dim IDProd CategoryProd Sub CatProd Desc

MktgCampaign Dim

Mktg Camp IDCamp NameCamp MgrCamp StartCamp End

Sales Facts

Date Dim IDStore Dim IDProd Dim IDMktg Camp IdQty SoldDollars Sold

Page 40: Вячеслав Красовский

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

40

Sales Facts

Date Dim IDStore Dim IDProd Dim IDMktg Camp IdQty SoldDollars Sold

SQL

SQL

SQL

SQL

Большая таблица фактов разделена

SF-1

SF-2

SF-3

SF-4

Time DimDate Dim IDCalendar YearCalendar QtrCalendar MoCalendar Day

Store Dim

Store Dim IDStore NameStore MgrStore Size

Product Dim

Prod Dim IDProd CategoryProd Sub CatProd Desc

MktgCampaign Dim

Mktg Camp IDCamp NameCamp MgrCamp StartCamp End

Простой дезайн базы на PDW“Ultra Shared Nothing”

Page 41: Вячеслав Красовский

41

Time DimDate Dim IDCalendar YearCalendar QtrCalendar MoCalendar Day

Store Dim

Store Dim IDStore NameStore MgrStore Size

Product Dim

Prod Dim IDProd CategoryProd Sub CatProd Desc

MktgCampaign Dim

Mktg Camp IDCamp NameCamp MgrCamp StartCamp End

SQL

SQL

SQL

SQL

TD

PD

SD

MD

TD

PD

SD

MD

TD

PD

SD

MD

Таблицы измерений реплицированы на

каждой машине

TD

PD

SD

MD

Sales Facts

Date Dim IDStore Dim IDProd Dim IDMktg Camp IdQty SoldDollars Sold

Простой дизайн базы на PDW“Ultra Shared Nothing”

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-1

SF-2

SF-3

SF-4

Результат: слияния фактов с измерениями

локальны

Page 42: Вячеслав Красовский

Синтаксис для PDWCREATE DATABASE database_name [ WITH AUTOGROW = ON | OFF ,| REPLICATED_SIZE = replicated_size [ GB ]| DISTRIBUTED_SIZE = distributed_size [ GB ]| LOG_SIZE = log_size [ GB ] ]

CREATE TABLE table_name    [ ( { <column_definition> } [ ,...n ] )    [ CLUSTERED INDEX ( column_name ) ] , [ DISTRIBIUTE ON = ( column_name ) ] | [ REPLICATE ] , [ PARTITION column_name ( RANGE { LEFT | RIGHT } FOR VALUES { [ boundary_value [,...n] ] ) ) ] }

BACKUP DATABASE database_name TO backup_directory WITH [ ( ] DIFFERENTIAL [, DESCRIPTION = 'text'] [ ) ]

Page 43: Вячеслав Красовский

ИтогиБудущие СУБД за параллелизмом

Независимые (Shared-nothing) архитектуры будут превалировать т.к. предлагают по настоящему масштабируемый параллелизм на базе общедоступного оборудования

Техника разделения данных и разделённого выполнения запросов является ключом к достижению линейного ускорения и масштабирования

Microsoft SQL Server 2008 R2 PDW – продукт обеспечивает производительность и масштабируемость посредством массивной параллельной обработки данных, используя комплекс систем общедоступных машин

43

Page 44: Вячеслав Красовский

Вопросы

Вячеслав КрасовскийSenior Software Engineer

SQL Server [email protected]

http://www.microsoft.com/sqlserver/2008/en/us/parallel-data-warehouse.aspx

Ваше мнение очень важно для нас.Пожалуйста, оцените доклад, заполните анкету

и сдайте ее при выходе из зала

Спасибо!

Page 45: Вячеслав Красовский

Официальные курсы и сертификация Microsoft

Более 300 официальных курсов Microsoft доступно в России. Официальные курсы можно прослушать только в авторизованных учебных центрах Microsoft

под руководством опытного сертифицированного инструктора Microsoftинтенсивное обучение с акцентом на практикуболее 80-и учебных центров более чем в 20-и городах России (+ дистанционные и выездные курсы)

Сертификат Microsoft - показатель квалификации ИТ-специалиста для работодателя .

• Microsoft предлагает гибкую систему сертификаций.

• Все курсы, учебные центры и центры тестирования: www.microsoft.com/rus/learning

40% Доказательство № 75

сертифицированных специалистов считают, что сертификация помогла им получить работу или повышение

57% Доказательство № 119

рекрутеров считают сертификацию сотрудников одним из критериев для повышения в должности

Page 46: Вячеслав Красовский

Специальные предложенияСертификационный пакет со вторым шансом

Пакеты экзаменационных ваучеров со скидкой от 15 до 20% и бесплатной пересдачей («вторым шансом»). Все экзамены сдаются одним человеком.

Сэкономьте 15% на сертификации вашей ИТ-команды

Пакет из 10-и экзаменационных ваучеров со скидкой 15% для сотрудников ИТ-отдела. «Второй шанс» включен. Ваучеры можно произвольно распределять между сотрудниками.

Microsoft Certified Career ConferenceПервая 24-часовая глобальная виртуальная конференция с 18 ноября с 15.00 (моск. время) по 19 ноября 2010 г.Сессии по технологиям и построению карьерыСкидка 50% для сертифицированных специалистов Microsoft и студентов

Бесплатная подписка на TechNet для слушателей официальных курсов

Некоторые курсы по SharePoint, Windows 7; Windows Server 2008; SQL Server 2008

Детали: www.microsoft.com/rus/learning

С 22 ноября 2010 г. – подписка TechNet

бесплатно для слушателей курсов.

Количество ограничено!

Page 47: Вячеслав Красовский