Pregled: SQL Server 2017 dodaja Python, obdelavo grafov in deluje v sistemu Linux

  • Sep 06, 2023

Integracija Pythona za znanost o podatkih, obdelava grafov za funkcionalnost, podobno NoSQL, in deluje v Linuxu in Windows. Pri skoraj 30 letih starosti se je Microsoftova vodilna zbirka podatkov naučila veliko novih trikov.

Danes, ob svojem Konferenca Ignite v Orlandu, Microsoft napoveduje splošno razpoložljivost nove različice svoje vodilne operativne baze podatkov, SQL Server 2017.

SQL Server je izdelek, s katerim delam skoraj vso svojo kariero. Začel sem z različico 4.2 za Windows leta 1993 in sem delal z vsako naslednjo izdajo, vključno s to, in jo natančno pregledal. Stvar, ki sem jo odvzel od vsega tega dela in ocenjevanja, je, da se je SQL Server nenehno izboljševal, medtem ko se je posodabljal in dodal številne funkcije in povezane tehnologije, v mnogih pogledih se še vedno zdi, da je ista zbirka podatkov, s katero sem začel delati skoraj 25 let nazaj.

Včasih mislim, da razvijalci in skrbniki baz podatkov potrebujejo to poznavanje. Včasih potrebujejo inovativnost in zaupanje, da ima produktna ekipa v pripravi več novih stvari. Stranke potrebujejo SQL Server, da ostane enak, vendar ga potrebujejo za spremembo in izboljšavo. To je resnično edinstven izziv strežnika SQL: biti mora zvest svoji dediščini in se hkrati izogibati zastoju, ostati konkurenčen z na videz neskončnim naborom novih podatkovnih tehnologij, tako komercialnih kot odprtih vir.

summarysql-2017.jpg

Povzetek novih funkcij SQL Server 2017

Zasluge: Microsoft

Ta nova različica strežnika SQL še naprej izpolnjuje te dvojne zahteve. Dodaja nove funkcije iz sveta podatkovne znanosti in NoSQL. Ponuja zmogljivosti za več platform in Docker združljivost posod. Vendar pa tudi krepi svojo naložbo v zmogljivost osrednjega mehanizma baze podatkov, enostavnost vzdrževanja indeksa, visoko razpoložljivost in zmogljivost podatkovnega skladišča. To je težko ravnovesje, ki ga drugim prodajalcem baz podatkov ni treba izpolniti. Čeprav je to morda Microsoftov križ, se podjetje s tem kar dobro znajde in izjemen izziv spremeni v pozitivno diferenciacijo trga.

Neo-retro: SQL Server za Linux
S potezo, ki se trgu morda zdi ironična in je vseeno precej skladna z zapuščino strežnika SQL, izdaja SQL Server 2017 napoveduje vrnitev SQL Serverja na platformo *NIX z novo različico Linuxa izdelek. In kljub temu, da je ta razvoj skladen z zapuščino (zgodnje različice strežnika SQL, ki so bile razvite skupaj s podjetjem Sybase, so delovale tudi v sistemu UNIX), je še vedno zelo velik posel.

Preberite tudi: Microsoftov SQL Server 2017 za Linux in Windows napreduje s prvim kandidatom za izdajo

Priljubljenost strežnika SQL je z leti močno narasla. Toda tudi priljubljenost strežniškega Linuxa je narasla in Maci so postali bolj priljubljeni pri razvijalcih. To je pomenilo, da so nekatere stranke v svojem podatkovnem centru izvajale več strežnikov Windows samo za SQL Server. Pomeni tudi, da so se morali razvojni stroji Mac in Linux povezati s strežnikom SQL prek omrežja in ga niso mogli zagnati lokalno, razen v virtualnem računalniku Windows. Obe zadevi sta bili oviri pri posvojitvi.

Preberite tudi: Zakaj Microsoft potrebuje SQL Server v sistemu Linux

Z združljivostjo z Linuxom začne Microsoft odpravljati te blokatorje prevzema. SQL Server lahko zdaj deluje na strežnikih Windows, strežnikih, ki temeljijo na Linuxu, ali v kombinaciji obeh. Različica za Linux se lahko izvaja tudi v vsebnikih Docker (ki so lahko tudi na osnovi sistema Windows ali Linux), zaradi česar je zagon na Macu skoraj trivialen. Pravzaprav, če ima razvijalčev računalnik že nameščen in delujoč Docker in mu je dodeljenih vsaj 4 GB pomnilnika, potem bosta dva ukaza, vnesena v okno terminala računalnika Mac ali Linux, prenesla, namestila in zagnala izdelek teče. Ta ista tehnika deluje na strojih Windows, kljub dejstvu, da je različico Windows mogoče namestiti na kovino.

