Návody


Název knihy Terryho Pratchetta ve spojitosti s SQL Serverem se může zdát vzdálený, ba přímo divný. Ovšem Microsoft se mění a o čem jsme si včera mohli nechat zdát, ať v dobrém či špatném, se dnes stává realitou. Výčet novinek v SQL Serveru jste určitě někde viděli a ani ode mě doufám neočekáváte, že jej zde budu opakovat. Samozřejmě se k některým dostaneme, ale v souvislostech s měnícím se pojetím softwaru, nazývaného SQL Server.

externí autořiexterní autoři
SoftwareSoftware
30.09.2015 10:43:0030.09.2015 10:43:00

externí autoři

externí přispěvatelé magazínu softwarový QUAS

DAQUAS
+420 222 512 201
+420 603 442 434
daquas@daquas.cz
Anny Letenské 7, Praha 2

SQL Server 2016: zajímavé časy

Název knihy Terryho Pratchetta ve spojitosti s SQL Serverem se může zdát vzdálený, ba přímo divný. Ovšem Microsoft se mění a o čem jsme si včera mohli nechat zdát, ať v dobrém či špatném, se dnes stává realitou. Výčet novinek v SQL Serveru jste určitě někde viděli a ani ode mě doufám neočekáváte, že jej zde budu opakovat. Samozřejmě se k některým dostaneme, ale v souvislostech s měnícím se pojetím softwaru, nazývaného SQL Server.

No more SQL

Éra SQL Serveru končí. Vlastně už skončila a ani jsme si to nestihli uvědomit. Nejsem až takový znalec, s Microsoft SQL Serverem pracuji až od verze 2000, ale za ta léta ušel pořádný kus cesty a přibral víc než já po třech dětech. Jak se Microsoftu něco líbilo, tak to koupil a pokud to nějak souviselo s daty – šup s tím do SQL Serveru. Teď máme RDBMS, SSAS, SSIS, SSRS, MDS, DQS, CEP, xVelocity, Hekaton, Datazen, R, Polybase, … To všechno je SQL Server.

SAP má Hanu – ta řeší vaše problémy s daty. Microsoft musí mít Lucy a ta bude řešit všechny naše problémy s daty. Možná se Lucy bude jmenovat Microsoft Data Platform, případně získá nějaké jiné marketingové jméno, ale budeme jí říkat Lucy.

Lucy nebude mít verzi – rok, jak to známe teď. Lucy bude pořád jedna – aktuální. Samozřejmě pro borce s mastnými vlasy a ponožkami v sandálech bude nějakou číselnou verzi mít, ale jen pro ně. Programátoři budou ještě nějakou dobu potřeba. Bavit se s ní budeme moci relativně přirozeným jazykem. Bude nám schopna odpovídat i na poměrně záludné dotazy. Bydlet bude neznámo kde, chvilku na tomhle obláčku, pak tady v mráčku a případně se bude dát zamknout i do sklepa. Velká Lucy pak bude bydlet na mnoha místech současně. Bude poměrně učenlivá a dokáže nám najít dříve netušené souvislosti.

Lucy v roce 2016

Lucy je teď takové malé káčátko, sem tam beďar jak svět, ale pomalu dává tušit, do jaké nevídané krásy a velikosti doroste. Bohužel k dnešnímu dni jsou ještě některé její tvary zahaleny tajemným závojem a rýsují se jen jako nejasné obrysy. Co bude skutečně v RTM, ještě moc nevíme.

Lucy se bude umět pěkně rozlézat. Je to zajímavý trend, který můžeme sledovat i přímo na platformě Windows – virtualizace ukládání dat a používání věcí známých od dodavatelů ukládacích systémů – tvorba vrstev tiers, které jsou každá jinak rychlá. Lucy přichází s pojmem Stretch databases – natažená databáze, která se zatím umí rozprostřít přes lokální úložiště až do Azure storage. Samozřejmě k tomuto činu potřebuje partitioning. A když si to propojíme s předchozím, umožňuje nám to nebývale dobře dávkovat výkon pro jednotlivé oblasti – kritická data v úložišti na vrstvě SSD disků, obvyklá na nějaké kapacitě magnetické a archivační natažená až někam do cloudu.

Stretch databases není jediný způsob, jak se Lucy dokáže rozkročit přes půl světa. Starým známým je Always On s nějakými vylepšeními – to je ještě záležitost SQL. Ovšem integrace Polybase do verze dostupné smrtelníkům (dříve Parallel Data Warehouse Edition) je záležitost skutečně přinášející zajímavé časy. První zajímavý čas přišel v okamžiku instalace CTP 2.1, kdy Lucy vyžadovala podporu přímo z říše Luciferovy – Javu. To byl okamžik, kdy mě málem trefil šlak. Slibovali, že to zlepší – zlepšili. Co je na tom tak zajímavé?

