SlideShare a Scribd company logo
1 of 47
Download to read offline
NASI SPONSORZY I PARTNERZY
Parallel Data Warehouse v2 Deep Dive
Paweł Potasiński | Microsoft
pawelpo@microsoft.com
Blog: sqlgeek.pl
Agenda
•
•
•
•
•
•
•

Dlaczego powstało PDW v2?
Architektura
Narzędzia
Rozkład danych
Ładowanie danych
Columnstore po nowemu
Polybase
Priorytety Microsoft – DW i BI
Hurtownie na SQL Server
SQL SERVER

Klient kupuje i konfiguruje
oprogramowanie samodzielnie bez
wskazówek producenta.

ARCHITEKTURA REFERENCYJNA

Sprzęt i oprogramowanie
skonfigurowane zgodnie z najlepszymi
praktykami.

APPLIANCE

Sprzęt i oprogramowanie
predefiniowane do ekstremalnie
wydajnego przetwarzania danych.

Budowa

Budowa

Budowa

Tuning

Tuning

Tuning

Elastyczność
konfiguracji

Elastyczność
konfiguracji

Elastyczność
konfiguracji

Startowa
inwestycja

Startowa
inwestycja

Startowa
inwestycja

Oferta
•
SQL Server 2012
•
SQL Server 2008 R2

Oferta
•
Fast Track for SQL Server 2012
•
Fast Track for SQL Server 2008 R2

Oferta
•
Parallel Data Warehouse (PDW)
Massively Parallel Processing (MPP)
Liniowa skalowalność „wszerz”

•

Architektura Massively Parallel Processing (MPP)

•

Skalowanie: dodawanie kolejnego sprzętu i
osiąganie niemal liniowej skalowalności

•

Shared Nothing

10Xszybsze niż
SMP DW

Skomplikowane
obliczenia

Niemal liniowa
skalowalność

Łatwość
skalowania
MPP (PDW v1) vs SMP
PDW AU3 to SMP comparison
Query times in seconds

5000

220x

4000

Overall Performance Increase

3000

2000

1000

0
Original Time
PDW Time

Query 1
4200

Query 2
1200

Query 3
120

Query 4
120

Query 5
120

Query 6
1200

16

6

2

2

2

4

* Data based on POC query metrics with PDW customer
Gartner
Data Warehousing
Challengers

Business Intelligence
Challengers

Leaders

Leaders

Microsoft

Niche players

Visionaries

Completeness of Vision

Ability to Execute

Ability to Execute

Microsoft

Niche players

Visionaries

Completeness of Vision

“Microsoft exhibits one of the best value propositions on the market with a low cost and a highly favorable
price/performance ratio”

- Gartner, February 2012
PDW v2 vs PDW v1
• Reduce hardware footprint by
virtualizing the entire control
server rack down to a few
nodes

Control Node

Mgmt. Node

• 1.5x lower price/TB providing
the lowest price/TB in the
industry

LZ

• Save up to 70% of storage with
up to 15x compression via the
xVelocity columstore

Backup Node

Infiniband
& Ethernet
Infiniband
& Ethernet

CONTROL RACK

•
•
•
•

Fiber Channel
DATA RACK

160 cores on 10 compute nodes
1.28 TB of RAM on compute
Up to 30 TB of temp DB
Up to 150 TB of user data

RACK 1

•
•
•
•

128 cores on 8 compute nodes
2TB of RAM on compute
Up to 168 TB of temp DB
Up to 1PB of user data

• Resilient, scalable, and high
performance storage features
in WS2012 replace SAN with
high density, low cost SAS
JBODS

• 70% more disk I/O bandwidth
Architektura - Hardware
Hardware Details
One standard node type
2 – 8 core Intel processors
Doubled memory to 256GB

Host 1

Updating to the newest Infiniband (FDR – 56 GB/sec)
Moving from SAN to JBODs
Significant reduction in costs
Moving away from dependency on handful of key SAN vendors
Leverage Windows Server 2012 technologies to achieve the same level
of reliability and robustness

Host 2
Host 3
JBOD
IB &
Ethernet

Host 4
Direct attached SAS

Backup & LZ are now reference architectures and not in the appliance
Customers can use their own hardware*
Customers can use more than 1 BU or LZ for high availability

Scale Unit concept
Base Unit: minimum configuration - populates rack w/ networking
Scale Unit: adds capacity by 2 or 3 compute nodes/related storage
Passive Unit: increases HA capacity by adding more spares
Architektura - VMs
•
•
•
•
•

Software Details

Window Server 2012 Standard
PDW engine
DMS Manager
SQL Server 2012 Enterprise Edition (PDW build)
Shell DBs just as in AU3+

CT
L

MA
D

AD

VM
M

General Details
All hosts run Windows Server 2012 Standard
All VMs run Windows Server 2012 Standard as a guest OS
All fabric and workload activity happens in Hyper-V virtual machines
Fabric VMs, MAD01 and CTL share 1 server
lower overhead costs especially for small topologies
PDW Agent runs on all hosts and all VMs
collects appliance health data on fabric and workload
DWConfig and Admin Console continue to exist
minor extensions to expose host level information
Windows Storage Spaces handles mirroring and spares
allows us to use lower cost DAS (JBODs) rather than SAN

Host 1

Host 2

Compute 1

Host 3

JBOD
IB &
Ethernet

Compute 2

Host 4
Direct attached SAS

• Window Server 2012 Standard
• DMS Core
• SQL Server 2012 Enterprise Edition (PDW build)

PDW Workload Details
SQL Server 2012 Enterprise Edition (PDW build)
control node and compute nodes for PDW workload
Storage Details
Similar layout to V1
More files per filegroup
Leverages larger number of spindles in parallel
Architektura - dyski

• TempDB and Log are across all 16 LUNs
• No fixed tempDB or log size allocation
• VHDXs are on JBODs to ensure high
availability
• Disk I/O further parallelized
• Bandwidth to increase by ~70%

Node 1: Distribution A – file 1

Disk 3

Disk 4

Node 1: Distribution A – file 2

Disk 5

Disk 6

Node 1: Distribution B – file 1

Disk 7

Disk 8
.
.
.

