Review: SQL Server 2017 voegt Python, grafiek verwerking en het draait op Linux

0
278

Nul

Vandaag, op haar Ontbranden conferentie in Orlando, Microsoft kondigt de algemene beschikbaarheid van een nieuwe versie van zijn vlaggenschip, de operationele database, SQL Server 2017.

SQL Server is een product dat heb ik met bijna mijn hele carrière. Ik begon met versie 4.2 voor Windows in 1993 en hebben gewerkt en zorgvuldig nagekeken elke volgende release, waaronder deze. Het ding dat ik heb afstand genomen van al dit werk en de evaluatie is dat, terwijl SQL Server heeft voortdurend verbeterd, terwijl het gemoderniseerd en toegevoegd tal van functies en technologieën gebundeld, in vele opzichten, het voelt nog steeds als dezelfde database begon ik te werken met bijna 25 jaar geleden.

Soms, ik denk dat ontwikkelaars en database beheerders nodig die vertrouwdheid. De andere keer moeten ze de innovatie en het vertrouwen dat het product team heeft meer nieuwe dingen in de pijplijn. Klanten moeten SQL Server blijven hetzelfde en toch zijn ze nodig om te veranderen en te verbeteren. Dat is echt SQL Server unieke uitdaging: het moet waar zijn erfenis, en toch vermijden van stilstand, om competitief te blijven met de schijnbaar eindeloze reeks van nieuwe gegevens technologieën, zowel commercieel als open source.

summarysql-2017.jpg

Samenvatting van SQL Server 2017 nieuwe functies

Credit: Microsoft

Deze nieuwe versie van SQL Server blijft om te voldoen aan deze twee eisen. Het voegt nieuwe functies van de werelden van data science en NoSQL. Het biedt cross-platform mogelijkheden en Docker container compatibiliteit. Maar het versterkt ook de investeringen in de core-database-engine prestaties, gebruiksgemak van de index onderhoud, high availability en data warehouse prestaties. Dat is een moeilijk evenwicht en een dat andere database-leveranciers niet hebben. Hoewel dit kan Microsoft het kruis te dragen, het bedrijf doet het vrij goed met het draaien van een formidabele uitdaging in een markt positief onderscheid.

Neo-retro: SQL Server voor Linux
In een beweging die lijkt ironisch op de markt en is nog niet helemaal in overeenstemming met de SQL Server-erfenis, de release van SQL Server 2017 herauten SQL Server terug te keren naar de *NIX-platform, met een nieuwe Linux-versie van het product. En ondanks deze ontwikkeling wordt legacy-consistent (vroege versies van SQL Server, ontwikkeld in samenwerking met Sybase, liep ook in UNIX) gebruikt, is het nog steeds een zeer grote deal.

Lees ook: Microsoft SQL Server 2017 voor Linux en Windows vooruit zetten met de eerste Release Candidate

SQL Server is gegroeid vrij sterk in populariteit door de jaren heen. Maar de populariteit van server-side Linux is gegroeid, en Macs zijn gegroeid in populariteit bij ontwikkelaars. Dit heeft ertoe geleid dat sommige klanten hebben een aantal Windows servers in het datacenter zojuist voor SQL Server. Het betekende ook dat de Mac-en Linux-machines ontwikkeling hebben die nodig is om verbinding te maken met SQL Server over het netwerk, en heb nog niet kunnen uitvoeren van het lokaal, tenzij op een virtuele Windows-machine. Beide van deze problemen zijn blokkers worden goedgekeurd.

Lees ook: Waarom Microsoft moet SQL Server op Linux

Met binaire compatibiliteit met Linux, Microsoft begint het werk van het elimineren van deze adoptie-blokkers. SQL Server kan nu draaien op Windows servers, Linux servers, of een combinatie van de twee. De Linux versie kan ook uitgevoerd in Docker containers (die ook kan worden Windows – of Linux-gebaseerd), waardoor het bijna triviaal te draaien op een Mac. In feite, als u een ontwikkelaar die de machine heeft al Docker geïnstalleerd, actief en heeft toegewezen ten minste 4 gb geheugen, twee commando ‘ s, die in een Mac-of Linux-machine Terminal venster, zal het downloaden, installeren en starten van het product uitgevoerd. Deze techniek werkt op Windows machines, ondanks het feit dat de Windows-versie kan worden geïnstalleerd op het metaal.

