Alza s MSSQL s Davidem Hlaváčkem (SQLPASS meetup)

Kdo je Alza.cz?

A tohle video ani David nepouštěl, ALE mohl :). Takhle totiž koupili nové servery pro MSSQL a takhle to dopadlo, zelený Alzák musel pak nahánět Microsoft.

Alza čísla


41 specialistů IS
6 adminu
58 specialistů na web
1 mssql dev
Tisíce a tisíce ručně napsaných procedur
Stovky a stovky DML Triggerů
15 iis serveru v jednom web cluster (ale kolik je web clusterů / farem nepadlo)
100+ sloupcové tabulky
10TB provozních dat

High lvl architektura



Po zkušenost s DDOS útoky zapojen externí Ddos shield, který dokáže DDOS požadavky odklonit dřív než dorazí do Alzy a přitom nespadne.
Pro cache využit AppFabric. Prý zkoušeli i jiné varianty, ale tohle je zatím nejlepší.

Web SQL server je bez historie.

V každém alza boxu je Express mssql, synchronizovany s konzoli. Box umí vydávat i offline

Mssql service broker

Tenhle tool je součástí MSSQL a umí asynchronní zasílání zpráv mezi db servery. Zprávy posílá přes TCPIP protokol, přičemž jedna zpráva může mít maximálně 2GB. V čem je to dobré – MSSQL Garantuje odeslání i přijetí a neblokuje servery. Zkrátka jeden server zařadí zprávu do odesílací fronty, pak jí odešle, druhý jí zařadí do příjímací fronty a pak jí zpracuje – pořadí zpracování zpráv odpovídá jejich pořadí při zařazení do odesílací fronty -> MSSQL garantuje, že druhý server zprávu zpracuje.

ˇŽádná Axapta jako v Datartu, všechna logika pěkně v db a nad tím appka v deplhi jako GUI

  • A to celé bez assembly (respektive jen okrajově, parsování stringu apod.)
  • Ano, SQL server řídí centrální logistický sklad. Výpočet nejkratší cesty. Nejmenší možné schránky v alzaboxu apod.

Finančně alza roste o 20%,ale data o 70%.

Frekvence je pro mssql důležitější než počet jader. Licenční model to ještě více zesiluje.

Zase jsem o něco větší fanoušek Alzy, protože tohle bylo zajímavé, konkrétní a dobře se to poslouchalo, díky, Davide!

Meet up – Metadata v DWH

V rámci prague data management meetup přišlo téma na DWH a metadata. Téma zpracoval Martin Bém a teď už k poznámkám.

„Metadata jsou jednak v business procesu a jednak v analytické části. Tato metadata musí být totožná.“

Tuhle větu si chci zapamatovat s tímto dodatkem – Je to výzva – rozdílná metadata pro stejná data používají často již samotné business procesy -> v analytické části se to pouze akcentuje. A dokud se neshodne byznys, analytika a BI to nikdy nedá -> v těchto situací je nutné být nebo mít senior analytic se znalostí příslušné vertikály.

SQL Developer Data Modeler


Pokud jste si mysleli, že SQL Developer Data Modeler je zadarmo, tak není. Respektive musíte mít Oracle. Je to někde dost schované v licenčních podmínkách, čtěte pozorně.

Model DWH
Viděli jsme tu přístup Adastry, která má v datovém modelu i partition schéma. Je to rozumné, není to rozumné? Neměl by si podobné tabulky zakládat administrator (a taky vyplňovat podobná metadata). Je vhodné mít podobné db admin záležitosti v modelu? Na jednu stranu je nutné vývojáře a anaylitiky vzdělávat, na straně druhé v tom musí být pořádek a jistota, že v tom někdo (omylem samozřejmě) neudělá bordel. A téma důvěry mezi vývojáři, analytiky, adminy a různými manažery si nechme na jindy.

„Metadata typu kód mohou být i bez dat velmi citlivé.“

To bohužel dává smysl – prostě jeden sice dobrý, ale nešťastný komentář, který popisuje vyjímky pro konkrétního zákazníka apod. Třeba, pokud máte kód pro VW, kde je podmínka – IF testova sekvence THEN exec ECO EXTRA EXTRA MODE END.

Existují krabicové extraktory metadat z pwd?


Spíš nic než moc.

Oracle metadata manager

Vytáhne z mnoha zdrojů metadata. Konektorů byla jedna obrazovka tři sloupce cca 180. Adastra s Oracle a nejmenovanou bankou pojedou POC na přínos pro projekt GDPR. Cca na podzim by se měli prezentovat výsledky. Jak vidí GDPR IT dodavatel? Analýzy běží už nyní, hlavní implementační shon nastane na podzim 2017, banky budou muset obhájit, že data uchovávaná nad rámec GDPR systematicky používají pouze k řízení rizika.

Rodná čísla ČR a jejich neřesti


