Anmeldelse: SQL Server 2017 tilføjer Python, graf behandling og kører på Linux

0
137

Nul

I dag, på sin Antænde konferencen i Orlando, Microsoft annoncerer tilgængeligheden af en ny version af flagskibet operationel database, SQL-Server 2017.

SQL Server er et produkt, jeg har arbejdet med i næsten hele min karriere. Jeg startede med version 4.2 for Windows i 1993 og har arbejdet med og nøje gennemgået hver efterfølgende frigivelse, herunder denne. De ting, jeg har taget væk fra alt dette arbejde og vurdering er, at mens SQL Server har konstant forbedret, mens det har moderniseret og der er tilføjet en lang række funktioner og pakkede teknologier, på mange måder, det føles stadig som den samme database jeg begyndte at arbejde med næsten 25 år siden.

Til tider, jeg tror, udviklere og database-administratorer har brug for, at kendskab. På andre tidspunkter, de har brug for innovation og tillid til, at produktet holdet har flere nye ting i støbeskeen. Kunder, der har brug for SQL Server til at bo det samme, og endnu de har brug for det til at ændre og forbedre. Det er virkelig en SQL Server er unik udfordring: det skal være tro mod sin arv, og alligevel undgå stilstand, der opholder sig konkurrencedygtig med den tilsyneladende endeløse række af nye data teknologier, både kommercielle og open source.

summarysql-2017.jpg

Resumé af SQL Server 2017 nye funktioner

Kredit: Microsoft

Denne nye version af SQL Server fortsætter med at opfylde disse to krav. Det tilføjer nye features, verdener af data videnskab og NoSQL. Det tilbyder cross-platform kapaciteter og Dokker container kompatibilitet. Men det styrker også sin investering i centrale database engine ydeevne, brugervenlighed indeks vedligeholdelse, høj tilgængelighed og data warehouse ydeevne. Det er en vanskelig balance, og en, at andre database leverandører ikke behøver at opfylde. Mens dette kan være Microsofts kors at bære, virksomheden ikke ret godt med det, dreje en formidabel udfordring i et positivt marked differentiator.

Neo-retro: SQL-Server for Linux
I en bevægelse, der kan synes ironisk, at markedet og er endnu ikke helt i overensstemmelse med SQL Server ‘ s legacy, frigivelse af SQL Server 2017 varsler SQL Server vende tilbage til *NIX-platform, med en ny Linux-version af produktet. Og på trods af denne udvikling bliver ældre-overensstemmelse (tidlige versioner af SQL Server, udviklet i samarbejde med Sybase, også kørte på UNIX), er det stadig en meget big deal.

Læs også: Microsoft SQL Server 2017 til Linux og Windows bevæger sig fremad med første Release Candidate

SQL Server er vokset ganske betydeligt i popularitet i årenes løb. Men populariteten af server-side Linux er vokset, og Mac-computere har vokset i popularitet med udviklere. Dette har betydet, at nogle kunder har kørt en række Windows servere i deres datacenter bare for SQL Server. Det betød også, at Mac-og Linux-maskiner har brug for at oprette forbindelse til SQL Server over nettet, og har ikke været i stand til at køre det lokalt, medmindre der på en Windows virtual machine. Begge disse spørgsmål har været-blokkere til vedtagelse.

Læs også: Hvorfor skal Microsoft SQL Server på Linux

Med Linux-kompatibilitet, Microsoft begynder arbejdet med at fjerne disse vedtagelse blokkere. SQL Server nu kan køre på Windows-servere, Linux-baserede servere, eller en kombination af de to. Linux-version kan også køre i Dokkeren beholdere (som også kan være Windows – eller Linux-baseret), der gør det næsten trivielt at køre på en Mac. I virkeligheden, hvis en developer ‘ s maskine allerede har Docker installeret, kører og har fordelt på mindst 4 gb hukommelse til det, så to kommandoer, der er indtastet i et Mac-eller Linux-maskine Terminal vindue, vil hente, installere og starte det produkt, der kører. Den samme teknik arbejder på Windows-maskiner, på trods af den Windows-version, som kan installeres på metal.