Node 1: Distribution B – file 2
.
.
.
.
.
.

Disk 29

Disk 30

Node 1: Distribution H – file 1

Disk 32

Node 1: Distribution H – file 2

Disk 33

Disk 34

Node 2: Distribution A – file 1

Disk 35

Disk 36

Node 2: Distribution A – file 1

.
.
.

.
.
.

.
.
.

Disk 65

Disk 66

Disk 67

Disk 68

Disk 69

Disk 70

.
.
.

.
.
.

Fabric storage (VHDXs for nodes)
Hot spares
JBOD

Temp DB

• Distributions are now split across 2
files/LUNS

Disk 2

Disk 31

• Each LUN is composed of 2 drives in
RAID1 mirroring configuration

Disk 1

Log

Temp DB

Design Details

Log
Skalowalność PDW v2 - HP

Quarter-rack
Half
Three-quarters
Full rack
One-&-quarter
One-&-half
Two racks
Two and a half
Three racks
Four racks
Five racks
Six racks
Seven racks

Base Active Compute
1
0
2
1
1
4
1
2
6
1
3
8
2
3
10
2
4
12
2
6
16
3
7
20
3
9
24
4
12
32
5
15
40
6
18
48
7
21
56

Incr.
N/A
100%
50%
33%
25%
20%
33%
25%
20%
33%
25%
20%
17%

Spare
1
1
1
1
2
2
2
3
3
4
5
6
7

Total Raw disk: 1TB Raw disk: 3TB
4
15.1
45.3
6
30.2
90.6
8
45.3
135.9
10
60.4
181.2
13
75.5
226.5
15
90.6
271.8
19
120.8
362.4
24
151
453
28
181.2
543.6
37
241.6
724.8
46
302
906
55
362.4
1087.2
64
422.8
1268.4

Capacity
53-227 TB
106-453 TB
159-680 TB
211-906 TB
264-1133 TB
317-1359 TB
423-1812 TB
529-2265 TB
634-2718 TB
846-3624 TB
1057-4530 TB
1268-5436 TB
1480-6342 TB
Skalowalność PDW v2 - Dell
Base
Quarter-rack
1
2 thirds
1
Full rack
1
One and third
2
One and 2 third
2
2 racks
2
2 and a third
3
2 and 2 thirds
3
Three racks
3
Four racks
4
Five racks
5
Six racks
6

Active Compute
0
3
1
6
2
9
2
12
3
15
4
18
4
21
5
24
6
27
8
36
10
45
12
54

Incr.
N/A
100%
50%
33%
25%
20%
17%
14%
13%
33%
25%
20%

Spare Total
1
5
1
8
1
11
2
15
2
18
2
21
3
25
3
28
3
31
4
41
5
51
6
61

Raw disk: 1TB Raw disk: 3TB Capacity
22.65
67.95
79-340 TB
45.3
135.9
159-680 TB
67.95
203.85
238-1019 TB
90.6
271.8
317-1359 TB
113.25
339.75
396-1699 TB
135.9
407.7
476-2039 TB
158.55
475.65
555-2378 TB
181.2
543.6
634-2718 TB
203.85
611.55
713-3058 TB
271.8
815.4
951-4077 TB
339.75
1019.25
1189-5096 TB
407.7
1223.1
1427-6116 TB
Architektura - failover
Details
VM migration leveraged to move workload nodes to a new hosts after
hardware failure
CT
L
L

CT
L

MA
D

AD

FA

MA
B
Compute 1
D

AD

Compute 1

Compute 1

VM
M

VM
M

CT
L

Cluster Shared Volumes:
CSV allows all nodes to access the LUNs on the JBOD as long as at least
one of the hosts attached to the JBOD is active
Leverages SMB3 protocol

Host 1

1
Host 2

Failover Details:
One cluster across the whole appliance
VMs are automatically migrated on host failure
Affinity and anti-affinity maps enforce rules
Failback continues to be through CSS
Leverages Windows Failover Cluster Manager

Host 5
2

Host 3

JBOD
IB &
Ethernet

Compute 2

Host 4
Direct attached SAS

Adding Passive Unit increases HA capacity:
Allow another VM to fail without disabling the appliance
All hosts connected to a single JBOD cannot failover
PDW Configuration Manager
Appliance Topology
Services Status
Network Configuration
Privileges
Restore Master Database

C:Program FilesMicrosoft SQL Server Parallel Data Warehouse100dwconfig.exe
Admin Console - Main
Admin Console - Sessions
Admin Console - Queries
Admin Console - Loads
Admin Console – Backup / Restore
Admin Console – Health
Admin Console – Resources
Admin Console – Storage
Admin Console – Performance
Monitor
SQL Server Data Tools - SSDT
SQL Server Data Tools - SSDT
CREATE DATABASE
CREATE DATABASE database_name
WITH (

[ AUTOGROW = ON | OFF , ]

REPLICATED_SIZE = replicated_size [ GB ]
,

DISTRIBUTED_SIZE = distributed_size [ GB ]

,

LOG_SIZE = log_size [ GB ] ) [;]

-- Przykład
CREATE DATABASE BigDW
WITH (
AUTOGROW = OFF

, REPLICATED_SIZE = 1024
, DISTRIBUTED_SIZE = 16384

, LOG_SIZE = 1024
);
Rodzaje tabel w PDW
• Replikowane
– Idealne dla małych tabel wymiarów

• Rozproszone
– Każda dystrybucja danych trzymana jako osobna tabela
– Podobne do tabel partycjonowanych

• Tymczasowe (lokalne)
– Do optymalizacji i agregacji danych
Tabele - DDL
-- Tabela replikowana (domyślna)

CREATE TABLE <TableName>
(
<Column Names and Types>
)
WITH (DISTRIBUTION = REPLICATE)
-- Tabela rozproszona

CREATE TABLE <TableName>
(
<Column Names and Types>
)
WITH (DISTRIBUTION = HASH(<One Column Name>))
Tworzenie tabeli replikowanej
Tworzenie tabeli rozproszonej
To nie jest typowy SQL Server
•
•
•
•

