Azure SQL Database er Microsofts database-as-a-service-tilbud, der giver en enorm mængde fleksibilitet. Det er bygget som en del af platform-as-a-service-miljøet, som giver kunderne yderligere overvågning og sikkerhed for produktet.
Microsoft arbejder konstant på at forbedre deres produkter, og Azure SQL Database er ikke anderledes. Mange af de nyere funktioner, vi har i SQL Server, blev oprindeligt lanceret i Azure SQL Database, inklusive (men ikke begrænset til) Always Encrypted, Dynamic Data Masking, Row Level Security og Query Store.
DTU-prisniveau
Da Azure SQL Database først blev lanceret, var der en enkelt prissætningsmulighed kendt som "DTU'er" eller Database Transaction Units. (Andy Mallon, @AMtwo, forklarer DTU'er i "Hvad pokker er en DTU?") DTU-modellen giver tre serviceniveauer, basic, standard og premium. Det grundlæggende niveau giver op til 5 DTU'er med standardlagring. Standardniveauet understøtter fra 10 op til 3000 DTU'er med standardlagring, og premium-niveauet understøtter 125 op til 4000 DTU'er med premiumlagring, hvilket er størrelsesordener hurtigere end standardlager.
vCore-prisniveau
Spol frem et par år efter, at Azure SQL Database blev frigivet, til da Azure SQL Managed Instance var i offentlig forhåndsvisning, og "vCores" (virtuelle kerner) blev annonceret til Azure SQL Database. Disse introducerede de generelle og forretningskritiske niveauer med Gen 4- og Gen 5-processorer. Gen 5 er den primære hardwaremulighed nu for de fleste regioner, da Gen 4 er ved at ældes.
Gen 5 understøtter så få som 2 vCores og op til 80 vCores med ram tildelt på 5,1 GB pr. vCore. Det generelle niveau giver fjernlagring med max data IOPS fra 640 for en 2 vCore database op til 25.600 for en 80 vCore database. Det forretningskritiske niveau har lokal SSD, som giver meget bedre IO-ydeevne med max data-IOPS, der spænder fra 8000 for en 2 vCore-database op til 204.800 for en 80 vCore-database. Både generelle og forretningskritiske niveauer er maksimalt 4.096 GB til lagerplads, og dette blev en begrænsning for mange kunder.
HyperScale-database
For at løse grænsen på 4 TB for Azure SQL Database oprettede Microsoft hyperskala-niveauet. Hyperscale giver kunderne mulighed for at skalere op til 100 TB databasestørrelse ud over at give hurtig udskalering for skrivebeskyttede noder. Du kan også nemt skalere op og ned i vCore-modellen. Hyperscale databaser er klargjort ved hjælp af vCores. Med Gen 5 kan en Hyperscale-database bruge mellem 2 – 80 vCores og 500 – 204.800 IOPS. Hyperscale opnår høj ydeevne fra hver computerknude med SSD-baserede caches, som hjælper med at minimere netværkets rundrejser for at hente data. Der er en masse fantastisk teknologi involveret med Hyperscale i, hvordan den er opbygget til at bruge SSD-baserede caches og sideservere. Jeg anbefaler stærkt, at du tager et kig på diagrammet, der nedbryder arkitekturen, og hvordan det hele fungerer i denne artikel.
Serverløs database
En anden anmodning, der var meget almindelig fra kunder, var muligheden for automatisk at skalere op og nedskalere deres Azure SQL-database, efterhånden som arbejdsbelastningen øges og falder. Kunder har traditionelt haft mulighed for programmæssigt at skalere op og ned ved hjælp af PowerShell, Azure Automation og andre metoder. Microsoft tog den idé og byggede et nyt computerlag kaldet Azure SQL Database serverless, som blev almindeligt tilgængeligt i november 2019. De giver kunden mulighed for at indstille minimum og maksimum antal vCores. På denne måde kan de vide, at der altid er et minimum beregningsniveau tilgængeligt, og de kan altid automatisk skalere til et udpeget beregningsniveau. Der er også mulighed for at konfigurere en autopause-forsinkelse. Denne indstilling giver dig mulighed for automatisk at sætte databasen på pause efter et bestemt tidsrum, hvor databasen har været inaktiv. Når en database går ind i autopause-stadiet, bliver beregningsomkostningerne nul, og der påløber kun lageromkostninger. De samlede omkostninger ved serverløs er summeringen af beregningsomkostningerne og lageromkostningerne. Når beregningsforbruget er mellem minimums- og maksimumgrænserne, er beregningsomkostningerne baseret på vCores og brugt hukommelse. Hvis det faktiske forbrug er under minimumsværdien, er beregningsomkostningerne baseret på minimum vCores og minimum hukommelse konfigureret.
Det serverløse niveau har potentialet til at spare kunder en masse penge, samtidig med at de giver dem mulighed for at give en ensartet databasebrugeroplevelse, hvor databasen er i stand til at skalere op, efterhånden som efterspørgslen kræver det.
Elastiske bassiner
Azure SQL Database har en delt ressourcemodel, der gør det muligt for kunderne at få en højere ressourceudnyttelse. En kunde kan oprette en elastisk pulje og flytte databaser ind i denne pulje. Hver database kan derefter begynde at dele foruddefinerede ressourcer inden for denne pulje. Elastiske puljer kan konfigureres ved hjælp af DTU-prismodellen eller vCore-modellen. Kunder bestemmer mængden af ressourcer, som den elastiske pulje skal bruge for at håndtere arbejdsbyrden for alle dens databaser. Ressourcegrænser kan konfigureres pr. database, så én database ikke kan forbruge hele puljen. Elastiske puljer er gode til kunder, der skal administrere et stort antal databaser eller multitenant-scenarier.
Ny hardwarekonfiguration for klargjort beregningsniveau
Gen4/Gen5-hardwarekonfigurationerne betragtes som "balanceret hukommelse og computer." Dette fungerer godt for mange SQL Server-arbejdsbelastninger, men der har været tilfælde af en lavere CPU-latens og højere clock-hastighed for CPU-tunge arbejdsbelastninger og et behov for højere hukommelse pr. vCore. Microsoft har endnu en gang leveret og skabt en computeroptimeret og hukommelsesoptimeret hardwarekonfiguration. Disse er i øjeblikket i forhåndsvisning og kun tilgængelige i visse områder.
I det tilrettelagte niveau til generelle formål kan du vælge Fsv2-serien, som kan levere mere CPU-ydeevne pr. vCore end Gen 5-hardwaren. Samlet set kan 72 vCore-størrelsen give mere CPU-ydeevne end 80 vCore Gen 5 ved at give en lavere CPU-latens og højere clock-hastigheder. Fsv2-serien har mindre hukommelse og tempdb pr. vCore end Gen 5, så det skal tages i betragtning.
I det forretningskritiske klargjorte niveau kan du få adgang til M-serien, som er hukommelsesoptimeret. M-serien tilbyder 29 GB pr. vCore sammenlignet med 5,1 GB pr. vCore i 'balance memory and compute'-konfigurationen. Med M-serien kan du skalere vCore op til 128, hvilket ville give op til 3,7 TB hukommelse. For at aktivere M-serien skal du i øjeblikket være i en Pay-As-You-Go- eller Enterprise-aftale og åbne en supportanmodning. Selv da er M-serien i øjeblikket kun tilgængelig i Øst-USA, Nordeuropa, Vesteuropa, Vest-US 2, og kan også have begrænset tilgængelighed i yderligere regioner.
Konklusion
Azure SQL Database er en funktionsrig databaseplatform, der tilbyder en bred vifte af muligheder for beregning og skalering. Kunder kan konfigurere beregning til en enkelt database eller elastisk pool ved hjælp af DTU'er eller vCores. Til databaser med et stort lagerbehov eller læseskalering kan Hyperscale bruges. For kunder med varierende arbejdsbelastningskrav kan serverløs bruges til automatisk at skalere op og ned, efterhånden som deres arbejdsbelastningskrav ændrer sig. Nyt i Azure SQL Database er preview-funktionen i en computeroptimeret og hukommelsesoptimeret hardwarekonfiguration til de kunder, der har brug for lavere latency CPU eller dem med et højt hukommelse til CPU-krav.
For at lære mere om Azure-ressourcer, se mine tidligere artikler:
- Indstillinger for justering af Azure SQL Database-ydelse
- Ydeevneovervejelser for Azure SQL Managed Instance
- Nye Azure SQL Database Standard Tier Størrelser
- Bryding af Azure-gabet:Administrerede forekomster
- Migrering af databaser til Azure SQL-database