Windows-baseret SQL Server værktøjer kan oprette forbindelse til Windows eller Linux forekomster af SQL Server, så Windows-udviklere ikke behøver at ændre deres redskaber. I mellemtiden er disse værktøjer er ikke nødvendig: Microsoft Linux command line tools for SQL Server, og de vigtigste af dem er installeret i Dokkeren billede som standard. For folk, der ønsker noget mere grafisk, men stadig let, Microsoft har mssql-udvidelse til sin Visual Studio Code udviklingsværktøj, der kører på både Linux og Mac. Det kører også med Windows, så selv Microsoft platform udviklere mulighed for at bruge lys-vægt værktøjer.

Bevæger sig fra værktøj til kammerat teknologier, mange af dem, herunder SQL Server Analysis Services og SQL Server Reporting Services, er ikke tilgængelige i Linux-versioner, i hvert fald ikke endnu. Men mens de pakker, der er oprettet i SQL Server Integration Services (SSIS), Microsoft ‘ s gæv ETL (extract, transform og load) værktøj, der skal være forfattet på Windows-maskiner, service selv kan køre på Linux og SSIS-pakker, der kan køre på Linux-kommandolinjen, skal du bruge kommandoen dtexec.

Samlende arkitektur
Selv om ikke alle SQL Server følgesvend teknologier, der er tilgængelige på Linux, vil alle funktioner inden for SQL Server relationel database engine er til rådighed der. Selv SQL Server er Altid På høj tilgængelighed-funktionen virker – og Windows og Linux tilfælde kan være blandet sammen i den samme Tilgængelighed Gruppe. Performance er også sammenlignes på de to platforme.

Årsagen til funktion paritet mellem Windows og Linux versioner af produktet, er SQL Platform Abstraction Layer (PAL), som er gennemført på hver af OS. Som det fulde navn kunne antyde, Venner abstrakte væk forskelle mellem de to operativsystemer, der giver en fælles grænseflade, hvor en enkelt codebase kan køre.

Med denne arkitektur, nogen funktion er oprettet for SQL Server-database motor på en platform, der er til rådighed på den anden. Og de PALs er implementeret meget effektivt. Microsoft har nået rekord indstilling ikke-grupperet TPC-H og 2-stik TPC-E benchmark resultater med SQL Server 2017, og en af TPC-H resultater, der blev opnået med den Linux version af produktet.

Hun blændede mig med (data) videnskab!
Mens SQL Server for Linux er den 2017 release ‘ s banner-funktion, er der yderligere to store forbedringer, samt en masse mindre virksomheder, der tilsammen kan gøre SQL Server meget mere robust.

ml-services.jpg

SQL Server Machine Learning-Tjenester

Kredit: Microsoft

På de Data, Videnskab side, Microsoft har taget SQL Server R Ydelser, der blev indført i 2016 udgivelsen, og tilføjet understøttelse til programmeringssproget Python. Den forbedrede funktion, nu døbt SQL Server Machine Learning-Tjenester (ML Services), som tillader kode på begge sprog for at udføre indbygget på SQL-Serveren selv. En anden mulighed er at skrive og udføre de R/Python-kode på en arbejdsstation, men har det uddelegere det tunge arbejde med at køre på SQL Server.

Læs også: Microsoft Data Amp varsler Python i SQL Server 2017, og meget mere
Læs også: Microsoft ‘ s R-Strategi

R og Python allerede havde adgang til SQL Server, naturligvis, men kun hvis der kører eksternt, og dermed overførsel af data, der forespørges fra SQL Server til den maskine, der kører koden. Kører den kode, der er indbygget i SQL Server undgår sådanne data bevægelse, der giver mulighed for etablering og uddannelse af intelligent ML modeller på serveren selv, over store mængder af data, der er analyseret i-sted.

At holde score
Disse modeller kan så blive serienummereret og er gemt i SQL Server-databaser. Senere modeller kan hentes og de-føljeton, og forudsigelser kan køre mod dem, ved hjælp af SQL Server-data som input. Denne proces, der kaldes scoring, kan gennemføres i kode, der er skrevet i enten R eller Python, via ad hoc-scripts eller lagrede procedurer. Og da der er gemt procedure calls kan køre på en planlagt basis ved hjælp af en komponent kaldet SQL Server Agent, hele scoring proces kan være server-baseret og grundigt operationaliseres. Det er en big deal, da scoring, har sædvanligvis været kørt på en mere ad hoc-basis, på data, der er forskernes egne maskiner.