Op basis van Windows SQL Server tools verbinding kunt maken met Windows of Linux exemplaren van SQL Server, dus Windows-ontwikkelaars hoeft niet te veranderen toolsets. Ondertussen zijn deze tools niet nodig: Microsoft biedt Linux command-line tools voor SQL Server, en de belangrijkste zijn geïnstalleerd in het Koppelvenster afbeeldingen standaard. Voor mensen die iets meer willen grafische, maar toch lichtgewicht, biedt Microsoft de mssql-uitbreiding voor de Visual Studio Code development tool die draait op Linux en Mac. Het draait ook Windows, zodat zelfs Microsoft-platform ontwikkelaars de mogelijkheid om het gebruik van licht-gewicht tools.

Het verplaatsen van gereedschappen companion technologieën, veel van hen, waaronder SQL Server Analysis Services en SQL Server Reporting Services zijn niet beschikbaar in Linux versies, tenminste nog niet. Maar terwijl de pakketten die zijn gemaakt voor SQL Server Integration Services (SSIS), Microsoft ‘ s populaire ETL (extract, transform en load) tool, moet worden geschreven op Windows-machines, de dienst zelf kan draaien op Linux en SSIS packages kan worden uitgevoerd op de Linux command-line, met behulp van de opdracht dtexec.

Unifying-architectuur
Hoewel niet alle SQL Server metgezel technologieën zijn beschikbaar op Linux, alle functies binnen de SQL Server relationele database-engine zijn daar beschikbaar. Zelfs SQL Server is Altijd Op hoge beschikbaarheid, functionaliteit werkt – en Windows-en Linux-exemplaren kunnen worden gemengd in dezelfde Groep Beschikbaarheid. De prestaties is ook vergelijkbaar op de twee platformen.

De reden voor de functie van de pariteit tussen de Windows-en Linux-versies van het product is het SQL Platform Abstraction Layer (PAL), die is geïmplementeerd op elk OS. Als de volledige naam misschien doet vermoeden, is de PALs abstracte afstand van de verschillen tussen de twee besturingssystemen, het verstrekken van een common interface waarop een enkele codebase kan uitvoeren.

Met deze architectuur, een functie gecreëerd voor de SQL Server-database-engine op één platform is beschikbaar op de andere. En de Vriendjes zijn geïmplementeerd zeer efficiënt. Microsoft bereikt record instelling niet-geclusterde TPC-H en 2-socket TPC-E-benchmark resultaten met SQL Server 2017, en een van de TPC-H resultaten bereikt met de Linux-versie van het product.

Ze verblind me met (data) wetenschap!
Terwijl SQL Server voor Linux is de 2017 vrijkomen van de titelregel van de functie, er zijn twee extra grote verbeteringen, evenals een hele reeks van kleinere, samen, maken van SQL Server is een veel robuuster.

ml-services.jpg

SQL Server Machine Learning Services

Credit: Microsoft

Op de Data Science kant, Microsoft heeft genomen SQL Server O Services, geïntroduceerd in 2016 de release, en er is ondersteuning toegevoegd voor de programmeertaal Python. De verbeterde functie, nu genoemd SQL Server Machine Learning Services (ML Diensten), kan de code in een van beide talen uit te voeren standaard op de SQL Server zelf. Een andere optie is om te schrijven en uitvoeren van de R/Python-code op een werkplek, maar hebben het delegeren van het zware werk uit te voeren op de SQL Server.

Lees ook: Microsoft Data Amp herauten Python in SQL Server 2017, en nog veel meer
Lees ook: Microsoft ‘ s R-Strategie

R en Python had al toegang tot SQL Server, natuurlijk, maar alleen als extern, en dus het overdragen van gegevens opgevraagd van de SQL-Server voor de machine waarop de code. Het uitvoeren van de code native SQL Server vermijdt dergelijke gegevens in beweging, waardoor voor de oprichting en opleiding van voorspellende ML modellen op de server zelf, over grote hoeveelheden data, geanalyseerd.

Het bijhouden van de score
Deze modellen kunnen vervolgens worden omgezet en opgeslagen in de SQL Server-databases. Later, in de modellen kan worden opgehaald en de-geserialiseerd, en voorspellingen kunnen worden uitgevoerd tegen hen, met behulp van SQL Server-gegevens als invoer. Dit proces heet scoren, kan worden geïmplementeerd in de code geschreven, hetzij in R of Python, via de ad hoc-scripts of opgeslagen procedures. En sinds opgeslagen procedure aanroepen kunnen uitvoeren op een geplande basis met behulp van een onderdeel met de naam van de SQL Server Agent, de hele scoren proces kan worden op basis van server en grondig operationalized. Dat is een big deal, gezien het feit dat het scoren heeft gewoonlijk is uitgevoerd op een meer ad-hoc basis, op data-wetenschappers’ eigen machines.

