12
BEST S.A. Co nowego w SQL Server 2012 dla programistów Cezary Ołtuszyk coltuszyk.wordpress.com

Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

BEST S.A.

Co nowego w SQL Server 2012 dla programistów

Cezary Ołtuszyk coltuszyk.wordpress.com

Page 2: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Plan spotkania

I. Sekwencje

II. Nowe funkcje skalarne

III. Wzbogacona klauzula OVER

IV. Indeksy typu COLUMNSTRORE

V. Mechanizm FILETABLE

VI. Podsumowanie

Page 3: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Sekwencje

Sekwencje są obiektami pozwalającymi na generowanie wartości wg określonego licznika. Ich działanie jest bardzo podobne do właściwości IDENTITY znanej z wcześniejszych wersji SQL Server, jednakże w przeciwieństwie do niej nie są one bezpośrednio połączone z tabelą. Składnia sekwencji wygląda następująco:

CREATE SEQUENCE [schema_name . ] sequence_name [ AS [ built_in_integer_type | user-defined_integer_type ] ] [ START WITH <constant> ] [ INCREMENT BY <constant> ] [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ] [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ] [ CYCLE | { NO CYCLE } ] [ { CACHE [ <constant> ] } | { NO CACHE } ] [ ; ]

Page 4: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Sekwencje

Istnieje wiele scenariuszy wykorzystania nowej funkcjonalności SQL Server-a. Jedną z nich może być np. nadawanie numerów identyfikacyjnych podczas ładowania danych do systemu Business Intelligence:

Page 5: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Nowe funkcje skalarne

Kolejną nowością w SQL Server 2012 są nowe funkcje skalarne:

Conversion

functions

Date and time

functions

Logical functions String functions

PARSE DATEFROMPARTS CHOOSE CONCAT

TRY_CONVERT DATETIME2FROMPARTS IIF FORMAT

TRY_PARSE DATETIMEFROMPARTS

DATETIMEOFFSETFRO

MPARTS

EOMONTH

SMALLDATETIMEFROM

PARTS

TIMEFROMPARTS

Page 6: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Wzbogacona klauzula OVER

Jednym z udoskonaleń SQL Server 2012 jest rozszerzenie możliwości jaką dają nam funkcje okienkowe.

Wraz z ukazaniem się wersji CTP3 klauzula ORDER BY używana wewnątrz OVER nie jest już zarezerwowana tylko dla funkcji rankingowych, może ona być także użyta podczas agregacji. Dodatkowo używając ORDER BY w klauzuli OVER uzyskaliśmy możliwość limitowania ilości wierszy przetwarzanych przez funkcję okienkową. Aby tego dokonać używamy klauzul ROWS lub RANGE. Dzięki temu zabiegowi dokonywanie takich obliczeń jak np. sumy bieżące stało się o wiele prostsze

Page 7: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Wzbogacona klauzula OVER

Kolejnym usprawnieniem klauzuli OVER w SQL Server 2012 jest wprowadzenie ośmiu funkcji analitycznych:

CUME_DIST

FIRST_VALUE

LAG

LAST_VALUE

LEAD

PERCENT_RANK

PERCENTILE_COUNT

PERCENTILE_DISC

Page 8: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

W SQL Server 2012 został wprowadzony nowy typ indeksów - COLUMNSTORE. Budowa takiego indeksu różni się od dotychczasowych rozwiązań. Jest ona oparta na przechowywaniu danych kolumnami, a nie jak do tej pory wierszami. Ponadto nie ma ona struktury drzewiastej.

Dzięki tej zmianie przechowywane dane mogą zostać poddane bardzo efektywnej kompresji. Głównym przeznaczeniem indeksów typu COLUMNSTORE są hurtownie danych.

Page 9: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUNSTORE

Niestety indeksy typu COLUMNSTORE mają też pewne wady, z czego najbardziej dotkliwymi mogą być:

Dane w indeksie COLUMNSTORE nie mogą być modyfikowane !!!

Indeks ten może być jedynie indeksem niegrupującym

Indeks nie może mieć właściwości UNIQUE

Nie może być zakładany na widokach indeksowanych

Nie można używać kolumn typu SPARSE

Nie można zmieniać definicji indeksu przy użyciu składni ALTER INDEX

Nie wspiera mechanizmu SEEK

Page 10: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Mechanizm FILETABLE

SQL Server 2012 wprowadza mechanizm o nazwie FILETABLE pozwalający na przechowywanie plików binarnych w specjalnie do tego celu przeznaczonych strukturach. Dostęp do zapisanych w ten sposób danych można uzyskać zarówno z poziomu T-SQL jak i WINDOWS:

Page 11: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Mechanizm FILETABLE

Aby cieszyć się tą funkcjonalnością należy spełnić kilka wymagań:

włączyć FILESTRAM dla instancji

stworzyć FILESTREAM FILEGROUP dla wybranej bazy danych

ustawić odpowiedni poziom dla nietransakcyjnego dostępu do danych

ustawić nazwę lokalizacji dostępowej do danych FILETABLE z poziomu WINDOWS

Stworzyć tabelę typu FILETABLE i umieszczać w niej dane

Page 12: Prezentacja programu PowerPoint - WordPress.com · LAST_VALUE LEAD PERCENT_RANK PERCENTILE_COUNT PERCENTILE_DISC . Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE

Co nowego w SQL Server 2012 dla programistów Podsumowanie

W SQL Server 2012 do autonumerowania kolejnych wierszy w tabeli możemy SEKWENCJI

W nowej wersji SQL-a dostaliśmy 14 nowych funkcji skalarnych, a najfajniejszą jest …

Stwierdzenie, że „Klauzula OVER w SQL Server 2012 została ulepszona” to mało powiedziane …

Indeksy typu COLUMNSTORE pozwalają efektywnie korzystać z danych hurtownianych

Mechanizm FILETABLE pozwala na jednoczesne przechowywanie danych w bazie i dostęp do nich z poziomu WINDOWS