Den scoring historien bliver endnu bedre i SQL Server 2017. Ud over tilføjelsen af Python som et sprog, der kan anvendes til scoring proces, T-SQL koden i sig selv, kan nu udføre “native scoring” samt at bruge sproget s nye FORUDSIGE funktion. Så længe de modeller, der scorede mod er blevet uddannet og er gemt i databasen i den foreskrevne RevoScaleR eller RevoScalePy format, T-SQL kan bruges til at score mod dem, hvorvidt eller ikke R eller Python er endda installeret på serveren.

Dette giver mulighed for en meget vigtig adskillelse af bekymringer, hvorved Data kan Forskerne opbygge og træne ML modeller i deres eget miljø, og derefter gemme dem i databasen, hvor enhver udvikler kan skrive T-SQL-forespørgsler til at score mod dem. Og hvis SQL Server host har Graphical Processing Units (Gpu ‘ er) om bord, data kan forskerne se endnu større gevinster, ud over afskaffelse af data bevægelse, ved at træne deres modeller der.

Virksomheden, klar eller ikke
En anden T-SQL/Data Videnskab integration i SQL Server 2017 er evnen til at tilføje R pakker til (moduler, der fungerer som sprog extensions) via T-SQL ‘s nye SKABE EKSTERNE BIBLIOTEK kommando, og opbevares i særlige databaser, snarere end tilføjes ved R’ s installere.pakker() funktion og gjort tilgængelig på globalt plan. Dette giver database administratorer større og mere detaljeret kontrol over ressourcer og muligheder, der er tændt eller slukket.

Denne kombination af funktioner, der gør væsentlige fremskridt i retning af at bringe Data Videnskab frem i mainstream enterprise computing. Den almindelige udbredelse af SQL Server i virksomhedens teknologi miljøer bringer operationaliseres Data Videnskab på en større scene. Nu er det op til Microsoft for at drive vedtagelsen af disse funktioner, snarere end blot at gøre dem tilgængelige.

Grafisk sprog
Den anden store tilføjelse til SQL Server 2017 er nye støtte til grafen behandling.

Såkaldte NoSQL-databaser, som grafen databaser består af en større kategori, har været en torn i øjet på Microsoft ‘ s side i mindst seks år. Og på trods af det faktum, at de kan være en smule esoteriske og bleg i vedtagelsen niveauer i forhold til databasen produkter, der er baseret på konventionel relationelle teknologi (som SQL-Server), kan de være meget nyttigt for særlig database scenarier.

graph.jpg

Graf behandling er alt om noder og kanter

Kredit: Microsoft

I stedet for rækker og kolonner, tabeller i grafen databaser indeholder “knudepunkter” (nogle gange kaldet “knuder”) og “kanter.” Noder repræsenterer enheder, mens kanterne repræsenterer relationer mellem dem. Med relationer kodificeret på enhedsniveau, snarere end tabellen niveau, bliver det meget lettere at gøre ting som at få alle de enheder, der er relateret til en anden en i særdeleshed.

Denne type af forespørgsel er almindeligt, når man arbejder med enhver domæne, hvor netværk er involveret, herunder sociale netværk. Ønsker at få alle de kommentarer til en given post? Easy peasy. Ønsker du at vide alle de venner, som to mennesker har til fælles? Stykke kage.

SQL Server udviklere kan blot angive den SOM NODE eller SOM KANT søgeord i deres CREATE TABLE kommandoer, når bygningen tabeller, der vil gemme grafen enheder. Når du forespørger på en sådan tabel, kan de derefter bruge det som søgeord i deres SELECT-sætninger til at besvare netværk-relaterede spørgsmål, som de sociale medier, vi lige har diskuteret.

SQL Server kan søge på tværs af en heterogen blanding af grafen borde og konventionelle af slagsen. Det kan også lade sig hverve columnstore indekser i accelererende forespørgsler, der kan drage fordel af dem.