Na konci 70. let je výjimka – nemusí fungovat modulo a výjimek je obecně více. Například existuje paní, která nesplňuje formát datumu (+50), šlo o omyl matrikare. Nejen s cizinci a jejich pořadovými/“rodnými čísly“ je zábava.

Meet up SQL pass Lightning talks

SQL DEP – Martin Masařík


Padla tu varianta vytvoření nástroje na ohodnocování kvality kódu. DB komunita dokáže dát dohromady pravidla, sqldep zase nástroj. A bylo by velmi pěkné mít možnost uživateli vrátit kód i z informacemi, co zlepšit během 30 sekund, nemyslíte?

RedGate – sql prompt – Pavel Málek

refactoring, snipety, dohledání objekty v Object Exploreru, dohledání nepoužitých parametrů, vložení dat ze spuštěného selectu do #tabulky, včetně definic sloupců (to si dohledá z db),..

zdroj pro admin sql scripts:
sqlskills.com/blogs/glenn/

podobně jako ApexSQL

SQL Clone – Pavel Málek

Uživatel si může sám naklonovat sql server db ze zalohy. Výhoda proti Azure apod. -> ten klon je i s daty!

requirements:
local admin pro agenta
Image limit 2TB

small team licence 5 lidí – 7 000$
10 lidí – 12 000$
20 lidí – 22 000$

Produkt je nový, jde o první výstřel, těžko říct, co zvládne nákupní oddělení.

Atlantis SQL Server

Alternativa k ssms. Autor vyvíjel, poněvadž byl unaven nedostatky ssms -> dělal to dobře -> najala si ho firma -> začal dělat pro firmu a přestal to vyvíjet :D.

A teď pozor, lze to rozjet bez instalace (nutno dohrát pár ddl). To se může v korporátním prostředí hodit.

Test data management in Excel

Unit testy by měli code coverage 100% – produkční data pokryjí ani ne 40%.
Pro testování by se měli používat umělá data
– dirty data, nekompletní data, crashing data (historická zkušenost), nominal

DB Data Maker (tool) – excel
Generace dat pro testy – lze si tam obarvit různé typy testovacích dat apod. Následně to veme store procedure a vloží na správná místa v db. Data se můžou vsunout kamkoliv. Procedura je vytvářená testerem! – on řídí na jaká a která místa se má toto dato rozdistribuovat.

Doporučená kniha
Ralph Huges – Agile Data Warehousing

dbforge – devart

Asi zajímavá alternativa k ssms, ale musí se zacvakat

BISM – normaliser – Jaroslav Reken

Extension ve visual studio. Dříve za 100$, od mssql 2016 zdarma :). Umí SSAS nebo tabular model comparism – samozřejmě vizuálně.

Vertipaq analyser – Jaroslav Reken

Dokáže říct velikost dat v powerpivotu s celkem zajímavým rozpadem. Velice užitečné v okamžiku kdy velikost tabular modelu / powerpivotu začne být příliš velká.

daxstudio – zjištění číslo portu pro localhost powerbi ssas connection

Exponea meetup (tmobile,zoot,kiwi,exponea)

Zápisky z meetupu, který mohu doporučit. Probírané cases byly z reálného života, v příjemné atmosféře a s minimem marketigových plků.

Exponea

Realtime data a jejich zpracování.
Online personalizovany obsah.

Pan Minsk
Hodně toolu, proto marketing cloud. Ten sbírá data o uživatelích social, crm, era, SMS gateway.

Automatické ab testy
Personalizace homepage

Tmobile

Omnichannel přístup
Web generuje kontakty (leady), call centrum je pak zpracuje

Geneze vývoje přenosu dat mezi webem a callcentrem (CRM)
1. Předáváni skrze email
2. Automatizace exportu kontaktu

Tyto leady měli 2x větší konverzi (=aktivaci tarifu)

3. Následně routing, operator věděl z jaké stránky přišly leady. Díky reportingu se potom lépe diskutovalo s call centrem, šlo říct, který operátor a která stránka je lepší.

Toto celé se dělo bez přímé účasti IT – řeší jen tým eshopu, tím to i v korporaci nabírá dynamiku :), pardon všem, který lpí na špatných procesech

4. Callcentrum volá v okamžiku, kdy je lead na webu -> to řeší Exponea, kompletní proces, opakované calls a maily.
Nicméně, čerstvost leadu není zdaleka tolik významná, jako kvalita agenta (navolávajícího) a jeho znalost produktu.

Případně se pošle mail.

AS-IS

Konverze kontakt 0,5 až 3%, ty z webu 30%

Exponea má smysl i jen jako automatizační tool. Přinejmenším jako first step.

Big data

Znáte ty obrázky, kdy se ukazuje špička ledovce na znázornění kolik toho není vidět? Plavající slon je mnohem lepší! Díky Tmobile! (+ má vazbu na Hadoop, ale to businessáci prominou :))
swimming elephant