dbo jedynym słusznym schematem
Nie wszystkie typy danych wspierane
Kompresja PAGE domyślnie włączona
Uwaga na domyślne collation appliance’a
Latin1_General_100_CI_AS_KS_WS
• Uwaga na „data skew” (mądrze wybierać atrybuty
dystrybucji)
Metadane
• Są znane widoki katalogowe
– Na szczęście jest sys.all_objects 
– Niektóre są unikalne, np.
sys.pdw_table_distribution_properties

• DMVs mają nazwy sys.dm_pdw_*
– Przykład: sys.dm_pdw_exec_sessions

• Są widoki INFORMATION_SCHEMA
Pobieranie danych
DMS – Data Movement Service
• Usługa Windows
• Działa na węzłach control i compute
• Używana do szybkiego przesyłania danych po sieci
Infiniband w PDW
• Używa ADO.NET
– SqlClient
– SqlBulkCopy
Ładowanie danych
•
•
•
•

DWLoader Utility
SQL Server Integration Services (SSIS)
CREATE TABLE AS SELECT (CTAS)
Standardowe składnie T-SQL (INSERT/SELECT)
DWLoader
• Narzędzie w linii komend uruchamiane w Landing
Zone
• Integracja z DMS
• Równoległe ładowanie pojedynczych plików
tekstowych
• Minimalny wpływ na jednocześnie uruchamiane
zapytania
dwloader
-M Append -i DimAccount.txt -T AdventureWorksDW.dbo.DimAccount
-R DimAccount.bad -t "|“-r 0x0d0x0A -U sa -P test -D "yyyy-MM-dd HH:mm:ss.fff“
-m -S 10.10.10.1
SSIS a PDW
• Wymagany Microsoft .NET
Framework 3.5 SP1
• SQL Server PDW adapter
– Wersje x86 i x64
• SQL Server Data Tools 2010/2012
• SSIS 2008 R2 lub 2012
CTAS
• Tworzy nową tabelę na podstawie zapytania
• Minimalne logowanie
• W pełni zrównoleglona operacja na wszystkich
węzłach obliczeniowych
CREATE TABLE [ database_name.[ dbo ].|dbo.]table_name
[ ( { column_name
}
[ ,...n ] ) ]
[ WITH ( DISTRIBUTION= {
HASH(distribution_column_name) | REPLICATE }
[ , <CTAS_table_option> [,…n] ] }
AS SELECT <select_criteria>
[;]
Indeks ColumnStore - budowa
Terminologia

•

Minimalna jednostka I/O to Segment

•

C4

C5

C6

Batch Mode przesyła ok. 1000 wierszy między
iteratorami

•

C3

Kolekcja segmentów to Row Group

•

C2

Dane są skompresowane w Segmenty
• Idealnie po ok. 1 mln wierszy

•

C1

Clustered columnstore – dwie części
• ColumnStore
• Delta Store

Słowniki (Primary i Secondary) przechowują dodatkowe
informacje o segmentach

ColumnStore

Delta (Row)
Store

C1

C2

C3

C4

…

•

Segments

Row Group

C
5

C6
Edytowalny indeks ColumnStore
Jak wspierane są polecenia DML

•

UPDATE = INSERT + DELETE

•

Konwersja Delta Store do ColumnStore przez REORGANIZE jest
operacją ONLINE

C5

C6

Delta Store jest przekształcany w ColumnStore przy wielkości ok. 1
mln wierszy (proces systemowy „Tuple Mover”)
• Można wymusić przez REORGANIZE przy ok. 1 mln wierszy

•

C4

•

Jest wsparcie dla ALTER/DROP/ALTER COLUMN oraz przełączania
partycji

~1M
Rows
C1

C2

C3

C4

…

DELETE-y są logiczne, dane nie są fizycznie usuwane dopóki nie
wykonamy REBUILD
• DELETE z Delta Store jest operacją fizyczną

C3

INSERT-y dodawane do Delta Store
• Delta Store – sterta z kompresją PAGE

•

C2

ColumnStore

•

C1

Zmiany w danych aplikowane bezpośrednio w indeksie clustered
columnstore

Delta (Row)
Store

•

Segments

Row Group

C5

C6
Polybase
• Integracja pomiędzy PDW (compute) i Hadoop
• Wiązanie danych strukturalnych i
nieustrukturyzowanych w locie

Hadoop

Hadoop

HDFS

DB

SQL in, results out

HDFS

DB

SQL in, results stored in HDFS
Polybase - SQL
CREATE EXTERNAL TABLE table_name ({<column_definition>} [,...n ])
{WITH (LOCATION =‘<URI>’,[FORMAT_OPTIONS = (<VALUES>)])}

[;]
-- Przykład
CREATE EXTERNAL TABLE ClickStream(

url varchar(50), event_date date, user_IP varchar(50)
)

WITH (
LOCATION =‘hdfs://MyHadoop:5000/tpch1GB/employee.tbl’,

FORMAT_OPTIONS (FIELD_TERMINATOR = '|')
);
Podsumowanie
• PDW v2 = SQL Server 2012 Appliance
• Massively Parallel Processing
• Skalowalność do ok. 6 PB
– Od „ćwiartki” do kilku racków

• Indeksy ColumnStore z możliwością modyfikacji danych
• Polybase – EDW ze wsparciem dla Big Data

• To nie jest „normalny” SQL Server… ale o wiele bardziej
podobny do tego, co znamy, niż PDW v1 
Pytania?
PAWELPO@MICROSOFT.COM
NASI SPONSORZY I PARTNERZY

Organizacja: Polskie Stowarzyszenie Użytkowników SQL Server - PLSSUG
Produkcja: DATA MASTER Maciej Pilecki

More Related Content

Viewers also liked

SQLDay2013_PawełPotasiński_GeografiaSQLServer2012
SQLDay2013_PawełPotasiński_GeografiaSQLServer2012SQLDay2013_PawełPotasiński_GeografiaSQLServer2012
SQLDay2013_PawełPotasiński_GeografiaSQLServer2012Polish SQL Server User Group
 
SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...
SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...
SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...Polish SQL Server User Group
 
SQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&Running
SQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&RunningSQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&Running
SQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&RunningPolish SQL Server User Group
 
CISSPDAY 2011 - 2 AM A Disaster just Began
CISSPDAY 2011 - 2 AM A Disaster just BeganCISSPDAY 2011 - 2 AM A Disaster just Began
CISSPDAY 2011 - 2 AM A Disaster just BeganTobias Koprowski
 
SQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitectures
SQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitecturesSQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitectures
SQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitecturesPolish SQL Server User Group
 
26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts
26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts
26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scriptsPolish SQL Server User Group
 
SQLDay2013_Denny Cherry - Table indexing for the .NET Developer
SQLDay2013_Denny Cherry - Table indexing for the .NET DeveloperSQLDay2013_Denny Cherry - Table indexing for the .NET Developer
SQLDay2013_Denny Cherry - Table indexing for the .NET DeveloperPolish SQL Server User Group
 
SQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorld
SQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorldSQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorld
SQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorldPolish SQL Server User Group
 
GoldenLine.pl - Od Startupu do... Startupu :-)
GoldenLine.pl - Od Startupu do... Startupu :-)GoldenLine.pl - Od Startupu do... Startupu :-)
GoldenLine.pl - Od Startupu do... Startupu :-)Karol Traczykowski
 
SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...
SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...
SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...Polish SQL Server User Group
 
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)Krzysztof Kotowicz
 

Viewers also liked (19)

SQLDay2013_PawełPotasiński_GeografiaSQLServer2012
SQLDay2013_PawełPotasiński_GeografiaSQLServer2012SQLDay2013_PawełPotasiński_GeografiaSQLServer2012
SQLDay2013_PawełPotasiński_GeografiaSQLServer2012
 
SQLDay2013_ChrisWebb_DAXMD
SQLDay2013_ChrisWebb_DAXMDSQLDay2013_ChrisWebb_DAXMD
SQLDay2013_ChrisWebb_DAXMD
 
SQLDay2013_GrzegorzStolecki_RealTimeOLAP
SQLDay2013_GrzegorzStolecki_RealTimeOLAPSQLDay2013_GrzegorzStolecki_RealTimeOLAP
SQLDay2013_GrzegorzStolecki_RealTimeOLAP
 
SQLDay2013_MaciejPilecki_Lock&Latches
SQLDay2013_MaciejPilecki_Lock&LatchesSQLDay2013_MaciejPilecki_Lock&Latches
SQLDay2013_MaciejPilecki_Lock&Latches
 
SQLDay2013_ChrisWebb_SSASDesignMistakes
SQLDay2013_ChrisWebb_SSASDesignMistakesSQLDay2013_ChrisWebb_SSASDesignMistakes
SQLDay2013_ChrisWebb_SSASDesignMistakes
 
SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...
SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...
SQL DAY 2012 | DEV Track | Session 6 - Master Data Management by W.Bielski 6 ...
 
SQLDay2011_Sesja02_Collation_Marek Adamczuk
SQLDay2011_Sesja02_Collation_Marek AdamczukSQLDay2011_Sesja02_Collation_Marek Adamczuk
SQLDay2011_Sesja02_Collation_Marek Adamczuk
 
SQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&Running
SQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&RunningSQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&Running
SQLDay2013_DennyCherry_GettingSQLServiceBrokerUp&Running
 
CISSPDAY 2011 - 2 AM A Disaster just Began
CISSPDAY 2011 - 2 AM A Disaster just BeganCISSPDAY 2011 - 2 AM A Disaster just Began
CISSPDAY 2011 - 2 AM A Disaster just Began
 
SQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitectures
SQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitecturesSQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitectures
SQLDay2013_MarcinSzeliga_SQLServer2012FastTrackDWReferenceArchitectures
 
26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts
26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts
26th_Meetup_of_PLSSUG_WROCLAW-ColumnStore_Indexes_byBeataZalewa_scripts
 
SQLDay2013_GrzegorzStolecki_KonsolidacjaBI
SQLDay2013_GrzegorzStolecki_KonsolidacjaBISQLDay2013_GrzegorzStolecki_KonsolidacjaBI
SQLDay2013_GrzegorzStolecki_KonsolidacjaBI
 
SQLDay2013_Denny Cherry - Table indexing for the .NET Developer
SQLDay2013_Denny Cherry - Table indexing for the .NET DeveloperSQLDay2013_Denny Cherry - Table indexing for the .NET Developer
SQLDay2013_Denny Cherry - Table indexing for the .NET Developer
 
SQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorld
SQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorldSQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorld
SQLDay2013_Denny Cherry - SQLServer2012inaHighlyAvailableWorld
 
SQLDay2013_ChrisWebb_CubeDesign&PerformanceTuning
SQLDay2013_ChrisWebb_CubeDesign&PerformanceTuningSQLDay2013_ChrisWebb_CubeDesign&PerformanceTuning
SQLDay2013_ChrisWebb_CubeDesign&PerformanceTuning
 
GoldenLine.pl - Od Startupu do... Startupu :-)
GoldenLine.pl - Od Startupu do... Startupu :-)GoldenLine.pl - Od Startupu do... Startupu :-)
GoldenLine.pl - Od Startupu do... Startupu :-)
 
SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...
SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...
SQL DAY 2012 | DEV Track | Session 8 - Getting Dimension with Data by C.Tecta...
 
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 

Similar to SQLDay2013_PawełPotasiński_ParallelDataWareHouse

