Azure Synapse Dedikert SQL Pool: Kraftfull skybasert datawarehouse

Microsoft har omstrukturert sine Azure-tjenester til å bli skybaserte løsninger av profesjonell kvalitet, med avanserte funksjoner for datahåndtering og analyse.

Da Microsoft besluttet å satse på skyen, ble Azure SQL Data Warehouse lansert. Microsoft har lagt mye ressurser i å utvikle Azure SQL Data Warehouse. Det er en fleksibel databaseadministrasjonstjeneste som kombinerer fleksibiliteten til datavarehus med skytjenester.

Hva er Azure SQL Data Warehouse?

Azure SQL Data Warehouse, nå kjent som Azure Synapse Dedicated SQL Pool, er en skybasert datavarehusløsning som lar deg bygge og levere et datavarehus i Microsoft Azure. Azure Data Warehouse kan håndtere store mengder både relasjonelle og ikke-relasjonelle data. Det tilbyr SQL-datavarehusfunksjonalitet og en skybasert databehandlingsplattform.

Den støtter SQL-servere og kan overføre eksisterende SQL-servere til SQL Data Warehouse. Du kan også bruke de samme spørringene og strukturkodene. Abonnenter får umiddelbar tilgang til å skalere, pause og redusere ressursene i datavarehuset.

Den brukes til å tilby en komplett SQL-basert datavarehusløsning for bedrifter. Den kan også benyttes på følgende måter:

  • Migrere eksisterende datavarehus (lokalt) til skyen
  • Tilby en datavarehusløsning for applikasjoner og tjenester som krever datalagring og raskt datagjenoppretting, som webapplikasjoner.
  • En hybrid datavarehusløsning som kobler seg til et Azure-vertsbasert datavarehus og lokal SQL Server.

En av de beste funksjonene til Azure SQL Data Warehouse er dens fleksibilitet. Det gir mulighet for skalering og separat administrering av lagrings- og dataressurser. Dette skaper en fordelaktig plattform der brukerne kun betaler for det de bruker, og når de bruker det.

Databehandlingsdelen av Azure SQL Data Warehouse er basert på Data Warehouse Unit (DWU), som måler databehandlingsressurser som lagrings-I/O og minne på tvers av alle medvirkende databehandlingsnoder.

Azure SQL Data Warehouse tilbyr en funksjon for tilkoblingssikkerhet. Dette lar deg begrense tilgangen til bestemte IP-adresser eller IP-områder ved hjelp av brannmurregler. Integrasjon med Azure Active Directory-autentisering (AAD) gir deg muligheten til å koble til Azure SQL Data Warehouse ved bruk av identiteter fra Azure AD.

Kryptering i flere lag gir beskyttelse ved inaktivitet, under overføring og i bruk for å sikre dataene dine mot misbruk. Det finnes også verktøy for å revidere og overvåke data, samt identifisere sikkerhetsbrudd.

Kombinert med andre Microsoft-verktøy, tilbyr Azure SQL Data Warehouse enestående ytelse, noe som gir den en stor fordel over andre sammenlignbare tjenester på markedet.

Azure Synapse dedikert SQL-pool

Azure Synapse SQL Pool Dedicated SQL Pool (tidligere Azure SQL Data Warehouse) er en massivt parallell databehandlingsdatabase som ligner på kolonnebaserte utskaleringsdatabaseteknologier som Snowflake og Amazon Redshift. For sluttbrukeren ser det ut som en tradisjonell SQL Server, men den lagrer og behandler ikke data på en enkelt node.

Dette kan forbedre ytelsen til datavarehus som overstiger noen få terabyte i størrelse betraktelig, men det kan finnes bedre løsninger for mindre implementeringer.

Den underliggende arkitekturen er svært forskjellig fra tradisjonelle SQL-servere. Dette betyr at syntaks og utviklingsmetoder også er forskjellige.

Distribusjoner er tildelt databehandlingsnoder i en dedikert SQL-pool. Poolen omfordeler distribusjonene til databehandlingsnodene etter hvert som du anskaffer flere dataressurser.

Du kan importere store datamengder ved hjelp av enkle PolyBase SQL-spørringer og deretter bruke den distribuerte spørringsmotoren for avansert analyse.

