Azure SQL Database je nabídka databází jako služba společnosti Microsoft, která poskytuje ohromné množství flexibility. Je vytvořen jako součást prostředí platformy jako služby, které zákazníkům poskytuje další monitorování a zabezpečení produktu.
Microsoft neustále pracuje na vylepšování svých produktů a Azure SQL Database není jiná. Mnoho z novějších funkcí, které máme v SQL Serveru, bylo původně spuštěno v Azure SQL Database, včetně (mimo jiné) Always Encrypted, Dynamic Data Masking, Row Level Security a Query Store.
Cenová úroveň DTU
Při prvním spuštění Azure SQL Database existovala jediná možnost stanovení ceny známá jako „DTUs“ nebo Database Transaction Units. (Andy Mallon, @AMtwo, vysvětluje DTU v „Co to sakra je DTU?“) Model DTU poskytuje tři úrovně služeb, základní, standardní a prémiovou. Základní vrstva poskytuje až 5 DTU se standardním úložištěm. Standardní vrstva podporuje 10 až 3000 DTU se standardním úložištěm a prémiová vrstva podporuje 125 až 4000 DTU s prémiovým úložištěm, což je řádově rychlejší než standardní úložiště.
Cenová úroveň vCore
Rychle vpřed několik let poté, co byla vydána Azure SQL Database, do doby, kdy byla spravovaná instance Azure SQL ve veřejném náhledu a byla oznámena „virtuální jádra“ (virtuální jádra) pro Azure SQL Database. Ty představily obecné a kritické úrovně s procesory Gen 4 a Gen 5. Gen 5 je nyní primární hardwarovou možností pro většinu regionů, protože Gen 4 stárne.
Gen 5 podporuje pouze 2 vCore a až 80 vCore s ram alokovanou na 5,1 GB na vCore. Obecná vrstva poskytuje vzdálené úložiště s maximálními datovými IOPS v rozsahu od 640 pro databázi se 2 vCore až po 25 600 pro databázi s 80 vCore. Obchodní kritická vrstva má lokální SSD, který poskytuje mnohem lepší IO výkon s maximálními datovými IOPS v rozsahu od 8000 pro 2 vCore databázi až po 204 800 pro 80 vCore databázi. Obě vrstvy pro všeobecné účely i kritické obchodní úrovně dosahují maximální kapacity 4 096 GB pro úložiště, což se pro mnoho zákazníků stalo omezením.
HyperScale Database
Aby společnost Microsoft vyřešila limit 4 TB Azure SQL Database, vytvořila vrstvu hyperscale. Hyperscale umožňuje zákazníkům škálovat až na 100 TB velikosti databáze a navíc poskytuje rychlé škálování pro uzly pouze pro čtení. V rámci modelu vCore můžete také snadno škálovat nahoru a dolů. Hyperškálové databáze jsou zajišťovány pomocí virtuálních jader. S Gen 5 může databáze Hyperscale používat mezi 2 – 80 vCores a 500 – 204 800 IOPS. Hyperscale dosahuje vysokého výkonu z každého výpočetního uzlu, který má mezipaměti založené na SSD, což pomáhá minimalizovat zpáteční cesty sítě při načítání dat. S Hyperscale je spojeno mnoho úžasných technologií v tom, jak je navrženo pro použití mezipaměti a stránkovacích serverů založených na SSD. Vřele doporučuji, abyste se v tomto článku podívali na diagram, který rozebírá architekturu a jak to celé funguje.
Bezserverová databáze
Dalším požadavkem, který byl ze strany zákazníků velmi častý, byla možnost automaticky škálovat a zmenšovat jejich Azure SQL Database, jak se zvyšuje a snižuje zátěž. Zákazníci měli tradičně možnost programově škálovat nahoru a dolů pomocí PowerShellu, Azure Automation a dalších metod. Microsoft se tohoto nápadu chopil a vytvořil novou výpočetní vrstvu nazvanou Azure SQL Database Serverless, která se stala obecně dostupnou v listopadu 2019. Umožňují zákazníkovi nastavit minimální a maximální počet virtuálních jader. Tímto způsobem mohou vědět, že je vždy k dispozici minimální výpočetní úroveň, a mohou se vždy automaticky škálovat na určenou úroveň výpočtu. K dispozici je také možnost nakonfigurovat zpoždění automatické pauzy. Toto nastavení vám umožňuje automaticky pozastavit databázi po určité době, po kterou byla databáze neaktivní. Když databáze vstoupí do fáze autopauzy, výpočetní náklady klesnou na nulu a vznikají pouze náklady na úložiště. Celkové náklady na serverless jsou součtem nákladů na výpočetní techniku a nákladů na úložiště. Když je výpočetní využití mezi minimálním a maximálním limitem, výpočetní náklady jsou založeny na virtuálních jádrech a použité paměti. Pokud je skutečné využití nižší než minimální hodnota, výpočetní náklady jsou založeny na minimálním počtu virtuálních jader a minimální nakonfigurované paměti.
Bezserverová vrstva má potenciál ušetřit zákazníkům velké množství peněz a zároveň jim dává možnost poskytovat konzistentní uživatelskou zkušenost s databází a databázi je možné škálovat podle potřeby.
Elastické bazény
Azure SQL Database má model sdílených prostředků, který zákazníkům umožňuje vyšší využití prostředků. Zákazník může vytvořit elastický fond a přesunout databáze do tohoto fondu. Každá databáze pak může začít sdílet předdefinované zdroje v rámci tohoto fondu. Elastické fondy lze konfigurovat pomocí cenového modelu DTU nebo modelu vCore. Zákazníci určují množství prostředků, které elastický fond potřebuje ke zpracování zátěže pro všechny své databáze. Limity prostředků lze nakonfigurovat pro každou databázi, takže jedna databáze nemůže spotřebovat celý fond. Elastické fondy jsou skvělé pro zákazníky, kteří musí spravovat velké množství databází nebo scénářů pro více nájemců.
Nová konfigurace hardwaru pro zřízenou výpočetní vrstvu
Hardwarové konfigurace Gen4/Gen5 jsou považovány za „vyváženou paměť a výpočet“. To funguje dobře pro mnoho úloh SQL Server, ale vyskytly se případy použití pro nižší latenci CPU a vyšší takt pro zátěže náročné na CPU a potřebu vyšší paměti na vCore. Microsoft opět dodal a vytvořil hardwarovou konfiguraci optimalizovanou pro výpočet a paměť. Tyto jsou aktuálně v náhledu a jsou dostupné pouze v určitých oblastech.
V obecné zřízené vrstvě si můžete vybrat řadu Fsv2, která může poskytnout vyšší výkon CPU na vCore než hardware Gen 5. Celkově může velikost 72 vCore poskytnout vyšší výkon CPU než 80 vCore Gen 5 tím, že poskytuje nižší latenci CPU a vyšší takt. Řada Fsv2 má méně paměti a tempdb na vCore než Gen 5, takže to bude třeba vzít v úvahu.
V kriticky důležité podnikové vrstvě máte přístup k řadě M, která je optimalizována pro paměť. Řada M nabízí 29 GB na vCore ve srovnání s 5,1 GB na vCore v konfiguraci „balance memory and compute“. S řadou M můžete škálovat vCore až na 128, což by poskytlo až 3,7 TB paměti. Chcete-li povolit řadu M, musíte mít v současné době uzavřenou smlouvu Pay-As-You-Go nebo Enterprise Agreement a otevřít žádost o podporu. I poté je řada M v současné době dostupná pouze ve východních USA, severní Evropě, západní Evropě a západě USA 2 a může mít omezenou dostupnost v dalších regionech.
Závěr
Azure SQL Database je databázová platforma bohatá na funkce, která nabízí širokou škálu možností pro výpočty a škálování. Zákazníci mohou nakonfigurovat výpočet pro jednu databázi nebo elastický fond pomocí DTU nebo vCores. Pro databáze s velkým požadavkem na úložiště nebo s omezeným rozsahem čtení lze použít Hyperscale. Pro zákazníky s proměnlivými požadavky na pracovní zátěž lze serverless použít k automatickému škálování nahoru a dolů podle toho, jak se mění jejich požadavky na pracovní zátěž. Novinkou v Azure SQL Database je funkce náhledu hardwarové konfigurace optimalizované pro výpočet a paměť pro zákazníky, kteří potřebují procesor s nižší latencí nebo pro zákazníky s vysokými požadavky na paměť na CPU.
Další informace o prostředcích Azure najdete v mých předchozích článcích:
- Možnosti ladění výkonu databáze Azure SQL
- Úvahy o výkonu spravované instance Azure SQL
- Nové velikosti standardních vrstev Azure SQL Database
- Překlenutí mezery v Azure:spravované instance
- Migrace databází do Azure SQL Database