De score verhaal wordt nog beter in SQL Server 2017. Buiten de toevoeging van Python als een taal die kan worden gebruikt voor het scoren van proces, T-SQL code zelf kunt nu uitvoeren “native scoren”, met behulp van de taal van de nieuwe VOORSPELLEN functie. Zolang de modellen gescoord wordt tegen zijn opgeleid en in de database zijn opgeslagen in de voorgeschreven RevoScaleR of RevoScalePy formaat, T-SQL kan worden gebruikt om de score van tegen hen, of R of Python is ook geïnstalleerd op de server.

Dit zorgt voor een zeer belangrijk scheiding van belangen, waarbij Gegevens kunnen Wetenschappers bouwen en te trainen ML modellen in hun eigen omgeving, dan ze op te slaan in de database, waar iedere ontwikkelaar kan schrijven, T-SQL-query ‘ s te scoren tegen hen. En als de SQL Server host heeft Graphical Processing Units (Gpu ‘ s) aan boord, gegevens wetenschappers zien nog grotere winsten, dan eliminatie van data beweging, door de opleiding van hun modellen.

Enterprise, klaar of niet
Een T-SQL/Data Science integratie in SQL Server 2017 is de mogelijkheid tot het toevoegen van R-pakketten voor de modules die fungeren als taal extensies) via T-SQL is een nieuwe MAKEN EXTERNE BIBLIOTHEEK opdracht en opgeslagen in de specifieke databases, in plaats toegevoegd door R ‘ s installeren.pakketten() functie en maakte wereldwijd beschikbaar. Dit geeft database beheerders meer en meer controle over de middelen en mogelijkheden die worden in-of uitgeschakeld.

Deze combinatie van eigenschappen maakt de aanzienlijke vooruitgang in de richting brengen van Gegevens Wetenschap vooruit in de mainstream enterprise computing. De alomtegenwoordigheid van SQL Server in een enterprise-technologie omgevingen brengt operationalized Gegevens Wetenschap op een groter podium. Nu is het aan Microsoft om te rijden vaststelling van deze functies, in plaats van alleen deze beschikbaar te maken.

Grafische taal
De andere belangrijke aanvulling op SQL Server 2017 is de nieuwe ondersteuning voor de grafische verwerking.

Zogenaamde NoSQL databases, van welke grafiek databases vormen een belangrijke categorie, zijn een doorn in het oog van Microsoft ‘ s kant voor minstens zes jaar. En ondanks het feit dat ze kunnen worden een beetje esoterische en bleek bij de vaststelling niveaus vergeleken met de database met producten die gebaseerd zijn op conventionele relationele technologie (zoals SQL Server), kunnen ze zeer nuttig zijn voor bepaalde database scenario ‘ s.

graph.jpg

Grafiek verwerking is alles over knopen en kanten

Credit: Microsoft

In plaats van rijen en kolommen van de tabellen in de grafiek van deze databases bevatten “nodes” (ook wel “vertices”) en “randen.” Knooppunten zijn entiteiten terwijl de randen vertegenwoordigen relaties tussen hen. Met relaties vastgelegd op het niveau van de entiteit, in plaats van de tabel niveau, wordt het veel makkelijker om dingen te doen zoals alle entiteiten in verband met een in het bijzonder.

Dat type query is gebruikelijk bij het werken met een domein waar netwerken zijn betrokken, met inbegrip van sociale netwerken. Wil je alle opmerkingen voor een gegeven post? Easy peasy. Wil alles weten van de vrienden twee mensen gemeenschappelijk hebben? Fluitje van een cent.

SQL Server ontwikkelaars kunnen gewoon opgeven ALS KNOOPPUNT of ALS RAND trefwoorden in hun CREATE TABLE commando ‘ s bij het bouwen van tabellen die winkel grafiek entiteiten. Bij het opvragen van een dergelijke tabel, dan kunnen ze gebruik maken van de zoekwoord in hun SELECT-instructies naar het antwoord op de netwerk-gerelateerde vragen, zoals de social media degene die we net besproken.

SQL Server kan een query uitvoeren in een heterogene mix van grafiek tabellen en conventionele. Het kan ook beroep doen op columnstore indexen in het versnellen van query ‘ s die profiteren van hen.

