SQL Server 2016 uudet ominaisuudet, osa1, Stretch

SQL Serveristä julkaistaan tuotapikaa uusi versio, SQL Server 2016. Hurraa. Ajattelin vetäistä BI-lasit päähän ja katsella joitain uusia ominaisuuksia tietovarastoinnin näkökulmasta.

Stretch database on yksi kuumimmista uusista ominaisuuksista. Idea on, että tietokantaa voi helposti laajentaa Azure:n puolelle. Kuulostaa otsikkotasolla hienolta. Valitettavasti totuus ei ole aivan niin ruusuinen, kuin ominaisuuden nimestä voisi päätellä.

Ensinnäkin, Stretch-ominaisuus on määriteltävä jokaiselle taululle erikseen. On kirjoitettava funktio, joka määrittelee, mitä dataa Azure:en kirjoitetaan (tai annettava SQL Serverin päättää, mitä dataa Azureen kirjoitetaan). Esimerkiksi nyt vaikka tapahtumalajin perusteella voidaan määrittää, että harvemmin tarvittavat tapahtumat tallennetaan Azureen. Toiminnallisuuden nimestä voisi äkkinäinen päätellä, että ominaisuuden saisi päälle esim. filegroup-perusteisesti – mutta ei.

Toinen ongelma on, että tauluun, jolle Stretch on määritelty, ei pysty kirjoittamaan UPDATE tai DELETE-komentoja. On myös paljon muita rajoitteita, jotka on otettava taulun rakenteessa huomioon.
https://msdn.microsoft.com/en-us/library/mt605114.aspx

Ja kun kaivelemme toiminnallisuutta hieman syvemmälle, huomataan että kyseessä onkin itse asiassa SQL Server Linked Server, joka luodaan tätä toiminnallisuutta varten. Ja taustalla luodaan tietokanta luonnollisesti Azureen.
https://msdn.microsoft.com/en-us/library/mt163698.aspx
SQL Server kirjoittaa sitten tehtyjen määrittelyiden mukaisesti dataa LinkedServerin kautta Azureen.

Julkaistavaan versioon ei ole tullut juuri mitään uutta tämän suhteen sitten viime syksyn. Siksi en ala tekemään step-by-step-ohjeita aiheesta, niitä on netti pullollaan, vaikkapa tässä: http://sqlperformance.com/2015/08/sql-server-2016/intro-stretch-database

No mitä hyötyä tästä sitten on? No, tietovarastomaailmassa ei juuri mitään! On itse asiassa yksinkertaisempaa, joustavampaa ja suorituskykyisempää esimerkiksi
– Kirjoittaa ETL:ssä historiadata Azureen perustuen päivämääriin (tai vaikka niihin tapahtumalajeihin). Eli toteuttaa Azure:en kirjoituslogiikka ETL:ssä.
– Tai siirtää historiaa aika ajoin Azureen automatisoidusti lokaaleista tapahtumatauluista
– Ja tarvittaessa luoda LinkedServer lokaaliin SQL Serveriin ja yhdistää Azure- ja lokaali data näkymässä

Tällöin selvitään käytännössä ilman niitä rajoitteita, joita Stretch Database-ominaisuudella on… Kaiken lisäksi edellä kuvattu on ollut mahdollista jo edellisilläkin SQL Server-versioilla. Toisaalta Stretch helpottaa Azuren käyttöönottoa ja laskutus perustuu blob-storageen, jonka pitäisi olla halpa, mutta mielestäni nuo preview-hinnatkaan eivät ole kovin edullisia. Taitaa omissa BI-projekteissani jäädä toistaiseksi Stretch käytämättä.

https://azure.microsoft.com/en-us/pricing/details/sql-server-stretch-database/

2 comments on “SQL Server 2016 uudet ominaisuudet, osa1, Stretch

  1. Jussi Järveläinen on

    Joo, mutta monesta muusta vinkkelistä todella huikea tuo SQL 2016! MS tykittää kovilla, R tulee Calzone (!). Lisäksi Oraclea taas kampitetaan: ”Tuo vanha tietokantasi vaihdossa, saat uuden SQL Serverin [melkein] ilmaiseksi…” -kamppiksilla. Kilpailun hedelmistä tässä nautitaan… Ja Linux-tuki suunnitteilla, ja, ja, ja…

    Vastaa
    • Jani Liimatta on

      Onhan siellä paljon mielenkiintoista tulossa. Developer-versiokin muuttui ilmaiseksi. Suorituskyky paranee. Muistinvaraisten taulujen toiminnallisuus on nyt sillä tasolla kuin pitää (vrt SQL2014). Tietysti osa uusista ominaisuuksista taitaa tulla ulos hieman keskeneräisenä, kuten temporal ja Reporting Service portal (vaikka sielläkin on kaikenlaista uutta mukavaa). Jahka ehtisi seuraavat jutut joku päivä kirjoittaa..

      Vastaa

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Yhteydenotto

Mikäli olet kiinnostunut yrityskohtaisista palveluista tai sinulla kysyttävää palvelujemme sisällöstä, niin ota yhteyttä oheisella lomakkeella tai soita Mikalle numeroon 040 845 8432.