Sdílet prostřednictvím


Elastické fondy pomáhají spravovat a škálovat více databází ve službě Azure SQL Database

Platí pro:Azure SQL Database

Elastické fondy Azure SQL Database představují jednoduché nákladově efektivní řešení pro správu a škálování více databází s různými a nepředvídatelnými požadavky na využití. Databáze v elastickém fondu jsou na jednom serveru a sdílejí nastavený počet prostředků za nastavenou cenu. Elastické fondy ve službě SQL Database umožňují vývojářům softwaru jako služby (SaaS) optimalizovat výkon cen pro skupinu databází v rámci předepsaného rozpočtu a zároveň zajistit elasticitu výkonu pro každou databázi.

Co jsou SQL elastické bazény?

Vývojáři SaaS vytvářejí aplikace nad rozsáhlými datovými vrstvami s více databázemi. Typickým vzorem aplikace je zřízení izolované databáze pro každého zákazníka. Různí zákazníci ale často mají různý a nepředvídatelný způsob použití a je obtížné předpovědět požadavky na prostředky jednotlivých uživatelů databáze. Tradičně jste měli dvě možnosti:

  • Nadměrně poskytujte zdroje na základě špičkového využití a přeplaťte.
  • Nedostatečné pokrytí pro úsporu nákladů na úkor výkonu a spokojenosti zákazníků během špičkových období.

Tento problém řeší elastické fondy tím, že zajišťují potřebné výkonové prostředky pro databáze ve chvílích, kdy je potřebují. Poskytují jednoduchý mechanismus přidělování prostředků v mezích předvídatelného rozpočtu. Další informace o vzorech návrhu aplikací SaaS využívajících elastické fondy najdete v tématu vzory tenantů víceklientské architektury SaaS.

Důležité

Za elastické fondy se neúčtují žádné poplatky za databázi. Za každou hodinu, po kterou fond existuje na nejvyšší úrovni eDTU nebo vCores, vám bude účtováno, bez ohledu na využití nebo na to, zda byl fond aktivní méně než hodinu.

Elastické fondy umožňují zakoupit prostředky pro fond sdílený více databázemi, aby vyhovovaly nepředvídatelným obdobím využití jednotlivých databází. Prostředky pro fond můžete nakonfigurovat buď na základě nákupního modelu založeného na DTU, nebo nákupního modelu založeného na virtuálních jádrech. Agregované využití svých databází určuje požadavek na prostředky pro fond.

Množství prostředků dostupných pro fond je řízeno vaším rozpočtem. Všechno, co musíte udělat, je:

  • Přidejte do fondu databáze.
  • Volitelně můžete nastavit minimální a maximální prostředky pro databáze v nákupním modelu DTU nebo vCore.
  • Nastavte zdroje fondu na základě rozpočtu.

Fondy můžete využít k bezproblémovému růstu vaší služby od štíhlého startupu až po vyspělou firmu v neustále rostoucím měřítku.

V rámci fondu můžou jednotlivé databáze flexibilně využívat prostředky v rámci stanovených parametrů. V případě velkého zatížení může databáze spotřebovávat více prostředků, aby splňovala poptávku. Databáze pod lehkým zatížením spotřebovávají méně a databáze bez zatížení spotřebovávají žádné prostředky. Zřizování prostředků pro celý fond místo pro izolované databáze zjednodušuje úlohy správy. Navíc máte předvídatelný rozpočet pro bazén.

Do existujícího fondu lze přidat více prostředků s minimálními přerušeními. Pokud už nepotřebujete další prostředky, můžete je kdykoli odebrat z existujícího fondu. Můžete také přidávat nebo odebírat databáze z fondu. Pokud je databáze předvídatelně nedostatečně využitá, můžete ji přesunout ven.

Poznámka:

Když přesunete databáze do elastického fondu nebo z něj ven, nedojde k žádnému výpadku s výjimkou krátkého období (v řádu sekund), kdy jsou připojení k databázi na konci operace přerušena.

Kdy zvážit elastický fond SQL Database?

Pooly jsou vhodné pro velké množství databází s konkrétními vzory využití. Tento model je charakterizován nízkým průměrným využitím s občasnými špičkami využití pro danou databázi. Naopak více databází s trvalým středním využitím by nemělo být umístěné ve stejném elastickém fondu.

Čím více databází můžete přidat do fondu, tím větší jsou úspory. V závislosti na způsobu využití aplikace je možné vidět úspory s co nejméně dvěma databázemi S3.

Následující části vám pomohou pochopit, jak vyhodnotit, zda vaše specifická kolekce databází může mít prospěch z toho, že bude v poolu. Příklady používají fondy úrovně Standard, ale stejné principy platí pro elastické fondy v rámci jiných úrovní služby.

Vyhodnocení vzorů využití databáze

Následující obrázek ukazuje příklad databáze, která tráví většinu času v nečinnosti, ale pravidelně má občasné výkyvy aktivity. Tento způsob využití je vhodný pro bazén.

Diagram znázorňující jednu databázi vhodnou pro použití ve fondu.