Orodja SQL Server, ki temeljijo na sistemu Windows, se lahko povežejo z operacijskim sistemom Windows oz Primerki strežnika SQL Server za Linux, tako da razvijalcem sistema Windows ni treba spreminjati svojih naborov orodij. Ta orodja medtem niso potrebna: Microsoft ponuja orodja ukazne vrstice Linux za SQL Server, najpomembnejša pa so privzeto nameščena v sliko Docker. Za ljudi, ki želijo nekaj bolj grafičnega, a še vedno lahkega, Microsoft ponuja razširitev mssql za svoje Koda Visual Studio razvojno orodje, ki deluje na Linuxu in Macu. Prav tako poganja Windows, kar celo razvijalcem Microsoftovih platform omogoča uporabo lahkih orodij.

Če preidemo od orodij k spremljevalnim tehnologijam, mnoga od njih, vključno s storitvami SQL Server Analysis Services in SQL Server Reporting Services, niso na voljo v različicah Linuxa, vsaj še ne. Toda medtem ko so paketi ustvarjeni za SQL Server Integration Services (SSIS), zmogljivo Microsoftovo orodje ETL (izvleček, pretvorba in nalaganje), mora biti avtor na računalnikih Windows, sama storitev se lahko izvaja v Linuxu, paketi SSIS pa se lahko izvajajo v ukazni vrstici Linuxa z uporabo ukaza dtexec.

Poenotenje arhitekture
Čeprav v sistemu Linux niso na voljo vse spremljevalne tehnologije SQL Server, so tam na voljo vse funkcije v motorju relacijske baze podatkov SQL Server. Celo funkcija Always On visoke razpoložljivosti strežnika SQL deluje – primerke Windows in Linux pa je mogoče kombinirati v isti skupini razpoložljivosti. Tudi zmogljivost je na obeh platformah primerljiva.

Razlog za enakost funkcij med različicama izdelka Windows in Linux je plast abstrakcije platforme SQL (PAL), ki je implementirana v vsakem OS. Kot morda nakazuje polno ime, PAL-ji abstrahirajo razlike med obema operacijskima sistemoma in zagotavljajo skupni vmesnik, na katerem lahko teče ena kodna baza.

S to arhitekturo je katera koli funkcija, ustvarjena za pogon baze podatkov SQL Server na eni platformi, na voljo na drugi. In PAL-ji se izvajajo zelo učinkovito. Microsoft je dosegel rekord negručasti TPC-H in 2-vtičnica TPC-E primerjalne rezultate s SQL Server 2017, eden od rezultatov TPC-H pa je bil dosežen z različico izdelka za Linux.

Zaslepila me je s (podatkovno) znanostjo!
Medtem ko je SQL Server za Linux značilnost oglasne pasice izdaje 2017, obstajata še dve dodatni veliki izboljšavi, pa tudi množica manjših, zaradi katerih je SQL Server veliko bolj robusten.

Storitve strojnega učenja SQL Server

Zasluge: Microsoft

Na strani podatkovne znanosti je Microsoft prevzel Storitve SQL Server R, predstavljen v izdaji 2016, in dodana podpora za Programski jezik Python. Izboljšana funkcija, zdaj sinhronizirana Storitve strojnega učenja SQL Server (storitve ML), omogoča izvorno izvajanje kode v katerem koli jeziku v samem SQL Serverju. Druga možnost je, da napišete in izvedete kodo R/Python na delovni postaji, vendar naj ji prenese težko delo na strežnik SQL.

Preberite tudi: Microsoft Data Amp napoveduje Python v SQL Server 2017 in še veliko več
Preberite tudi: Microsoftova R strategija

R in Python sta seveda že imela dostop do strežnika SQL, vendar le, če sta se izvajala zunaj in sta tako prenašala podatke, zahtevane od strežnika SQL, na stroj, ki izvaja kodo. Izvajanje kode izvorno na SQL Serverju se izogne ​​takšnemu premikanju podatkov, kar omogoča ustvarjanje in usposabljanje napovednih modelov ML na samem strežniku, v velikih količinah podatkov, analiziranih na mestu.