Den dedikerte SQL-poolen, tidligere SQL DW, vil fungere som en felles sannhetskilde for virksomheten din, slik at du kan integrere og analysere data raskere og få mer pålitelig innsikt.

Hva er forskjellen mellom Azure Synapse dedikerte SQL-pooler og dedikerte SQL-pooler i et Azure Synapse Analytics-arbeidsområde?

PowerShell er et av de mest forvirrende områdene i dokumentasjonen når det kommer til den dedikerte SQL-poolen (tidligere SQLDW) og Synapse Analytics dedikerte SQL-pooler.

Den opprinnelige implementeringen av SQL DW benytter en logisk server som ligner på Azure SQL DB. En PowerShell-modul kalt Az.Sql deles.

Denne modulen oppretter en ny SQL-pool (tidligere SQLDW) ved å bruke cmdleten New.AzSqlDatabase. Den har en «Edition»-parameter som lar deg spesifisere at du vil ha et datavarehus.

Synapse Analytics introduserte en ny PowerShell-modul fra Az.Synapse da den ble lansert. For å opprette en dedikert SQL-pool i et Synapse Analytics-arbeidsområde, bruker du New-AzSynapseSqlPool.

Denne PowerShell-modulen krever ikke at du inkluderer «Edition»-parameteren, da den kun er for Synapse-elementer.

En dedikert SQL-pool sørger for T-SQL-basert databehandling og lagring. Data kan lastes, modelleres og behandles i Synapse for å gi raskere innsikt.

Azure Synapse tilbyr serverløse SQL- og Apache Spark-pooler i tillegg til dedikerte SQL-pooler. Du kan velge det som passer best for dine behov.
En serverløs SQL-pool lar deg spørre dataene som er lagret i datasjøen.

Hva gjør Azure Synapse Dedicated SQL Pool?

Azure Synapse Dedicated SQL Pool bruker en utskaleringsarkitektur for å distribuere databehandlingen på tvers av flere noder. Du kan skalere databehandling uavhengig av lagring, ettersom databehandling er skilt fra lagring.

Serverløse SQL-pooler er serverløse og skaleres automatisk for å imøtekomme behovene for spørringsressurser. Den tilpasser seg endrede topologier ved å legge til, fjerne eller overføre noder. Dette sørger for at søket har tilstrekkelig med ressurser og kan fullføres.

Synapse SQL er basert på en nodebasert arkitektur. Synapse SQL bruker en nodebasert arkitektur. Applikasjoner kan koble seg til kontrollnoden og utstede T-SQL-kommandoer. Dette er det sentrale punktet for Synapse SQL.

Azure Synapse SQL-kontrollnoder bruker en distribuert spørringsmotor som optimaliserer spørringer for parallell behandling og deretter sender operasjoner videre til databehandlingsnoder, slik at de kan utføre arbeidet parallelt.

Den serverløse SQL-poolens kontrollnode benytter Distributed Query Processing Engine (DQP) for å optimalisere og orkestrere distribuert utførelse.

Dette gjøres ved å dele opp brukerspørringen i mindre spørringer som kan utføres på databehandlingsnodene. Hver oppgave er en distribuert utførelsesenhet. Den henter data fra andre oppgaver, grupperer filer og leser dem fra lagring.

Databehandlingsnoder lagrer alle brukerdata og utfører parallelle spørringer. Data Movement Service (DMS), en intern tjeneste på systemnivå, flytter data mellom nodene for å muliggjøre parallelle spørringer og gi nøyaktige resultater.

Synapse SQL bruker Azure Storage for å sikre brukerdata. Azure Storage lagrer og administrerer dataene dine. Det påløper en egen kostnad for bruk av lagring.

Funksjoner i Azure Synapse Dedicated SQL Pools