Graf znázorňuje využití DTU přes jednu hodinu od 12:00 do 1:00, kde každý datový bod má interval 1 minutu. V 12:10 db1 dosahuje až 90 DTU, ale celkové průměrné využití je menší než pět DTU. Ke spuštění této úlohy v jedné databázi se vyžaduje velikost výpočetních prostředků S3, ale tato velikost ponechá většinu prostředků nevyužitých během období nízké aktivity.

Fond umožňuje sdílení těchto nepoužívaných jednotek DTU napříč několika databázemi. Pool snižuje potřebné jednotky DTU a celkové náklady.

Předpokládejme, že na základě předchozího příkladu mají jiné databáze podobné vzory využití jako DB1. Na následujících dvou obrázcích se využití 4 databází a 20 databází vrství do stejného grafu, aby bylo znázorněno nepřekrývání povahy jejich využití v průběhu času pomocí nákupního modelu založeného na DTU:

Graf, který znázorňuje čtyři databáze se způsobem využití vhodným pro skupinu

Graf znázorňující 20 databází se vzorem využití vhodným pro fond

Černá čára v předchozím grafu znázorňuje agregované využití DTU ve všech 20 databázích. Tento řádek ukazuje, že celkové využití DTU nikdy nepřekročí 100 DTU a znamená, že 20 databází může v tomto období sdílet 100 jednotek eDTU. Výsledkem je 20násobné snížení jednotek DTU a 13násobné snížení ceny ve srovnání s umístěním každé databáze do výpočetní velikosti S3 jednotlivých databází.

Tento příklad je ideální, protože:

  • Ukazuje velké rozdíly mezi využitím ve špičce a průměrným využitím jednotlivých databází.
  • Špičky využití pro jednotlivé databáze nastávají v různých časových okamžicích.
  • Jednotky eDTU jsou sdílené mezi mnoha databázemi.

V nákupním modelu DTU závisí cena fondu na množství eDTUs fondu. Zatímco jednotková cena eDTU pro fond je 1,5krát větší než jednotková cena DTU pro jednu databázi, jednotky eDTU fondu můžou sdílet mnoho databází a je potřeba méně celkových jednotek eDTU. Tyto rozdíly v cenách a sdílení jednotek eDTU tvoří základ potenciálu cenových úspor, které skupiny mohou nabídnout.

V nákupním modelu virtuálních jader je jednotková cena virtuálních jader pro elastické fondy stejná jako jednotková cena virtuálních jader pro jednotlivé databáze.

Jak zvolit správnou velikost bazénu?

Nejlepší velikost fondu závisí na agregovaných prostředcích potřebných pro všechny databáze ve fondu. Potřebujete určit:

  • Maximální výpočetní prostředky využívané všemi databázemi ve fondu. Výpočetní zdroje se řídí podle eDTU nebo vCores v závislosti na vašem výběru způsobu nákupu.
  • Maximální počet bajtů úložiště využitých všemi databázemi ve fondu

Informace o úrovních služeb a omezeních prostředků v jednotlivých nákupních modelech najdete v nákupním modelu založeném na DTU nebo nákupním modelu založeném na virtuálních jádrech.

Následující kroky vám můžou pomoct odhadnout, jestli je fond cenově výhodnější než jednoúčelové databáze:

  1. Odhad počtu jednotek eDTU nebo vCore potřebných pro fond:

    1. V případě nákupního modelu založeného na jednotkách DTU:
      1. MAX(<celkový počet databází × průměrné využití DTU na databázi>, <počet současně vrcholících databází × využití DTU ve špičce na databázi>)
    2. V případě nákupního modelu založeného na virtuálních jádrech:
      1. MAX(<celkový počet databází × průměrné využití virtuálních jader na databázi>, <počet databází s vrcholnou souběžnou zátěží × vrcholné využití virtuálních jader na databázi>)
  2. Celkovou velikost úložiště potřebnou pro fond můžete odhadnout sečtením velikosti dat potřebných pro všechny databáze ve fondu. U nákupního modelu DTU určete velikost fondu eDTU, která poskytuje toto množství úložiště.

  3. V případě nákupního modelu založeného na jednotkách DTU použijte vyšší odhadovaný počet eDTU z kroků 1 a 2.

    1. V případě nákupního modelu založeného na virtuálních jádrech použijte odhadovaný počet virtuálních jader z kroku 1.
  4. Podívejte se na stránku s cenami služby SQL Database.

    1. Najděte nejmenší velikost skupiny, která je větší než odhad z kroku 3.
  5. Porovnejte cenu fondu z kroku 4 s použitím odpovídajících velikostí výpočetních prostředků pro jednotlivé databáze.

Důležité

Pokud počet databází ve fondu dosáhne maximální podpory, nezapomeňte zvážit správu prostředků v hustých elastických fondech.

Vlastnosti pro každou databázi

Volitelně můžete nastavit vlastnosti pro každou databázi tak, aby upravily vzorce spotřeby prostředků v elastických fondech. Další informace najdete v dokumentaci k omezením prostředků pro elastické fondy DTU a elastické fondy vCore.