I andre nyheder
Ja, Linux, er Python og graf behandling er en masse, men der er mere. Her er en endelig roundup af, hvad der er nyt i den relationelle database engine.

SQL Server vektor behandling-baseret batch execution-mode er nu tilgængelig til hele udførelse af R eller Python-kode. Da en stor del af det arbejde, der har tendens til at være udført i R og Python indebærer sammenlægning, batch-mode – hvilke processer, der rækker af data flere på et tidspunkt, kan være meget nyttigt.

To andre nye batch-mode-funktioner, hukommelse, give feedback og adaptive slutter sig til, vil øge SQL Server-ydeevne og effektivitet samt.

I de operationelle analytics department, den ikke-grupperede række Columnstore indeks (NCCIs), der blev indført i SQL Server 2012, kan nu blive bygget og genopbygget uden at tage de tabeller, de indeks offline, hvilket gør operationelle analytics mere realistisk at gennemføre.

Blob ‘ er (binary large objects, som hele filer, der er gemt i en tabel) i Columnstore indekser kan nu blive komprimeret for at spare diskplads, og Columnstore indeks kan behandle dem i det komprimerede format, som også hastigheder backups.

SQL-2017 er nye resumable indeks operationer funktion giver mulighed indeks genopbygger til at være genoptaget, efter at en database fejl eller manuel afbrydelse af drift, snarere end at skulle genstartes fra bunden, når databasen er tilbage online.

SQL Server forespørgsel processor kan nu automatisk finde og udbedre såkaldte plan regressioner, der opstår, når det reformulates den bedste måde at søge en tabel, men “glemmer” visse optimeringer, der er foretaget til den forudgående plan, der stadig gælder.

SQL Server ‘ s In-Memory OLTP-facilitet (en.k.en. “Hekaton”), der behandler data i hukommelsen, og samler T-SQL stored procedures ned til native kode, der har kastet mange af sine begrænsninger, så den funktion til at blive brugt i mange flere scenarier.

Ud over relationelle
Selvom hovedparten af de nye funktioner i SQL Server 2017 leveres i kerne-relationelle database management system (RDBMS) motor, andre dele af SQL Server suite af teknologier, der er sket visse forbedringer.

Lad os starte med SQL Server Analysis Services (SSA), hvis Tabular Mode motoren er i Virksomheden version af teknologien bag Excel-data model og Power Pivot; Power BI Desktop, den Magt BI Cloud-Tjeneste, og den nye Azure Analysis Services preview service. SSA Tabelform fortsætter med at se investeringer, der bringer dets funktion sat i nær-paritet med SSA’ klassiske Multidimensional model.

Første off, Tabular mode er nu standard installation af mulighed for Analyse. En ny 1400 kompatibilitet niveau giver SSA Tabelform ‘ s værktøjer (en del af Visual Studio-baseret SQL Server Data Tools – SSDT) til at give de samme data acquisition dialoger og mange af de data, kilde-forbindelse, der er tilgængelige i Excel-2016 for Windows og Magt BI-Skrivebordet. Dette omfatter en tilsvarende data forberedelse brugerflade og brug af den samme underliggende M programmeringssprog, der er til rådighed i Power BI og Excel. SSDT værktøj til SSA omfatter nu også en editor til de Tabelform motor ‘ s DAX (Data Analysis eXpressions) sprog.

Kodning tips fremskynde data opdateres, en Skjule Medlemmerne ejendom endelig giver lasede hierarkier i dimensioner; vis detaljer er nu understøttet for drillthrough handlinger fra kunder, som Excel-objekt-sikkerhed på er blevet tilføjet; dynamisk ledelse synspunkter er blevet forbedret, og en operatør og en CONTAINSROW funktion er blevet tilføjet til DAX.

SQL Server Reporting Services (SSRS) har tilføjet en kommentar-funktionen, for at samarbejde gennemgang af rapporter, og en DAX-redaktør er blevet tilføjet til query designer, både i SSDT-og den enkeltstående Report Builder program. SSRS findes også i en udvidet udgave, som el-BI-Rapport Server. Flere detaljer om, der vises nedenfor.