Tmobile se striktně drží zákonů v oblasti big data a jejich zpracování, to znamená 3x do týdne diskuze s právním oddělením.

    Příklady z praxe
  • S bankami (neprozradili se kterou) dělají např. credit scoring, zákazník podepisuje v bance informovaný souhlas. Je otázkou jestli to je big data úloha :).
  • Smart channels
  • Segmentace, modely
  • Zajímavé právě pro určení obchodníka
  • Kiwi

    Ass (Approach to Solve Stuff)

    Stupně složitosti najít řešení / kdo typicky řeší:
    Pull out the solution from Ass /opice
    Have a think /human
    Statistics/analytic
    Machine learning /data scientist
    Ab testy (odstínit jiné vlivy je brutální při vyšší komplexite) / God

    A/B testy složité, speciálně v situacích, kde se zákazník se rozhoduje netrivialne (nákup letenek asi bude složitější, než analýza košíku v Adventure Works (znalí MSSQL vědí))

    Data o lidech a o košíku úplně nepomáhali lepším výsledkům modelů. Analyzovali se data o letech. Dle toho se pak vybírají nabídky letů

    První vyhozena feature byla cena. (možná to určuje, jakou letenku vyberete, ale netriviálně a více to mate než pomáhá)

    Fun fact:
    Pelikán má na pozadí Kiwi

    Zoot
    Každý nemusí programovat, ale pěstujme logické myšlení. To je pěkná myšlenka na závěr.

    SSAS vs Tabular mode

    Mluvil Jirka Neoral – DWH architekt Dixons retail (takový britský datart s obratem cca 10mld liber* — cca 10krát více než české makro 🙂 )
    Téma bylo reportingové – tabular vs multidimensional. Viz popisek v odkazu. Jméno Jirky Neorala by tak mělo být zárukou, že nešlo o plky. Případný šum z mé strany, prosím označte v diskuzi a já to rád zpřesním.

    A teď už, o co jsme se nachytřili (Mimochodem pivo bylo zdarma!)

    PowerPivot

    O tomto doplňku se hodně mluvilo, celý tabular engine de facto vzniknul právě z něho a proto nabízí hodně zajímavé možnosti. Jak je na tom s verzemi –  je k dispozici od Excelu 2010 (pouze profi verze, chybí například ve studentské) a teď hlavní sranda je kompatibilní pouze směrem k novějším verzi -> v excelu 2010 nelze otevřít powerpivot udělaný v 2013 :-D.

    Ideální nástroj na prototyping – má vlastní analytický model, lze v něm propojovat tabulky, kalkulovat sloupce, dělat časové porovnání apod. Limity si řekneme níže. Ten základní excel nemůže být větší než 2GB (na druhou stranu používá columnstore compresi). Takový data first přístup dle microsoftu.

    Do excelu lze dávat „klasické prompty“ – lze udělat linkovanou tabulku v excel sešitu a powerpivot modelu. V tabular services lze využít MasterData Services.

    BISM

    Microsoft implementoval BI Semantic Model – do analytických databází se lze dotazovat jak DAXem, tak MDXem. Ano, do kostky se lze dotazovat daxem. Performance v dixons netestovali – dotazují se přes MDX – umí víc a umí ho. Každopádně například PowerBI se dotazuje do OLAPu právě přes DAX.

    Zajímavosti z budoucnosti

    V polovině roku 2017 by měl vyjít (nedávno oficiálně prohlásil sám microsoft) SQL Server vNEXT a proč je to zajímavé – PowerBI  bude integrované do SSRS. Migrace db na MSSQL 2016 nebyla doporučena, naopak report server díky novinkám v SSRS doporučen byl.

    Direct Query vs InMemory

    Hlavní sranda  – do Direct Query modelu se umí připojit jen Excel 2016. Z jiných důvody (viz porovnání níže) dává smysl používat Tabular spíše pro menší a jednodušší modely. (cca 90% reportingu v OLAP). V InMemory variantě je samozřejmě důležité mít dost ram (128GB a výše) – ram pak limituje počet souběžně otevřených tabular modelů (a nesmí se zapomenout na vývojáře :).) Teoreticky by měl fungovat partitioning (nejnovější partition inMemory, ostatní Direct Query).

    Tabular vs OLAP – hlavní chod

    Tabular Olap
    ParentChild hierarchie NE ANO (https://msdn.microsoft.com/en-us/library/ms174846(v=sql.120).aspx)
    M:N vazby NE (od 2016 lze obousměrné vazby,ale furt 1:N) ANO
    Práce s týdnem na časové ose NE ANO
    Trendy pro KPI NE ANO
    Překlady NE ANO (ale dementně)
    Row security model ANO ANO
    Partitioning ANO ANO
    Paralelní vývoj více vývojáři NE NE
    Verzování změn NE NE
    Other MDX vs DAX – v MDX lepší skládání dotazů a celkově širší možnosti (ale oboje dobře použitelné)

    DAX

    Hodně podobný excel formulím.

    Na netu jsou formattery:
    http://www.daxformatter.com/

    Tady jsou i nějaké připravené věci
    http://www.daxpatterns.com/