In ander nieuws
Ja, Linux, Python en de grafiek van de verwerking is veel, maar er is meer. Hier is een laatste round-up van wat nieuw is in het relationele database-engine.

De SQL Server-vector verwerking-based batch execution modus is nu beschikbaar voor de gehele uitvoering van de R-of Python code. Omdat veel van het werk dat de neiging om te worden uitgevoerd in R en Python gaat om aggregatie, batch mode – welke processen rijen van gegevens van verschillende tegelijk, kan zeer nuttig zijn.

Twee andere nieuwe batch modus functies, geheugen subsidie feedback en adaptieve joins, verbeteren de prestaties van SQL Server en efficiëntie.

In de operationele analytics afdeling, de niet-geclusterde verscheidenheid van Columnstore indexen (NCCIs), geïntroduceerd in 2012 voor SQL Server, kan nu worden gebouwd en verbouwd zonder het nemen van de tabellen ze offline, het maken van operationele analyses mogelijk te implementeren.

Blob ‘ s (binary large objects, zoals hele bestanden, opgeslagen in een tabel) in Columnstore indexen kan nu worden gecomprimeerd om schijfruimte te besparen, en de Columnstore index en kunnen ze in de gecomprimeerde indeling, die ook de snelheden van back-ups.

SQL 2017 de nieuwe hervat index operaties functie maakt index opnieuw opgebouwd te worden hervat nadat een database falen of handmatig afbreken van de operatie, dan moet worden gestart vanuit het niets, wanneer de database is terug online.

De SQL Server-query processor kan nu automatisch detecteren en de sanering van de zogenaamde plan regressies, die optreden wanneer het reformulates de beste manier om een query uitvoert op een tabel, maar “vergeet” bepaalde optimalisaties gemaakt aan het voorafgaande plan dat kan nog steeds van toepassing.

De SQL Server-In-het-Geheugen OLTP-faciliteit (een.k.een. “Hekaton”), verwerkt gegevens in het geheugen en stelt T-SQL, stored procedures omlaag naar native code, heeft vergoten veel van de beperkingen, waardoor de functie om te worden gebruikt in veel meer scenario ‘ s.

Buiten relationele
Hoewel het grootste deel van de nieuwe features in SQL Server 2017 worden geleverd in de kern relationele database management systeem (RDBMS) motor, andere onderdelen van de SQL Server suite van technologieën zien van enkele verbetering.

Laten we beginnen met SQL Server Analysis Services (SSAS), waarvan de Tabular Mode-motor is de Enterprise-versie van de technologie achter de Excel-gegevens model en Power Pivot; Power BI-Desktop; de Kracht van BI-Cloud-diensten en de nieuwe Azure Analysis Services preview service. SSAS Tabular blijft zie investering die brengt de feature set in de buurt van pariteit met SSAS’ klassieke Multidimensionale model.

Ten eerste, Tabular mode is nu de standaard installatie optie voor Analysis Services. Een nieuwe 1400 compatibiliteit niveau kunt SSAS Tabular ‘ s gereedschap (onderdeel van de Visual Studio op basis van SQL Server Data Tools – SSDT) voor dezelfde data-acquisitie dialogen en veel van de gegevensbron verbinding die beschikbaar is in de Excel-2016 voor Windows en de Kracht van BI-Bureaublad. Dit omvat een gelijkwaardige gegevens voorbereiding van de interface en het gebruik van dezelfde onderliggende M programmeertaal die beschikbaar is in de Kracht van BI en Excel. De SSDT gereedschap voor SSAS-ook nu met een editor voor de Tabular-motor DAX (Data Analysis eXpressions) taal.

Codering tips snelheid tot het vernieuwen van gegevens; een Verbergen Leden eigendom eindelijk kunt onregelmatige hiërarchieën in afmetingen; toon details wordt nu ondersteund voor het drillthrough-acties van opdrachtgevers, zoals Excel; beveiliging op objectniveau is toegevoegd; dynamisch beheer van het uitzicht verbeterd; en een operator en een CONTAINSROW functie toegevoegd aan DAX.

SQL Server Reporting Services (SSRS) heeft een functie opmerkingen, voor collaborative review van rapporten en een DAX-editor is toegevoegd aan de query designer, zowel in SSDT en de zelfstandige Report Builder-toepassing. SSRS is ook verkrijgbaar in een verbeterde incarnatie, als de Macht van BI-reports-Server. Meer details op die hieronder worden weergegeven.

