Mellékleteink: HUP | Gamekapocs
Keres

SQL Server 2016, a hype-on túl

Gálffy Csaba, 2015. május 28. 14:12
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Sok olyan fejlesztéssel egészítette ki az SQL Server soron következő kiadását a Microsoft, amelyet sokszor már évek óta kérnek a vásárlók. Eddig az egyetlen lehetőség a funkciók házi implementálása volt, a Microsoft most meghallgatta az igényeket és rengeteg ilyen képességgel bővítette az adatbázis-rendszert.

Megjelent és letölthető a SQL Server 2016 első nyilvános bétája, a Community Technical Preview 2. A kettes az elnevezés végén ne tévesszen meg senkit, ez az első, széles körben hozzáférhető verzió, a CTP1 és az azt megelőző előnézeti verziókat csak szűk kör próbálhatta ki - a CTP2-t azonban már mindenki kedvére tesztelheti, próbálgathatja. Cikkünkben a legfontosabb újdonságokból szemezgettünk, a változások és fejlesztések listájáért érdemes a Microsoft szakmai portálját fellapozni.

Stretch Database - hibrid felhő, a gyakorlatban

Az SQL Server 2016-ot a Microsoft az üzemeltetőknek szóló Ignite konferencián jelentette be május elején Chicagóban. Akkor a legnagyobb közvetlen visszhangot a Stretch Database funkció kapta, a Microsoft azt ígérte, hogy a nagyobb táblákat egyszerűen "kihúzhatjuk a felhőbe", megosztva az adatokat a saját adatközpont és a Microsoft Azure szolgáltatása között. A fejlesztés kifejezetten a frissebb, sűrűbben használt és a történeti, ritkán használt adatok szétválasztását célozza, utóbbiak leválasztásával a sok millió soros adatbázisok érdemben gyorsíthatóak lennének, miközben a tárolási költségek is csökkenthetőek - gyakorlatilag tábla szintén megvalósuló tároló-tiering ez.

A Stretch Database sikere várhatóan annak árazásától függ majd. A hatalmasra nyúló tranzakciós adatbázisok helyi tárolása ugyanis tényleg jelentős összegeket emészthet fel, amit adott esetben hatékonyabban és olcsóbban lehet Azure-ben tárolni. Mivel ennek a késleltetésben és sebességben is komoly költsége van, ezt ellensúlyoznia kell a pénzügyi megtakarításnak. A Stretch Database használatba vétele viszonylag egyszerű, engedélyezni kell a funkciót, innen a SQL Server háttérszálon elkezdi a felhőbe tölteni az adatokat.

Temporal table: auditáláshoz, egyszerűbben

A Microsoft kommunikációjában kevés említést kapott, de annál fontosabb fejlesztés lesz a Temporal Table, amely az adattábla időbeni változását követi. Az adatbázismotor a főtáblával azonos struktúrájú "időtáblába" menti a régi sorokat minden módosításkor, (update) azzal a megjegyzéssel, hogy az adott adat milyen két időpont között szerepelt az élő táblában. A Temporal Table segítségével roppant egyszerűen (egy join paranccsal) visszakapható a tábla állapota adott időpontban - ez nagyon érdekes új felhasználási forgatókönyvek előtt nyitja meg a kaput, például az üzleti trendek időbeni változásának követése, az adatmódosítások időbeni megoszlása vagy épp adatok visszaállítása is egyszerűbbé válik.

Az egyik ilyen az audit, ehhez csupán egy apró módosítást kell eszközölni, a módosítást végző felhasználó azonosítóját kell még oszlopként hozzárendelni az adatokhoz, így nem csak az adatbázis állapota reprodukálható tetszőleges időpontban, hanem az is, hogy a módosításokat ki végezte. Ezzel a külső fejlesztésű audit-megoldások helyett egy natívan támogatott, rendszerszintű képesség lesz használható - ahogy látni fogjuk, nem ez az egyetlen, amelyet beemel az SQL Serverbe a Microsoft.

In-memory: egyre közelebb az "igazihoz"

Az in-memory adatbázisok előbb az analitikára befogott rendszereket hódították meg, majd a tranzakciókezelésben (OLTP) is egyre nagyobb szerepet kapnak. A Microsoft saját fejlesztésű in-memory megoldása Hekaton kódnéven már az SQL Server 2014-ben is helyet kapott és ha a marketinges részleg által hajtogatott százszoros gyorsulást nem is hozott mindenkinek, néhány problémás szituáció megoldására már bevethető volt - például hirtelen nagy terhelést kapó táblák zárolás miatti belassulásának kezelésére.