Her er hovedfunksjonene til Azure Synapse SQL Pool:

  • Du kan spørre om data i forskjellige formater, som Parkett, JSON og CSV i datasjøen.
  • Brukere kan se de nyeste dataene ved hjelp av en relasjonsabstraksjon.
  • T-SQL lar deg transformere dataene i sjøen på en enkel og skalerbar måte
  • Dataforskere kan raskt undersøke strukturen og innholdet i sjødata ved hjelp av OPENROWSET eller funksjoner for automatisk skjemagjenkjenning.
  • Dataingeniører kan benytte poolen for å utforske sjøen og transformere, lage eller forenkle datatransformasjonspipeliner.
  • Dataanalytikere kan få tilgang til dataene og hente eksterne tabeller via T-SQL-språk og andre kjente verktøy. Disse verktøyene kan også kobles til en serverløs SQL-pool.
  • Generer umiddelbare BI-rapporter av fagfolk innen forretningsintelligens for Spark-tabeller eller datasjøen.

Dedikert SQL Pool vs. Serverløs SQL Pool

Serverløs SQL Pool

Azure Synapse-arbeidsområder har en serverløs SQL-pool som fungerer som en spørringstjeneste for datasjøer. Det krever ingen ytterligere konfigurasjon for å få tilgang til dataene. Den er helt serverløs og krever ingen infrastruktur for oppsett eller vedlikehold.

Skalering kan skje automatisk for å dekke ressursbehov. Brukeren betaler kun for dataene som behandles, og ikke for reserverte ressurser. Den serverløse SQL-poolen genererer også statistikk for å optimalisere utførelsen av spørringer.

For eksempel, hvis vi kjører en spørring to ganger eller kjører to spørringer med lignende utførelsesplaner, kan denne statistikken gjenbrukes.
Disse funksjonene gjør at vi raskt kan analysere store datamengder uten å kopiere eller laste dem inn i et spesifikt lagringsområde.

Dedikert SQL Pool

Synapse dedikerte SQL Pool er arvtakeren til Azure SQL Data Warehouse og tilbyr alle funksjoner for datavarehus i bedriftsklasse. Det er imidlertid ikke en serverløs SQL-pool. Brukere må isteden opprette og slette en Synapse dedikert SQL-pool. Vi kan også velge hvilke ressurser den skal bruke.

Disse ressursene måles ved hjelp av Synapses dedikerte SQL-pooler. De kalles Data Warehousing Units (DWU). En DWU representerer en kombinasjon av CPU-, minne- og IO-ressurser.

Antallet DWUer bestemmer poolens ytelse og kostnad. I stedet for å belastes per forespørsel, belastes vi for hver gang poolen er aktiv, uavhengig av hvor mye arbeid den har utført.

For å unngå ekstra kostnader kan dedikerte pools stoppes og startes på nytt. Vi opprettet en dedikert SQL-pool med 100 DWU for vår test.

Etter at poolen er opprettet, kan data lastes inn i den ved å bruke COPY-kommandoen, PolyBase med T–SQL-spørringer eller en pipeline. Disse dataene lagres i kolonneformat i relasjonstabeller.

Dedikert SQL Pool Serverløs SQL Pool
Beskrivelse Lar deg spørre datasjøen og lagre data. Brukere kan søke i datasjøfiler.
Infrastruktur Infrastruktur er nødvendig. Det er ikke nødvendig å sette opp infrastruktur eller vedlikeholde klynger.
Operasjoner Før du kan utføre noen operasjon, må du anskaffe dedikerte servere. Ingen infrastruktur kreves for datatransformasjon eller -utforskning.
Lagring Relasjonstabeller brukes til å lagre data. Data Lake lagrer data.
Kostnadshåndtering Du kan administrere kostnader ved å sette SQL-poolen på pause og redusere lagringen. Kostnadene håndteres og faktureres automatisk basert på en betal-per-forespørsel-modell.
Kostnadsstruktur Reserverte ressurser er kostnadsbelagt. Databehandlingskostnader per forespørsel belastes.
Fakturering Betal per DWU som er klargjort. Betal per TB behandlet.

Konklusjon

Dette var en gjennomgang av Azure SQL Data Warehouse (nå kjent som Azure Synapse Dedicated SQL Pool). Selv om en dedikert SQL-pool kan minne om en tradisjonell SQL-server fra mange perspektiver, er den underliggende arkitekturen (Massively Parallel Processing) helt annerledes. Dette betyr at enkelte konsepter og teknikker kun gjelder for en dedikert SQL-pool.

Du kan også utforske forskjellene mellom Data Lake og Data Warehouse.