SQL Server Integration Services heeft een nieuwe scale-out-functie en, zoals reeds besproken, kan uitvoeren op een SQL-Server voor Linux. Het biedt ook verbeterde connectiviteit met Microsoft Dynamics AX Online en Microsoft Dynamics CRM Online.

Op de zakelijke kant
Er is meer aan de SQL Server functies van het product, natuurlijk; de zakelijke kant is ook belangrijk.

Microsoft is niet de inleiding op de eventuele prijsverhogingen met deze versie van het product. In feite, voor de Linux-versie, biedt Microsoft een promotie (beperkte tijd) Software Assurance (SA)-only abonnement voor de Standaard en Enterprise-edities van het product. Dit is een beetje zoals het krijgen van een gratis licentie voor zo lang als u zich aanmeldt voor onderhoud en, volgens Microsoft, vertegenwoordigt 30% korting op all-in prijzen. Wanneer u een combinatie van deze promotie met het feit dat SQL Server Developer Edition is gratis (een beleid van Microsoft stelde in het begin van vorig jaar), krijgen klanten van open source-als de economie met SQL Server.

En spreken van SA, SQL Server Enterprise Edition (EE) klanten die hebben het recht om een nieuwe lokale analytics product: Power BI-Report Server (PBIRS). PBIRS staat voor Enterprise-brede lokale levering van Microsoft Power BI-rapporten, die voorheen alleen beschikbaar via een cloud-abonnement (of, voor de mensen die zo bepaald, e-mail attachment-based file sharing).

Als het blijkt, PBIRS is een full superset van SQL Server Reporting Services (SSRS), dus het consolideren van alle Microsoft reporting en data visualisatie producten (SSRS, SSRS Mobiele Rapporten en Macht BI) in een Enterprise reporting platform en Web-based portal. De enige andere wijze te verwerven PBIRS is door middel van een Power BI-Premium-abonnement, die begint bij $4,995/maand voor een speciale P1 knooppunt, met 8 virtuele cores.

Slechts 16 maanden later, is een grote release
Dat maakt de SQL Server-team voor het verkorten van de release cycli voor het traditionele on-premise edities (de box “product” in Microsoft jargon) en voorzien van functies die al in het battle-getest. Dat is de reden waarom we krijgen SQL Server 2017 ongeveer 16 maanden na de release van SQL Server 2016, en krijgen we grote nieuwe functionaliteit, zoals Linux, Python, grafiek verwerken, en een aantal kleinere verbeteringen die ervoor zorgen dat de eerder uitgebrachte functies goed gestemd en relevant is.

SQL Server versies gebruikt te hebben om de 2-3 jaar, met een aantal vrij “big bang”, en de bijbehorende oproepen tot actie rond de opleiding, de bereidheid en upgrades. Nu, met de SQL Server-code wordt gebruikt door Azure SQL Database, functie-uitbreidingen zijn geïmplementeerd en gebruikt in de productie, het op de kortere intervallen en met minder…nou…heisa.

Voor SQL Server, big bang releases meer als incidentele roll-ups van slipstream cloud eigenschappen van het product. Het onderscheid tussen SQL Server en dedicated NoSQL databases worden minder acuut. Data Science, google analytics en operationele technologieën mengen samen en steeds meer operationalized. BI op de desktop -, server -, SaaS-cloud-en PaaS-cloud delen dezelfde core engine technologie. Besturingssysteem/platform verschillen zijn letterlijk onttrokken aan de weg.

Een nieuwe database wereld orde
Ik ben een Microsoft Data Platform MVP, en op geen enkele wijze een onpartijdige waarnemer. Dat gezegd hebbende, mijn eigen ernst observatie is dat Microsoft de combinatie van Enterprise erfenis, public cloud dapperheid, ontwikkelaar-vriendelijkheid en recente school-van-harde-klopt het onderwijs zet het in een leidende positie binnen de industrie te nemen op deze nieuwe normaal in de wereld van data en technologie in het algemeen. SQL Server 2017 is een belangrijk artefact in dat de overgang naar het leiderschap.

In de wereld van databases, snelheid toeneemt en de verkeersdrempels zijn gladstrijken. Er is een constante stroom van nieuwe mogelijkheden, met weinig tijd om te rusten, maar met minder inertie te overwinnen, als uitvoerders en gebruikers zijn voortdurend in beweging, net als de gegevens zelf.

0