Az SQL Server 2016-ban a Hekaton számos korlátozása eltűnik majd, így használhatóak lesznek megszorítások (constraints) és létrehozhatóak idegen kulcsok (foreign keys) is. E két korlátozás miatt eddig a Hekaton csak néhány jól körülhatárolható esetben volt bevethető tranzakciókezelésre, az új verzió már sokkal szélesebb körben, általánosabb esetekben is használható lesz az in-memory adatbázis. A fejlődés célja hosszabb távon a hagyományos és in-memory rendszer között a funkcióparitás elérése, ez azonban lépésenként, viszonylag lassan halad, egyenértékűségről az SQL Server 2016 esetében sincs szó.

Biztonság és rendelkezésre állás

Változik a nagy rendelkezésre állású fürtözött rendszerek kezelése is, a régóta elérhető adatbázis-tükrözés helyére immár egységesen az AlwaysOn Availability Groupok kerülnek, nem csak az Enterprise Editionben, hanem a Standard Editionben is. A szinkronban álló replikák száma 3-ra nőtt, ennyi node között érhető el az automatikus failover. Ezt egyébként már nem csak instance-szintű probléma, hanem adatbázis szintű hiba esetén is be tudjuk állítani. A csoport tagjai között terheléselosztást is bevezethetünk, ilyenkor a másodlagos szerverek között az olvasásra vonatkozó forgalmat el tudjuk osztani.

Új fejlesztés az Always Encrypted funkció, amely a titkosítás egy új formája. A feloldókulcsot ugyanis nem az adatbázis-szerver kezeli, hanem attól elválasztva, kliensoldalon tárolhatjuk és használhatjuk. Ez azt jelenti, hogy mind a tárolt, mind a küldött-fogadott adatok titkosítva vannak, ami csökkenti az adatszivárgás lehetőségét. Bizonyos (például banki) környezetben ez már eddig is elvárás volt, ezt azonban eddig "házi" megoldásokkal kellett megvalósítani, mostantól ezt az SQL Server natívan (és várhatóan magasabb teljesítmény mellett) tudja.

Szintén natív támogatást kap a data masking, vagyis jogosultság függvényében érheti el a felhasználó egy-egy mező tartalmát vagy annak egy részét (például egyes alkalmazások a teljes bankkártya-számhoz hozzáférnek, míg mások csak az utolsó négy számjegyet láthatják). Ez szintén olyan funkció, amelyet eddig egyedi fejlesztéssel kellett implementálni, a 2016-os SQL Server pedig natívan támogatni fogja. Másik fontos biztonsági fejlesztés a sorszintű biztonság, amellyel soronként szabályozható a hozzáférési jogosultság. Ennek megvalósítása az adatbázist használó alkalmazás szemszögéből teljesen transzparens, így fejlesztést, kód módosítását nem igényeli.

Community Technical Preview 2 - óvatosan próbálgatni

A szoftver a Microsoft nevezéktanában jelenleg a CTP2 (community technical preview 2) státuszban van, ezt azonban kicsit másképp kell értelmezni, mint a Windows 10 vagy a Windows 10 Mobile esetében. A szoftver ugyanis már jelenlegi állapotában is nagyon stabil (és sokat lépett előre az eddig zárt körben elérhető előzetesekhez képest).

A bizonytalanságot más okozza: a bejelentett újdonságok pontos implementációja a hivatalos kiadásig még változhat, szélsőséges esetben az is elképzelhető, hogy bizonyos megoldások végül mégsem kerülnek bele a végleges verzióba - így érdemes ezt a kiadást bizonyos óvatossággal kezelni. A cég ígérete szerint a SQL Server 2016 előzetese ugyanúgy kap majd a kiadásig kisebb-nagyobb frissítéseket, mint például a Windows 10.

A SQL Server előzetese letölthető a Microsoft weboldaláról, de az egyes funkciókba a Virtual Lab platformon is bele lehet tekinteni. A SQL Server 2016-ról szól majd a HUG-MSSQL Meetup csoport következő néhány alkalma is, érdeklődőknek erre is érdemes lesz ellátogatni.

A cikk elkészítésében Berke János SQL Server specialista segített, nagyon köszönjük!

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.