SQL Server Integration Services har tilføjet en ny skala-out-funktion og, som allerede omtalt, kan køre på SQL Server for Linux. Det giver også en bedre forbindelse til Microsoft Dynamics AX Online og Microsoft Dynamics CRM Online.

På den forretningsmæssige side
Der er mere til SQL Server end produktets funktioner, naturligvis; den forretningsmæssige side er også vigtigt.

Microsoft er ikke at indføre enhver pris stiger med denne version af produktet. I virkeligheden, for den Linux version, Microsoft tilbyder en salgsfremmende (tidsbegrænset) Software Assurance (SA)-kun abonnement for Standard-og Enterprise-udgaverne af produktet. Det er lidt ligesom at få en gratis licens, så længe du tilmelder dig for vedligeholdelse og, ifølge Microsoft, udgør 30% rabat på alle-i gebyrer. Når du kombinere denne kampagne med det faktum, at SQL Server Developer Edition er den gratis (en politisk Microsoft, der er anlagt i begyndelsen af sidste år), til kunder med at få open source-lignende økonomi med SQL Server.

Og apropos SA, SQL Server Enterprise Edition (EE) for kunder der har den, vil være berettiget til en ny on-premises analytics produkt: Power BI Rapport Server (PBIRS). PBIRS giver mulighed for Enterprise-wide on-premises levering af Microsoft Power BI-rapporter, der tidligere kun tilgængelig gennem en cloud-abonnement (eller, for dem, så bestemt, e-mail vedhæftet fil-baseret fil-deling).

Da det viser sig, PBIRS er en fuldstændig delmængde af SQL Server Reporting Services (SSRS), således at konsolidere alle Microsoft ‘ s rapportering og data-visualisering produkter (SSRS, SSRS Mobile Rapporter og Magt BI) i en Enterprise rapporterings platform og Web-baseret portal. Den eneste anden måde at erhverve PBIRS er gennem en Magt BI Premium-abonnement, som starter ved $4,995/måned for en enkelt dedikeret P1 node, med 8 virtuelle kerner.

Blot 16 måneder senere, en stor udgivelse
Der gør det muligt for SQL Server team til at forkorte release cycles for konventionel on-premises udgaver (“max produkt” i Microsoft-sprog), som omfatter funktioner, der allerede har været kamp-testet. Det er derfor, vi er ved at få SQL Server 2017 cirka 16 måneder efter udgivelsen af SQL Server 2016, og vi får store nye funktioner som Linux, er Python, graf behandling, og en masse mindre forbedringer at holde udgivet tidligere har godt tunet og relevante.

SQL Server-udgivelser, der bruges til at komme hver 2-3 år, med nogle temmelig “big bang” ændringer, og som ledsager kalder til handling omkring træning, vilje og opgraderinger. Nu, med SQL Server-kode base, som bliver brugt af Azure SQL-Database samt funktionalitetsforbedringer er indsat, og der anvendes i produktionen i kortere intervaller og med mindre…godt…hoopla.

For SQL Server, big bang udgivelser bliver mere som lejlighedsvis roll-ups af slipstreamed cloud produkt features. At skelne mellem, SQL Server og dedikeret NoSQL-databaser bliver mindre akut. Data Videnskab, analytics og operationelle teknologier smelter sammen, og bliver mere og mere operationaliseres. BI på desktop, server, cloud og Cloud cloud deler den samme kerne motor teknologi. Styresystem/platform forskelle er bogstaveligt talt får abstraheret væk.

En ny database world order
Jeg er en Microsoft Data Platform MVP, og på ingen måde en objektiv observatør. Som sagt, min egen alvor observation er, at Microsoft ‘ s kombination af Virksomhedens arv, public cloud dygtighed, udvikler-venlighed og de seneste skole-af-hårdt slag uddannelse sætter det i en førende position inden for branchen til at tage på denne nye normal i en verden af data, og teknologi generelt. SQL Server 2017 er et væsentligt artefakt i, at overgangen til ledelse.

I databasen verden, hastighed er stigende, og vejbump udglatte. Der er en konstant strøm af nye kapaciteter, med lidt tid til at hvile, men med mindre inerti overvindes, som praktiserende læger og brugere er konstant i bevægelse, ligesom data i sig selv.

0