Azure SQL Database is het database-as-a-service-aanbod van Microsoft dat een enorme hoeveelheid flexibiliteit biedt. Het is gebouwd als onderdeel van de platform-as-a-service-omgeving die klanten extra controle en beveiliging voor het product biedt.
Microsoft werkt voortdurend aan het verbeteren van hun producten en Azure SQL Database is niet anders. Veel van de nieuwere functies die we in SQL Server hebben, zijn in eerste instantie gelanceerd in Azure SQL Database, inclusief (maar niet beperkt tot) Always Encrypted, Dynamic Data Masking, Row Level Security en Query Store.
DTU-prijsniveau
Toen Azure SQL Database voor het eerst werd gelanceerd, was er één prijsoptie die bekend staat als "DTU's" of Database Transaction Units. (Andy Mallon, @AMtwo, legt DTU's uit in "Wat is in vredesnaam een DTU?") Het DTU-model biedt drie serviceniveaus:basis, standaard en premium. De basislaag biedt maximaal 5 DTU's met standaardopslag. De standaardlaag ondersteunt 10 tot 3000 DTU's met standaardopslag en de premiumlaag ondersteunt 125 tot 4000 DTU's met premiumopslag, wat ordes van grootte sneller is dan standaardopslag.
vCore-prijsniveau
Fast forward een paar jaar nadat Azure SQL Database werd uitgebracht, toen Azure SQL Managed Instance in openbare preview was en 'vCores' (virtuele kernen) werden aangekondigd voor Azure SQL Database. Deze introduceerden de algemene en bedrijfskritieke lagen met Gen 4- en Gen 5-processors. Gen 5 is nu de primaire hardware-optie voor de meeste regio's sinds Gen 4 aan het verouderen is.
Gen 5 ondersteunt slechts 2 vCores en maximaal 80 vCores, waarbij 5,1 GB per vCore aan ram wordt toegewezen. De laag voor algemene doeleinden biedt externe opslag met maximale gegevens-IOPS, variërend van 640 voor een 2 vCore-database tot 25.600 voor een 80 vCore-database. De bedrijfskritieke laag heeft een lokale SSD die veel betere IO-prestaties biedt met maximale gegevens-IOPS variërend van 8000 voor een 2 vCore-database tot 204.800 voor een 80 vCore-database. Zowel algemene als bedrijfskritieke lagen hebben een maximale opslagcapaciteit van 4.096 GB, en dit werd voor veel klanten een beperking.
HyperScale-database
Om de limiet van 4 TB van Azure SQL Database op te lossen, heeft Microsoft de hyperscale-laag gemaakt. Hyperscale stelt klanten in staat om tot 100 TB aan databasegrootte te schalen, naast snelle schaalvergroting voor alleen-lezen knooppunten. Ook binnen het vCore-model kun je eenvoudig op- en afschalen. Hyperscale-databases worden ingericht met vCores. Met Gen 5 kan een Hyperscale-database tussen de 2 – 80 vCores en 500 – 204.800 IOPS gebruiken. Hyperscale behaalt hoge prestaties van elk rekenknooppunt met op SSD gebaseerde caches, waardoor de netwerkrondreizen om gegevens op te halen, worden geminimaliseerd. Er is veel geweldige technologie betrokken bij Hyperscale in hoe het is ontworpen om op SSD gebaseerde caches en paginaservers te gebruiken. Ik raad je ten zeerste aan om het diagram te bekijken dat de architectuur opsplitst en hoe het allemaal werkt in dit artikel.
Serverloze database
Een ander veelvoorkomend verzoek van klanten was de mogelijkheid om hun Azure SQL Database automatisch op- en af te schalen naarmate de workloads toenemen en afnemen. Klanten hadden traditioneel de mogelijkheid om programmatisch omhoog en omlaag te schalen met PowerShell, Azure Automation en andere methoden. Microsoft nam dat idee over en bouwde een nieuwe rekenlaag met de naam Azure SQL Database serverless, die in november 2019 algemeen beschikbaar kwam. Hiermee kan de klant minimum- en maximumaantal vCores instellen. Zo weten ze dat er altijd een minimaal rekenniveau beschikbaar is en kunnen ze altijd automatisch schalen naar een bepaald rekenniveau. Er is ook de mogelijkheid om een autopauze-vertraging te configureren. Met deze instelling kunt u de database automatisch pauzeren na een bepaalde tijd dat de database inactief is geweest. Wanneer een database de autopause-fase ingaat, worden de rekenkosten nul en worden alleen opslagkosten gemaakt. De totale kosten van serverless zijn de som van de rekenkosten en opslagkosten. Wanneer het rekengebruik tussen de minimum- en maximumlimieten ligt, zijn de rekenkosten gebaseerd op vCores en gebruikt geheugen. Als het werkelijke gebruik onder de minimumwaarde ligt, zijn de rekenkosten gebaseerd op de minimaal geconfigureerde vCores en minimaal geconfigureerd geheugen.
De serverloze laag heeft het potentieel om klanten veel geld te besparen en geeft hen ook de mogelijkheid om een consistente gebruikerservaring voor de database te bieden, waarbij de database kan worden opgeschaald als de vraag dit vereist.
Elastische Pools
Azure SQL Database heeft een gedeeld resourcemodel waarmee klanten een hoger resourcegebruik kunnen hebben. Een klant kan een elastische pool maken en databases naar die pool verplaatsen. Elke database kan dan beginnen met het delen van vooraf gedefinieerde bronnen binnen die pool. Elastische pools kunnen worden geconfigureerd met behulp van het DTU-prijsmodel of het vCore-model. Klanten bepalen de hoeveelheid resources die de elastische pool nodig heeft om de werk belasting voor al zijn data bases af te handelen. Resourcelimieten kunnen per database worden geconfigureerd, zodat één database niet de hele pool kan gebruiken. Elastische pools zijn geweldig voor klanten die een groot aantal databases of multitenant-scenario's moeten beheren.
Nieuwe hardwareconfiguratie voor ingerichte Compute-laag
De hardwareconfiguraties van Gen4/Gen5 worden beschouwd als 'gebalanceerd geheugen en rekenkracht'. Dit werkt goed voor veel SQL Server-workloads, maar er zijn gevallen geweest voor een lagere CPU-latentie en hogere kloksnelheid voor CPU-zware workloads en een behoefte aan meer geheugen per vCore. Microsoft heeft opnieuw een computer-geoptimaliseerde en geheugen-geoptimaliseerde hardwareconfiguratie geleverd en gemaakt. Deze zijn momenteel in preview en alleen beschikbaar in bepaalde regio's.
In de voor algemene doeleinden ingerichte laag kunt u de Fsv2-serie selecteren die meer CPU-prestaties per vCore kan leveren dan de Gen 5-hardware. Over het algemeen kan de 72 vCore-grootte meer CPU-prestaties bieden dan de 80 vCore Gen 5 door een lagere CPU-latentie en hogere kloksnelheden te bieden. De Fsv2-serie heeft wel minder geheugen en tempdb per vCore dan Gen 5, dus daar zal rekening mee moeten worden gehouden.
In de bedrijfskritiek ingerichte laag hebt u toegang tot de M-serie die is geoptimaliseerd voor geheugen. De M-serie biedt 29 GB per vCore in vergelijking met de 5,1 GB per vCore in de 'balance memory and compute'-configuratie. Met de M-serie kunt u vCore opschalen tot 128, wat tot 3,7 TB geheugen zou opleveren. Om de M-serie in te schakelen, moet u momenteel een Pay-As-You-Go- of Enterprise-overeenkomst hebben en een ondersteuningsverzoek openen. Zelfs dan is de M-Serie momenteel alleen beschikbaar in VS-Oost, Noord-Europa, West-Europa, VS-West 2 en is mogelijk ook beperkt beschikbaar in andere regio's.
Conclusie
Azure SQL Database is een databaseplatform met veel functies dat een breed scala aan opties biedt voor berekenen en schalen. Klanten kunnen compute configureren voor een enkele database of elastische pool met behulp van DTU's of vCores. Voor databases met een grote opslagbehoefte of read scale-out kan Hyperscale worden gebruikt. Voor klanten met verschillende workloadvereisten kan serverless worden gebruikt om automatisch op en neer te schalen wanneer hun workloadvereisten veranderen. Nieuw in Azure SQL Database is de preview-functie van een voor rekenkracht geoptimaliseerde en voor geheugen geoptimaliseerde hardwareconfiguratie voor klanten die een CPU met een lagere latentie nodig hebben of voor klanten met een hoge geheugen-naar-CPU-vereiste.
Bekijk mijn eerdere artikelen voor meer informatie over Azure-resources:
- Opties voor het afstemmen van prestaties van Azure SQL-database
- Overwegingen met betrekking tot de prestaties van Azure SQL Managed Instance
- Nieuwe Azure SQL Database Standard Tier Sizes
- De Azure-kloof overbruggen:beheerde instanties
- Databases migreren naar Azure SQL Database