Konec SQL se zdá být téměř neodvratný – SQL je centralizace, aktuálně však běžíme na vlně distribuovaných systémů, ale propojených do nějakých gridů a navzájem spolupracujících. Polybase je způsob, jak se s tím SQL vyrovnává – v Lucy je tedy integrován stroj, který dokáže SQL dotaz vytvořený smrtelníkem převést na metody získávání dat z jakýchsi záhadných slonů (Hadoop) a hnízd (Hive), kde okolo běhá prase (Pig) a případně nějaká další zvířata. Prostě dokáže přiblížit vzdálený svět velkých dat do světa běžného, relačního, bez nějaké zásadnější hlubší znalosti technologií, které umějí distribuovaně Big Data sbírat a vyhodnocovat. Vidíte, jak tomu chcete říkat SQL Server? Prostě Lucy a basta.

Samozřejmě Lucy musí vylepšit nějaké vlastnosti bývalého SQL Serveru. Čili se dočkáme vylepšení v oblasti In-Memory engine. Tady tomu optimistovi, který se výrazně liší od standardního pesimisty (vysvětlivka: standardní SQL engine používá pesimistický přístup k zamykání, in memory optimistický), zase přibyly nějaké schopnosti (rozšířená sada T-SQL příkazů) a výkon. Taky se nám přejmenoval columnstore index na Operational Data Analytics – asi lepší marketingová značka. Když si to tak vezmeme, tak In memory je paralelní databázový stroj k existujícímu a Columnstore je zase paralelní způsob ukládání dat k řádkovému. Prostě kopec různých technologií v jednom.

Lucy umí říct R

Opravdu bezbřehý svět se otevírá integrací R. R válí na poli data science, existuje k němu velká komunita a celá řada návodů a postupů, jak zpracovávat data. Integrací do SQL Serveru se nám tedy otevírá obrovské pole možností, jak se na data dívat, jak je zpracovávat a analyzovat. Za sebe mohu říci: Konečně! Dolování z dat v podání analytických služeb používá algoritmy a postupy minulého tisíciletí, tj. něco jako pazourek. Azure ML (machine learning) je podle mě zase dost drahý – svých cca 150 USD kreditu jsem zvládl utratit za 4 hodiny.

Možná se může zdát, že dolování z dat je vzdálená ezoterika, kterou nikdo nepotřebuje. Dovolím si oponovat. Člověk je tvor shromažďovací, pořád něco hromadí – majetek, peníze, a samozřejmě pokud má možnost, tak data. Moore předpovídal zdvojnásobení výkonu procesorů každé dva roky. Za stejné peníze máme k dispozici dvojnásobnou kapacitu každých 9 měsíců. Před deseti lety měla Micro SD karta kapacitu 128 MB, teď i 128 GB – to jsou tři řády za 10 let. Za dalších 10 let by to mělo být alespoň 128 TB.

Samozřejmě se tím otevírají nůžky mezi tím, co jsme schopni ukládat a co jsme schopni zpracovat a vyhodnotit. Musíme tedy hledat nové cesty a způsoby, jak se v tom chaosu zorientovat. Dolování z dat je jednou z cest. Za pár let to nebude možnost, ale nutnost, jak z toho vůbec syntetizovat nějakou užitečnou informaci. Je skvělé, že Lucy integruje funkční koncept, ovšem bylo by od Microsoftu fér říct: tak vážení, tudy následujících 5 let jdeme, takto budeme dělat dolování z dat a to, co je v analytických službách, je na dožití.

To je možná myšlenka, u které bychom se spolu mohli pomalu rozloučit a vyjádřit přání, aby komunikace špičkové technologické firmy, jakou Microsoft bezesporu je, byla alespoň směrem k nám partnerům a vývojářům jasnější a méně marketingově orientovaná. Nám je úplně jedno, jak se která technologie jmenuje, dokonce se smíříme i s tím, že svůj název v průběhu času mění na nějaké údernější marketingové slogany, ale potřebujeme jasnou zprávu – na tento účel je ta technologie dobrá, tuhle podporujeme a tohle používejte. Toto je nový trend. Současný stav tomu bohužel neodpovídá, Microsoft najdete pomalu i na klíčích od bytu, ale zpráva je taková – „tohle taky umíme“. Zkuste si jako architekti zodpovědět prostou otázku: „Chci vytvořit jednoduchou intranetovou webovou aplikaci – jakou technologii použiji?“

Po drobném zjitření nálady se rozlučme pozitivněji. Kdo chvíli stál, stojí opodál. Současný Microsoft rozhodně nestojí, takže máme o zábavu na mnoho dalších let postaráno, byť už ne se starým dobrým SQL Serverem, ale s kočkou Lucy.

Erik Caha, BI Experts