Ohranjanje rezultatov
Te modele je nato mogoče serializirati in shraniti v baze podatkov SQL Server. Kasneje je mogoče modele pridobiti in deserializirati ter z njimi izvesti napovedi, pri čemer kot vhod uporabijo podatke SQL Server. Ta proces, imenovan točkovanje, je mogoče implementirati v kodo, napisano v R ali Python, prek ad hoc skriptov ali shranjenih procedur. In ker se klici shranjenih procedur lahko izvajajo po urniku z uporabo komponente, imenovane SQL Server Agent, lahko celoten postopek točkovanja temelji na strežniku in temeljito operacionalizira. To je velika stvar, glede na to, da se točkovanje običajno izvaja bolj ad hoc, na lastnih strojih podatkovnih znanstvenikov.

Zgodba o točkovanju postane v SQL Server 2017 še boljša. Poleg dodajanja Pythona kot jezika, ki se lahko uporablja za postopek točkovanja, lahko koda T-SQL sama zdaj izvaja "domače točkovanje" tudi z uporabo novega jezika PREDICT funkcija. Dokler so bili modeli, s katerimi se ocenjuje, usposobljeni in shranjeni v podatkovni zbirki v skladu s predpisi RevoScaleR oz RevoScalePy formatu, se lahko T-SQL uporabi za doseganje rezultatov proti njim, ali je R ali Python sploh nameščen na strežniku.

To omogoča zelo pomembno ločitev pomislekov, pri čemer lahko Data Scientists gradijo in usposabljajo modele ML v svoje okolje, nato pa jih shrani v zbirko podatkov, kjer lahko kateri koli razvijalec piše poizvedbe T-SQL, s katerimi se lahko zoperstavi njim. In če ima gostitelj SQL Server vgrajene grafične procesne enote (GPU), lahko podatkovni znanstveniki opazijo še večje pridobitve, poleg odprave premikanja podatkov, tako da tam usposobijo svoje modele.

Podjetje, pripravljeno ali ne
Druga integracija T-SQL/Data Science v SQL Server 2017 je možnost dodajanja paketov R za (module, ki delujejo kot jezik razširitve) prek novega ukaza T-SQL CREATE EXTERNAL LIBRARY in shranjene v določenih zbirkah podatkov, namesto da bi bile dodane prek R-jev install.packages() deluje in je na voljo po vsem svetu. To daje skrbnikom baz podatkov večji in bolj natančen nadzor nad viri in zmožnostmi, ki so vklopljene ali izklopljene.

Ta kombinacija funkcij omogoča znaten napredek pri uvajanju Data Science v mainstream poslovno računalništvo. Vseprisotnost SQL Serverja v podjetniških tehnoloških okoljih prinaša operacionalizirano podatkovno znanost na večji oder. Zdaj je na Microsoftu, da spodbuja sprejemanje teh funkcij, namesto da jih samo omogoči.

Grafični jezik
Drugi pomemben dodatek k SQL Server 2017 je nov podpora za obdelavo grafov.

Tako imenovane baze podatkov NoSQL, od katerih baze podatkov z grafi sestavljajo eno glavno kategorijo, so Microsoftu trn v peti že vsaj šest let. In kljub dejstvu, da so lahko nekoliko ezoterični in bledi v stopnjah sprejemanja v primerjavi z izdelki za zbirke podatkov ki temeljijo na običajni relacijski tehnologiji (kot je SQL Server), so lahko zelo uporabni za določeno bazo podatkov scenariji.

Pri obdelavi grafov gre samo za vozlišča in robove

Zasluge: Microsoft

Namesto vrstic in stolpcev tabele v zbirkah podatkov grafov vsebujejo "vozlišča" (včasih imenovana "vozlišča") in "robove". Vozlišča predstavljajo entitete, medtem ko robovi predstavljajo odnose med njimi. Z razmerji, ki so kodificirana na ravni entitete, namesto na ravni tabele, postane veliko lažje narediti stvari, kot je pridobivanje vseh entitet, povezanih z drugo posebej.

Ta vrsta poizvedbe je pogosta pri delu s katero koli domeno, kjer so vključena omrežja, vključno z družbenimi omrežji. Želite prejeti vse komentarje za določeno objavo? Enostavno peasy. Želite izvedeti vse prijatelje, ki jih imata dve osebi skupne? Malenkost.

Razvijalci SQL Server lahko preprosto določijo ključne besede AS NODE ali AS EDGE v svojih USTVARI TABELO ukaze pri gradnji tabel, ki bodo shranjevale entitete grafa. Ko poizvedujejo po kateri koli taki tabeli, lahko nato uporabijo Ključna beseda MATCH v svojih izjavah SELECT, da odgovorijo na vprašanja, povezana z omrežjem, kot je tisto o družbenih medijih, o katerem smo pravkar razpravljali.

SQL Server lahko poizveduje po heterogeni mešanici tabel grafov in običajnih. Prav tako lahko vključi indekse columnstore v pospeševanje poizvedb, ki jim koristijo.