Použití dalších funkcí služby SQL Database v kombinaci s elastickými fondy

S elastickými fondy můžete používat další funkce služby SQL Database.

Elastické úlohy a elastické fondy

Pokud máte fond, jsou správní úkoly zjednodušeny pomocí spouštění skriptů v elastických úlohách. Elastická úloha eliminuje většinu tedium spojené s velkým počtem databází.

Další informace o dalších databázových nástrojích pro práci s více databázemi najdete v tématu Horizontální navýšení kapacity pomocí služby Azure SQL Database.

Elastické fondy Hyperscale

Přehled elastických fondů Hyperscale ve službě Azure SQL Database je obecně dostupný.

Instance jen pro čtení se škálováním

Nemůžete použít škálovatelné instance jen pro čtení služby Azure SQL Database s elastickými dotazy.

Možnosti provozní kontinuity pro databáze v elastickém fondu

Databáze ve fondu obecně podporují stejné funkce provozní kontinuity, které jsou dostupné pro izolované databáze:

  • Obnovení k určitému bodu v čase: Tato metoda využívá automatické zálohy databáze k obnovení databáze v rámci fondu na specifický časový okamžik. Viz obnovení k určitému bodu v čase.
  • Geografické obnovení: Geografické obnovení poskytuje výchozí možnost obnovení, pokud je databáze nedostupná kvůli incidentu v oblasti, kde je databáze hostovaná. Viz Geo-restore.
  • Aktivní geografická replikace: U aplikací, které mají agresivnější požadavky na obnovení než geografické obnovení, můžete nakonfigurovat aktivní geografickou replikaci nebo skupinu převzetí služeb při selhání.

Další informace o výše uvedených strategiích najdete v tématu pokyny k zotavení po havárii.

Vytvořte nový elastický fond SQL Database pomocí portálu Azure.

Elastický fond můžete vytvořit na webu Azure Portal dvěma způsoby:

  • Vytvořte elastický fond a vyberte existující nebo nový server.
  • Vytvořte elastický fond z existujícího serveru.

Pokud chcete vytvořit elastický fond a vybrat existující nebo nový server:

  1. Přejděte na portál Azure a vytvořte elastický fond. Vyhledejte a vyberte Azure SQL.

  2. Výběrem Vytvořit otevřete podokno Vybrat možnost nasazení SQL. Pokud chcete zobrazit další informace o elastických fondech, na dlaždici Databáze vyberte Zobrazit podrobnosti.

  3. Na dlaždici Databáze v rozevíracím seznamu Typ prostředku vyberte Elastický fond. Pak vyberte Vytvořit.

    Snímek obrazovky znázorňující vytvoření elastického fondu

  4. Pak můžete elastický fond spravovat prostřednictvím webu Azure Portal, PowerShellu, Azure CLI, rozhraní REST API nebo T-SQL.

Vytvoření elastického fondu z existujícího serveru:

  1. Přejděte na existující server a výběrem možnosti Nový fond vytvořte fond přímo na daném serveru.

    Poznámka:

    Na serveru můžete vytvořit více fondů, ale nemůžete do stejného fondu přidávat databáze z různých serverů.

    Úroveň služby fondu určuje funkce dostupné pro elastické zdroje ve fondu a maximální množství prostředků dostupných pro každou databázi. Další informace najdete v tématu Omezení prostředků pro elastické fondy v modelu DTU. Omezení prostředků založených na virtuálních jádrech pro elastické fondy najdete v tématu Omezení prostředků založených na virtuálních jádrech – elastické fondy.

  2. Pokud chcete nakonfigurovat prostředky a ceny fondu, vyberte Konfigurovat fond. Pak vyberte úroveň služby, přidejte do fondu databáze a nakonfigurujte limity prostředků pro fond a jeho databáze.

  3. Po nakonfigurování fondu vyberte Použít, pojmenujte fond a výběrem ok vytvořte fond.

  4. Pak můžete elastický fond spravovat prostřednictvím webu Azure Portal, PowerShellu, Azure CLI, rozhraní REST API nebo T-SQL.

Monitorování elastického fondu a jeho databází

Na webu Azure Portal můžete monitorovat využití elastického fondu a databází v rámci tohoto fondu. Můžete také provést řadu změn ve svém elastickém fondu a všechny změny odeslat zároveň. Mezi tyto změny patří přidání nebo odebrání databází, změna nastavení elastického fondu nebo změna nastavení databáze.

Můžete použít integrované nástroje pro monitorování výkonu a upozorňování v kombinaci s hodnocením výkonu. SQL Database může také vypouštět metriky a protokoly prostředků pro snadnější monitorování.

Případové studie zákazníků

  • SnelStart: SnelStart používal elastické fondy s SQL databázemi k rychlému rozšíření svých obchodních služeb o 1 000 nových SQL databází měsíčně.
  • Umbraco: Umbraco používá elastické fondy s SQL Database k rychlému zřizování a škálování služeb pro tisíce tenantů v cloudu.