[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics System[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics SystemArtur Wronski
 
Performance troubleshooting in Hyper-V
Performance troubleshooting in Hyper-VPerformance troubleshooting in Hyper-V
Performance troubleshooting in Hyper-VLukasz Kaluzny
 
[#1] z kilku perspektyw - IBM Integrated Analytics System
[#1] z kilku perspektyw - IBM Integrated Analytics System[#1] z kilku perspektyw - IBM Integrated Analytics System
[#1] z kilku perspektyw - IBM Integrated Analytics SystemArtur Wronski
 
PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...
PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...
PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...PROIDEA
 
HPE ProLiant DL300 - serwery rackowe
HPE ProLiant DL300 - serwery rackoweHPE ProLiant DL300 - serwery rackowe
HPE ProLiant DL300 - serwery rackowehpepolska
 
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_HiperkonwergentnymPLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_HiperkonwergentnymPROIDEA
 
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?Tobias Koprowski
 
Windows Serwer 2012 R2 licencjonowanie
Windows Serwer 2012 R2 licencjonowanieWindows Serwer 2012 R2 licencjonowanie
Windows Serwer 2012 R2 licencjonowanieHIPERSYSTEM LTD ™
 
infraxstructure: Jarosław Zieliński i Sławomir Stanek "Wojna o Wirtualizację...
infraxstructure: Jarosław Zieliński i Sławomir Stanek  "Wojna o Wirtualizację...infraxstructure: Jarosław Zieliński i Sławomir Stanek  "Wojna o Wirtualizację...
infraxstructure: Jarosław Zieliński i Sławomir Stanek "Wojna o Wirtualizację...PROIDEA
 
[PLCUG] Hyper converged - Atlantis USX (PL)
[PLCUG] Hyper converged - Atlantis USX (PL)[PLCUG] Hyper converged - Atlantis USX (PL)
[PLCUG] Hyper converged - Atlantis USX (PL)Jaroslaw Sobel
 
Citrix provisioning services
Citrix provisioning servicesCitrix provisioning services
Citrix provisioning servicesPawel Serwan
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITGOG.com dev team
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PROIDEA
 
Wprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkWprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkSages
 
Michał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonychMichał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonychAnalyticsConf
 
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)Jaroslaw Sobel
 
Hyper converged - overview
Hyper converged - overviewHyper converged - overview
Hyper converged - overviewPawel Serwan
 
[PLCUG] Hyper converged - overview (PL)
[PLCUG] Hyper converged - overview (PL)[PLCUG] Hyper converged - overview (PL)
[PLCUG] Hyper converged - overview (PL)Jaroslaw Sobel
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITamarekmisztal
 
infraxstructure: Paweł Serwan i Jarosław Sobel "Wirtualizacja aplikacji czy ...
infraxstructure: Paweł Serwan i Jarosław Sobel  "Wirtualizacja aplikacji czy ...infraxstructure: Paweł Serwan i Jarosław Sobel  "Wirtualizacja aplikacji czy ...
infraxstructure: Paweł Serwan i Jarosław Sobel "Wirtualizacja aplikacji czy ...PROIDEA
 

Similar to SQLDay2013_PawełPotasiński_ParallelDataWareHouse (20)

[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics System[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics System
 
Performance troubleshooting in Hyper-V
Performance troubleshooting in Hyper-VPerformance troubleshooting in Hyper-V
Performance troubleshooting in Hyper-V
 
[#1] z kilku perspektyw - IBM Integrated Analytics System
[#1] z kilku perspektyw - IBM Integrated Analytics System[#1] z kilku perspektyw - IBM Integrated Analytics System
[#1] z kilku perspektyw - IBM Integrated Analytics System
 
PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...
PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...
PLNOG 3: Krzysztof Góźdź - Petabajtowe systemy przechowywania danych dla dost...
 
HPE ProLiant DL300 - serwery rackowe
HPE ProLiant DL300 - serwery rackoweHPE ProLiant DL300 - serwery rackowe
HPE ProLiant DL300 - serwery rackowe
 
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_HiperkonwergentnymPLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
 
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
 
Windows Serwer 2012 R2 licencjonowanie
Windows Serwer 2012 R2 licencjonowanieWindows Serwer 2012 R2 licencjonowanie
Windows Serwer 2012 R2 licencjonowanie
 
infraxstructure: Jarosław Zieliński i Sławomir Stanek "Wojna o Wirtualizację...
infraxstructure: Jarosław Zieliński i Sławomir Stanek  "Wojna o Wirtualizację...infraxstructure: Jarosław Zieliński i Sławomir Stanek  "Wojna o Wirtualizację...
infraxstructure: Jarosław Zieliński i Sławomir Stanek "Wojna o Wirtualizację...
 
[PLCUG] Hyper converged - Atlantis USX (PL)
[PLCUG] Hyper converged - Atlantis USX (PL)[PLCUG] Hyper converged - Atlantis USX (PL)
[PLCUG] Hyper converged - Atlantis USX (PL)
 
Citrix provisioning services
Citrix provisioning servicesCitrix provisioning services
Citrix provisioning services
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com IT
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
Wprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkWprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache Spark
 
Michał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonychMichał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonych
 
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
 
Hyper converged - overview
Hyper converged - overviewHyper converged - overview
Hyper converged - overview
 
[PLCUG] Hyper converged - overview (PL)
[PLCUG] Hyper converged - overview (PL)[PLCUG] Hyper converged - overview (PL)
[PLCUG] Hyper converged - overview (PL)
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
 
infraxstructure: Paweł Serwan i Jarosław Sobel "Wirtualizacja aplikacji czy ...
infraxstructure: Paweł Serwan i Jarosław Sobel  "Wirtualizacja aplikacji czy ...infraxstructure: Paweł Serwan i Jarosław Sobel  "Wirtualizacja aplikacji czy ...
infraxstructure: Paweł Serwan i Jarosław Sobel "Wirtualizacja aplikacji czy ...
 

More from Polish SQL Server User Group

26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session
26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session
26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_sessionPolish SQL Server User Group
 
SQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStolecki
SQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStoleckiSQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStolecki
SQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStoleckiPolish SQL Server User Group
 
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGralaSQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGralaPolish SQL Server User Group
 
SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...
SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...
SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...Polish SQL Server User Group
 
How to tune a database application without changing a single query - Maciej P...
How to tune a database application without changing a single query - Maciej P...How to tune a database application without changing a single query - Maciej P...
How to tune a database application without changing a single query - Maciej P...Polish SQL Server User Group
 
Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...
Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...
Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...Polish SQL Server User Group
 
Master Data Services – Po co nam kolejna usługa w Sql Server - Mariusz Koprowski
Master Data Services – Po co nam kolejna usługa w Sql Server - Mariusz KoprowskiMaster Data Services – Po co nam kolejna usługa w Sql Server - Mariusz Koprowski
Master Data Services – Po co nam kolejna usługa w Sql Server - Mariusz KoprowskiPolish SQL Server User Group
 

More from Polish SQL Server User Group (8)

SQLDay2013_MarcinSzeliga_DataInDataMining
SQLDay2013_MarcinSzeliga_DataInDataMiningSQLDay2013_MarcinSzeliga_DataInDataMining
SQLDay2013_MarcinSzeliga_DataInDataMining
 
26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session
26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session
26th_Meetup_of_PLSSUG-ColumnStore_Indexes_byBeataZalewa_session
 
SQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStolecki
SQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStoleckiSQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStolecki
SQLDay2011_Sesja03_Fakty,MiaryISwiatRealny_GrzegorzStolecki
 
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGralaSQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
 
SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...
SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...
SQLDay2011_Sesja05_MicrosoftSQLServerExecutionPlansFromCompilationToCachingTo...
 
How to tune a database application without changing a single query - Maciej P...
How to tune a database application without changing a single query - Maciej P...How to tune a database application without changing a single query - Maciej P...
How to tune a database application without changing a single query - Maciej P...
 
Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...
Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...
Co nowego w SQL Server 11 – Denali CTP1 - Grzegorz Stolecki, Łukasz Grala i K...
 
Master Data Services – Po co nam kolejna usługa w Sql Server - Mariusz Koprowski
Master Data Services – Po co nam kolejna usługa w Sql Server - Mariusz KoprowskiMaster Data Services – Po co nam kolejna usługa w Sql Server - Mariusz Koprowski
Master Data Services – Po co nam kolejna usługa w Sql Server - Mariusz Koprowski
 

SQLDay2013_PawełPotasiński_ParallelDataWareHouse

  • 1. NASI SPONSORZY I PARTNERZY
  • 2. Parallel Data Warehouse v2 Deep Dive Paweł Potasiński | Microsoft pawelpo@microsoft.com Blog: sqlgeek.pl
  • 3. Agenda • • • • • • • Dlaczego powstało PDW v2? Architektura Narzędzia Rozkład danych Ładowanie danych Columnstore po nowemu Polybase
  • 5. Hurtownie na SQL Server SQL SERVER Klient kupuje i konfiguruje oprogramowanie samodzielnie bez wskazówek producenta. ARCHITEKTURA REFERENCYJNA Sprzęt i oprogramowanie skonfigurowane zgodnie z najlepszymi praktykami. APPLIANCE Sprzęt i oprogramowanie predefiniowane do ekstremalnie wydajnego przetwarzania danych. Budowa Budowa Budowa Tuning Tuning Tuning Elastyczność konfiguracji Elastyczność konfiguracji Elastyczność konfiguracji Startowa inwestycja Startowa inwestycja Startowa inwestycja Oferta • SQL Server 2012 • SQL Server 2008 R2 Oferta • Fast Track for SQL Server 2012 • Fast Track for SQL Server 2008 R2 Oferta • Parallel Data Warehouse (PDW)
  • 6. Massively Parallel Processing (MPP) Liniowa skalowalność „wszerz” • Architektura Massively Parallel Processing (MPP) • Skalowanie: dodawanie kolejnego sprzętu i osiąganie niemal liniowej skalowalności • Shared Nothing 10Xszybsze niż SMP DW Skomplikowane obliczenia Niemal liniowa skalowalność Łatwość skalowania
  • 7. MPP (PDW v1) vs SMP PDW AU3 to SMP comparison Query times in seconds 5000 220x 4000 Overall Performance Increase 3000 2000 1000 0 Original Time PDW Time Query 1 4200 Query 2 1200 Query 3 120 Query 4 120 Query 5 120 Query 6 1200 16 6 2 2 2 4 * Data based on POC query metrics with PDW customer
  • 8. Gartner Data Warehousing Challengers Business Intelligence Challengers Leaders Leaders Microsoft Niche players Visionaries Completeness of Vision Ability to Execute Ability to Execute Microsoft Niche players Visionaries Completeness of Vision “Microsoft exhibits one of the best value propositions on the market with a low cost and a highly favorable price/performance ratio” - Gartner, February 2012
  • 9. PDW v2 vs PDW v1 • Reduce hardware footprint by virtualizing the entire control server rack down to a few nodes Control Node Mgmt. Node • 1.5x lower price/TB providing the lowest price/TB in the industry LZ • Save up to 70% of storage with up to 15x compression via the xVelocity columstore Backup Node Infiniband & Ethernet Infiniband & Ethernet CONTROL RACK • • • • Fiber Channel DATA RACK 160 cores on 10 compute nodes 1.28 TB of RAM on compute Up to 30 TB of temp DB Up to 150 TB of user data RACK 1 • • • • 128 cores on 8 compute nodes 2TB of RAM on compute Up to 168 TB of temp DB Up to 1PB of user data • Resilient, scalable, and high performance storage features in WS2012 replace SAN with high density, low cost SAS JBODS • 70% more disk I/O bandwidth
  • 10. Architektura - Hardware Hardware Details One standard node type 2 – 8 core Intel processors Doubled memory to 256GB Host 1 Updating to the newest Infiniband (FDR – 56 GB/sec) Moving from SAN to JBODs Significant reduction in costs Moving away from dependency on handful of key SAN vendors Leverage Windows Server 2012 technologies to achieve the same level of reliability and robustness Host 2 Host 3 JBOD IB & Ethernet Host 4 Direct attached SAS Backup & LZ are now reference architectures and not in the appliance Customers can use their own hardware* Customers can use more than 1 BU or LZ for high availability Scale Unit concept Base Unit: minimum configuration - populates rack w/ networking Scale Unit: adds capacity by 2 or 3 compute nodes/related storage Passive Unit: increases HA capacity by adding more spares
  • 11. Architektura - VMs • • • • • Software Details Window Server 2012 Standard PDW engine DMS Manager SQL Server 2012 Enterprise Edition (PDW build) Shell DBs just as in AU3+ CT L MA D AD VM M General Details All hosts run Windows Server 2012 Standard All VMs run Windows Server 2012 Standard as a guest OS All fabric and workload activity happens in Hyper-V virtual machines Fabric VMs, MAD01 and CTL share 1 server lower overhead costs especially for small topologies PDW Agent runs on all hosts and all VMs collects appliance health data on fabric and workload DWConfig and Admin Console continue to exist minor extensions to expose host level information Windows Storage Spaces handles mirroring and spares allows us to use lower cost DAS (JBODs) rather than SAN Host 1 Host 2 Compute 1 Host 3 JBOD IB & Ethernet Compute 2 Host 4 Direct attached SAS • Window Server 2012 Standard • DMS Core • SQL Server 2012 Enterprise Edition (PDW build) PDW Workload Details SQL Server 2012 Enterprise Edition (PDW build) control node and compute nodes for PDW workload Storage Details Similar layout to V1 More files per filegroup Leverages larger number of spindles in parallel
  • 12. Architektura - dyski • TempDB and Log are across all 16 LUNs • No fixed tempDB or log size allocation • VHDXs are on JBODs to ensure high availability • Disk I/O further parallelized • Bandwidth to increase by ~70% Node 1: Distribution A – file 1 Disk 3 Disk 4 Node 1: Distribution A – file 2 Disk 5 Disk 6 Node 1: Distribution B – file 1 Disk 7 Disk 8 . . . Node 1: Distribution B – file 2 . . . . . . Disk 29 Disk 30 Node 1: Distribution H – file 1 Disk 32 Node 1: Distribution H – file 2 Disk 33 Disk 34 Node 2: Distribution A – file 1 Disk 35 Disk 36 Node 2: Distribution A – file 1 . . . . . . . . . Disk 65 Disk 66 Disk 67 Disk 68 Disk 69 Disk 70 . . . . . . Fabric storage (VHDXs for nodes) Hot spares JBOD Temp DB • Distributions are now split across 2 files/LUNS Disk 2 Disk 31 • Each LUN is composed of 2 drives in RAID1 mirroring configuration Disk 1 Log Temp DB Design Details Log
  • 13. Skalowalność PDW v2 - HP Quarter-rack Half Three-quarters Full rack One-&-quarter One-&-half Two racks Two and a half Three racks Four racks Five racks Six racks Seven racks Base Active Compute 1 0 2 1 1 4 1 2 6 1 3 8 2 3 10 2 4 12 2 6 16 3 7 20 3 9 24 4 12 32 5 15 40 6 18 48 7 21 56 Incr. N/A 100% 50% 33% 25% 20% 33% 25% 20% 33% 25% 20% 17% Spare 1 1 1 1 2 2 2 3 3 4 5 6 7 Total Raw disk: 1TB Raw disk: 3TB 4 15.1 45.3 6 30.2 90.6 8 45.3 135.9 10 60.4 181.2 13 75.5 226.5 15 90.6 271.8 19 120.8 362.4 24 151 453 28 181.2 543.6 37 241.6 724.8 46 302 906 55 362.4 1087.2 64 422.8 1268.4 Capacity 53-227 TB 106-453 TB 159-680 TB 211-906 TB 264-1133 TB 317-1359 TB 423-1812 TB 529-2265 TB 634-2718 TB 846-3624 TB 1057-4530 TB 1268-5436 TB 1480-6342 TB
  • 14. Skalowalność PDW v2 - Dell Base Quarter-rack 1 2 thirds 1 Full rack 1 One and third 2 One and 2 third 2 2 racks 2 2 and a third 3 2 and 2 thirds 3 Three racks 3 Four racks 4 Five racks 5 Six racks 6 Active Compute 0 3 1 6 2 9 2 12 3 15 4 18 4 21 5 24 6 27 8 36 10 45 12 54 Incr. N/A 100% 50% 33% 25% 20% 17% 14% 13% 33% 25% 20% Spare Total 1 5 1 8 1 11 2 15 2 18 2 21 3 25 3 28 3 31 4 41 5 51 6 61 Raw disk: 1TB Raw disk: 3TB Capacity 22.65 67.95 79-340 TB 45.3 135.9 159-680 TB 67.95 203.85 238-1019 TB 90.6 271.8 317-1359 TB 113.25 339.75 396-1699 TB 135.9 407.7 476-2039 TB 158.55 475.65 555-2378 TB 181.2 543.6 634-2718 TB 203.85 611.55 713-3058 TB 271.8 815.4 951-4077 TB 339.75 1019.25 1189-5096 TB 407.7 1223.1 1427-6116 TB
  • 15. Architektura - failover Details VM migration leveraged to move workload nodes to a new hosts after hardware failure CT L L CT L MA D AD FA MA B Compute 1 D AD Compute 1 Compute 1 VM M VM M CT L Cluster Shared Volumes: CSV allows all nodes to access the LUNs on the JBOD as long as at least one of the hosts attached to the JBOD is active Leverages SMB3 protocol Host 1 1 Host 2 Failover Details: One cluster across the whole appliance VMs are automatically migrated on host failure Affinity and anti-affinity maps enforce rules Failback continues to be through CSS Leverages Windows Failover Cluster Manager Host 5 2 Host 3 JBOD IB & Ethernet Compute 2 Host 4 Direct attached SAS Adding Passive Unit increases HA capacity: Allow another VM to fail without disabling the appliance All hosts connected to a single JBOD cannot failover
  • 16. PDW Configuration Manager Appliance Topology Services Status Network Configuration Privileges Restore Master Database C:Program FilesMicrosoft SQL Server Parallel Data Warehouse100dwconfig.exe
  • 18. Admin Console - Sessions
  • 19. Admin Console - Queries
  • 21. Admin Console – Backup / Restore
  • 23. Admin Console – Resources
  • 24. Admin Console – Storage
  • 25. Admin Console – Performance Monitor
  • 26. SQL Server Data Tools - SSDT
  • 27. SQL Server Data Tools - SSDT
  • 28. CREATE DATABASE CREATE DATABASE database_name WITH ( [ AUTOGROW = ON | OFF , ] REPLICATED_SIZE = replicated_size [ GB ] , DISTRIBUTED_SIZE = distributed_size [ GB ] , LOG_SIZE = log_size [ GB ] ) [;] -- Przykład CREATE DATABASE BigDW WITH ( AUTOGROW = OFF , REPLICATED_SIZE = 1024 , DISTRIBUTED_SIZE = 16384 , LOG_SIZE = 1024 );
  • 29. Rodzaje tabel w PDW • Replikowane – Idealne dla małych tabel wymiarów • Rozproszone – Każda dystrybucja danych trzymana jako osobna tabela – Podobne do tabel partycjonowanych • Tymczasowe (lokalne) – Do optymalizacji i agregacji danych
  • 30. Tabele - DDL -- Tabela replikowana (domyślna) CREATE TABLE <TableName> ( <Column Names and Types> ) WITH (DISTRIBUTION = REPLICATE) -- Tabela rozproszona CREATE TABLE <TableName> ( <Column Names and Types> ) WITH (DISTRIBUTION = HASH(<One Column Name>))
  • 33. To nie jest typowy SQL Server • • • • dbo jedynym słusznym schematem Nie wszystkie typy danych wspierane Kompresja PAGE domyślnie włączona Uwaga na domyślne collation appliance’a Latin1_General_100_CI_AS_KS_WS • Uwaga na „data skew” (mądrze wybierać atrybuty dystrybucji)
  • 34. Metadane • Są znane widoki katalogowe – Na szczęście jest sys.all_objects  – Niektóre są unikalne, np. sys.pdw_table_distribution_properties • DMVs mają nazwy sys.dm_pdw_* – Przykład: sys.dm_pdw_exec_sessions • Są widoki INFORMATION_SCHEMA
  • 36. DMS – Data Movement Service • Usługa Windows • Działa na węzłach control i compute • Używana do szybkiego przesyłania danych po sieci Infiniband w PDW • Używa ADO.NET – SqlClient – SqlBulkCopy
  • 37. Ładowanie danych • • • • DWLoader Utility SQL Server Integration Services (SSIS) CREATE TABLE AS SELECT (CTAS) Standardowe składnie T-SQL (INSERT/SELECT)
  • 38. DWLoader • Narzędzie w linii komend uruchamiane w Landing Zone • Integracja z DMS • Równoległe ładowanie pojedynczych plików tekstowych • Minimalny wpływ na jednocześnie uruchamiane zapytania dwloader -M Append -i DimAccount.txt -T AdventureWorksDW.dbo.DimAccount -R DimAccount.bad -t "|“-r 0x0d0x0A -U sa -P test -D "yyyy-MM-dd HH:mm:ss.fff“ -m -S 10.10.10.1
  • 39. SSIS a PDW • Wymagany Microsoft .NET Framework 3.5 SP1 • SQL Server PDW adapter – Wersje x86 i x64 • SQL Server Data Tools 2010/2012 • SSIS 2008 R2 lub 2012
  • 40. CTAS • Tworzy nową tabelę na podstawie zapytania • Minimalne logowanie • W pełni zrównoleglona operacja na wszystkich węzłach obliczeniowych CREATE TABLE [ database_name.[ dbo ].|dbo.]table_name [ ( { column_name } [ ,...n ] ) ] [ WITH ( DISTRIBUTION= { HASH(distribution_column_name) | REPLICATE } [ , <CTAS_table_option> [,…n] ] } AS SELECT <select_criteria> [;]
  • 41. Indeks ColumnStore - budowa Terminologia • Minimalna jednostka I/O to Segment • C4 C5 C6 Batch Mode przesyła ok. 1000 wierszy między iteratorami • C3 Kolekcja segmentów to Row Group • C2 Dane są skompresowane w Segmenty • Idealnie po ok. 1 mln wierszy • C1 Clustered columnstore – dwie części • ColumnStore • Delta Store Słowniki (Primary i Secondary) przechowują dodatkowe informacje o segmentach ColumnStore Delta (Row) Store C1 C2 C3 C4 … • Segments Row Group C 5 C6
  • 42. Edytowalny indeks ColumnStore Jak wspierane są polecenia DML • UPDATE = INSERT + DELETE • Konwersja Delta Store do ColumnStore przez REORGANIZE jest operacją ONLINE C5 C6 Delta Store jest przekształcany w ColumnStore przy wielkości ok. 1 mln wierszy (proces systemowy „Tuple Mover”) • Można wymusić przez REORGANIZE przy ok. 1 mln wierszy • C4 • Jest wsparcie dla ALTER/DROP/ALTER COLUMN oraz przełączania partycji ~1M Rows C1 C2 C3 C4 … DELETE-y są logiczne, dane nie są fizycznie usuwane dopóki nie wykonamy REBUILD • DELETE z Delta Store jest operacją fizyczną C3 INSERT-y dodawane do Delta Store • Delta Store – sterta z kompresją PAGE • C2 ColumnStore • C1 Zmiany w danych aplikowane bezpośrednio w indeksie clustered columnstore Delta (Row) Store • Segments Row Group C5 C6
  • 43. Polybase • Integracja pomiędzy PDW (compute) i Hadoop • Wiązanie danych strukturalnych i nieustrukturyzowanych w locie Hadoop Hadoop HDFS DB SQL in, results out HDFS DB SQL in, results stored in HDFS
  • 44. Polybase - SQL CREATE EXTERNAL TABLE table_name ({<column_definition>} [,...n ]) {WITH (LOCATION =‘<URI>’,[FORMAT_OPTIONS = (<VALUES>)])} [;] -- Przykład CREATE EXTERNAL TABLE ClickStream( url varchar(50), event_date date, user_IP varchar(50) ) WITH ( LOCATION =‘hdfs://MyHadoop:5000/tpch1GB/employee.tbl’, FORMAT_OPTIONS (FIELD_TERMINATOR = '|') );
  • 45. Podsumowanie • PDW v2 = SQL Server 2012 Appliance • Massively Parallel Processing • Skalowalność do ok. 6 PB – Od „ćwiartki” do kilku racków • Indeksy ColumnStore z możliwością modyfikacji danych • Polybase – EDW ze wsparciem dla Big Data • To nie jest „normalny” SQL Server… ale o wiele bardziej podobny do tego, co znamy, niż PDW v1 
  • 47. NASI SPONSORZY I PARTNERZY Organizacja: Polskie Stowarzyszenie Użytkowników SQL Server - PLSSUG Produkcja: DATA MASTER Maciej Pilecki