Druge novice
Da, Linux, Python in obdelava grafov je veliko, vendar je še več. Tukaj je zadnji pregled novosti v motorju relacijske baze podatkov.

Način paketnega izvajanja, ki temelji na vektorski obdelavi strežnika SQL Server, je zdaj na voljo za celotno izvajanje kode R ali Python. Ker večina dela, ki se ponavadi opravi v R in Pythonu, vključuje združevanje, je lahko paketni način, ki obdeluje več vrstic podatkov hkrati, zelo koristen.

Dve drugi novi funkciji paketnega načina, povratne informacije o dodelitvi pomnilnika in prilagodljiva združevanja, bosta prav tako izboljšali zmogljivost in učinkovitost SQL Serverja.

V oddelku za operativno analitiko so negručne vrste indeksov Columnstore (NCCI), uvedene v SQL Server 2012, zdaj lahko sestavijo in ponovno zgradijo, ne da bi tabele, ki jih indeksirajo, odstranili izven povezave, zaradi česar je operativna analitika bolj izvedljiva za izvajanje.

BLOB (binarni veliki predmeti, kot so cele datoteke, shranjene v tabeli) v indeksih Columnstore je zdaj mogoče stisniti, da prihranite prostor za shranjevanje, indeks Columnstore pa jih lahko obdela v stisnjenem formatu, kar prav tako pospeši varnostne kopije.

Nova funkcija ponovnih operacij indeksa SQL 2017 omogoča nadaljevanje vnovične gradnje indeksa po napaki baze podatkov ali ročna prekinitev operacije, namesto da bi jo bilo treba znova zagnati iz nič, ko je zbirka podatkov spet na spletu.

Procesor poizvedb SQL Server lahko zdaj samodejno zazna in popravi tako imenovane regresije načrta, do katerih pride, ko preoblikuje najboljši način za poizvedovanje po tabeli, vendar "pozabi" določene optimizacije, ki jih je naredil v prejšnjem načrtu, ki lahko še vedno uporabiti.

strežnika SQL OLTP v pomnilniku objekt (tudi "Hekaton"), ki obdeluje podatke v pomnilniku in prevaja shranjene procedure T-SQL izvorni kodi, je opustil številne svoje omejitve, kar omogoča uporabo funkcije v mnogih drugih scenariji.

Onkraj relacijskega
Čeprav je večina novih funkcij v SQL Server 2017 na voljo v osrednjem upravljanju relacijskih baz podatkov sistem (RDBMS), druge komponente nabora tehnologij SQL Server opažajo nekatere izboljšave dobro.

Začnimo z SQL Server Analysis Services (SSAS), katerega Tabelarni način Engine je Enterprise različica tehnologije zadaj Excelov podatkovni model in Power Pivot; Power BI namizje; storitev Power BI Cloud Service in nov Storitve analize Azure storitev predogleda. SSAS Tabular še naprej vidi naložbe, ki njegov nabor funkcij približajo klasičnemu večdimenzionalnemu modelu SSAS.

Prvič, tabelarni način je zdaj privzeta možnost namestitve za storitve Analysis Services. Nova raven združljivosti 1400 omogoča orodje SSAS Tabular (del, ki temelji na Visual Studio Podatkovna orodja SQL Server - SSDT), da zagotovi ista pogovorna okna za pridobivanje podatkov in večino povezljivosti z viri podatkov, ki je na voljo v Excelu 2016 za Windows in Power BI Desktop. To vključuje enakovreden vmesnik za pripravo podatkov in uporabo iste podlage M programski jezik ki je na voljo v Power BI in Excelu. Orodje SSDT za SSAS zdaj vključuje tudi urejevalnik za tabelarni mehanizem Jezik DAX (Data Analysis eXpressions)..

Namigi za kodiranje pospešijo osveževanje podatkov; lastnost Skrij člane končno omogoča raztrgane hierarhije v dimenzijah; prikaz podrobnosti je zdaj podprt za dejanja vrtanja skozi odjemalce, kot je Excel; dodana je varnost na ravni objekta; dinamični pogledi upravljanja so bili izboljšani; in operator IN ter funkcija CONTAINSROW sta bila dodana v DAX.

SQL Server Reporting Services (SSRS) je dodal funkcijo komentarjev za skupni pregled poročil, oblikovalcu poizvedb pa je bil dodan urejevalnik DAX, tako v SSDT kot v samostojni aplikaciji Report Builder. SSRS je na voljo tudi v izboljšani inkarnaciji, kot Strežnik za poročila Power BI. Več podrobnosti o tem je prikazanih spodaj.

SQL Server Integration Services je dodal novo funkcijo skaliranja in, kot smo že omenili, se lahko izvaja v SQL Server za Linux. Ponuja tudi izboljšano povezljivost z Microsoft Dynamics AX Online in Microsoft Dynamics CRM Online.

Na poslovni strani
SQL Server je seveda več kot funkcije izdelka; pomembna je tudi poslovna stran.

Microsoft s to različico izdelka ne uvaja nobenih povišanj cen. Pravzaprav Microsoft za različico Linuxa ponuja promocijsko (časovno omejeno) Software Assurance (SA)-samo naročnina na Standard in Enterprise izdaji izdelka. To je podobno kot pridobitev brezplačne licence, če se prijavite za vzdrževanje, in po Microsoftovih besedah ​​predstavlja 30-odstotni popust na vse stroške. Ko združite to promocijo z dejstvom, da je različica SQL Server Developer Edition brezplačna (politika, ki jo je Microsoft uvedel v začetku prejšnjega leta), stranke dobijo odprtokodno ekonomijo s strežnikom SQL Server.

Ko že govorimo o SA, bodo stranke SQL Server Enterprise Edition (EE), ki ga imajo, upravičene do novega analitičnega izdelka na mestu uporabe: Power BI Report Server (PBIRS). PBIRS je prej omogočal dostavo poročil Microsoft Power BI na mestu uporabe za celotno podjetje na voljo samo prek naročnine v oblaku (ali, za tiste, ki so tako določeni, datoteke, ki temelji na e-poštni prilogi deljenje).

Izkazalo se je, da je PBIRS popoln nadnabor SQL Server Reporting Services (SSRS), ki združuje vse Microsoftove izdelke za poročanje in vizualizacijo podatkov (SSRS, SSRS Mobile Reports in Power BI) v eno platformo za poročanje podjetja in spletni portal. Edini drug način za pridobitev PBIRS je prek a Power BI Premium naročnina, ki se začne pri 4995 $/mesec za eno namensko vozlišče P1 z 8 virtualnimi jedri.

Le 16 mesecev kasneje velika izdaja
To ekipi SQL Server omogoča, da skrajša cikle izdaje za običajne lokalne različice izdaje (»izdelek škatle« v Microsoftovem jeziku) in vključujejo funkcije, ki so že bile bojno preizkušen. Zato bomo SQL Server 2017 dobili približno 16 mesecev pozneje izdajo SQL Server 2016, in dobivamo velike nove funkcionalnosti, kot so Linux, Python, obdelava grafov in množico manjših izboljšav, ki ohranjajo predhodno izdane funkcije dobro prilagojene in ustrezne.

Izdaje strežnika SQL so prihajale vsake 2-3 leta, z nekaj dokaj "velikimi" spremembami in spremljajočimi pozivi k ukrepanju glede usposabljanja, pripravljenosti in nadgradenj. Zdaj, ko bazo kode SQL Server uporablja tudi Azure SQL Database, so izboljšave funkcij uvedene in uporabljene v proizvodnji v krajših intervalih in z manj... no... hrupa.

Za SQL Server izdaje big bang postanejo bolj podobne občasnim zbiranjem funkcij izdelkov v oblaku, ki se izvajajo v oblaku. Razlike med strežnikom SQL in namenskimi bazami podatkov NoSQL postanejo manj pereče. Podatkovna znanost, analitika in operativne tehnologije se združujejo in postajajo bolj operacionalizirane. BI na namizju, strežniku, oblaku SaaS in oblaku PaaS delijo isto osnovno tehnologijo motorja. Razlike v operacijskem sistemu/platformi se dobesedno abstrahirajo.

Nov svetovni red podatkovnih baz
Sem MVP Microsoft Data Platform in nikakor nepristranski opazovalec. Vendar pa je moja lastna resna ugotovitev, da je Microsoftova kombinacija zapuščine podjetja, zmogljivosti javnega oblaka, prijaznosti do razvijalcev in nedavnega Izobraževanje v šoli trdih udarcev ga postavlja na vodilni položaj v panogi, da prevzame to novo običajnost v svetu podatkov in tehnologije. na splošno. SQL Server 2017 je pomemben artefakt pri tem prehodu na vodilno mesto.

V svetu podatkovnih baz se hitrost povečuje in hitrostne ovire se izravnajo. Obstaja stalen tok novih zmogljivosti, z malo časa za počitek, vendar z manj vztrajnosti, ki jo je treba premagati, saj so izvajalci in uporabniki nenehno v gibanju, podobno kot podatki sami.