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 elastické fondy SQL?

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:

  • Overprovision resources based on peak usage and overpay.
  • Zřízení pro úsporu nákladů na úkor výkonu a spokojenosti zákazníků během špičky.

Elastické fondy tento problém řeší tím, že zajistí, aby databáze získaly prostředky výkonu, které potřebují, 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 pro aplikace SaaS využívající elastické fondy najdete v tématu Vzory návrhu pro víceklientské aplikace SaaS s SQL Database.

Důležité

Za elastické fondy se neúčtují žádné poplatky za databázi. Každou hodinu se vám účtuje, že fond existuje na nejvyšší úrovni eDTU nebo virtuálních jader bez ohledu na využití nebo na to, jestli byl fond aktivní za 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 virtuálních jader.
  • Nastavte prostředky 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 fond.

Do existujícího fondu je možné přidat další prostředky s minimálními výpadky. 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 nebo z elastického fondu, nedojde k žádnému výpadku s výjimkou krátkého období (v řádu sekund), kdy se připojení k databázi na konci operace zahodí.

Kdy zvážit elastický fond SQL Database?

Fondy jsou vhodné pro velký počet databází se specifický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ás seznámí s postupy, pomocí kterých můžete vyhodnotit, jestli pro vaši konkrétní kolekci databází bude použití fondu přínosné. Příklady používají fondy Úrovně Standard, ale stejné principy platí pro elastické fondy v jiných úrovních 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 nečinnosti, ale pravidelně se s aktivitami špičkuje. Tento model využití je vhodný pro fond.

Graf znázorňující jednu databázi, která je vhodná pro fond

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. Fond 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 znázorňující čtyři databáze se vzorem využití vhodným pro fond

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 20 časových zkrácení jednotek DTU a 13-time snížení ceny v porovnání s umístěním jednotlivých databází do velikostí výpočetních prostředků S3 pro izolované databáze.

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 je cena fondu funkcí eDTU 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 jsou základem potenciálních úspor, které fondy mohou nabídnout.

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

Návody zvolit správnou velikost fondu?

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í prostředky se indexují podle eDTU nebo virtuálních jader v závislosti na vašem výběru nákupního modelu.
  • 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 virtuálních jader 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 DTU × průměrné využití DTU na databázi>,< počet souběžně vrcholných DTU × 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 souběžně vrcholných databází × 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 fondu 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 izolované 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 virtuálních jader .

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

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

Elastické úlohy a elastické fondy

U fondu jsou úlohy správy zjednodušené díky 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 SQL Database.

Elastické fondy Hyperscale

Elastické fondy Azure SQL Database Hyperscale jsou obecně dostupné.

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: Obnovení k určitému bodu v čase používá automatické zálohy databáze k obnovení databáze ve fondu k určitému bodu v čase. 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 Geografické obnovení.
  • 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 pokynech k zotavení po havárii služby Azure SQL Database.

Vytvoření nového elastického fondu SLUŽBY SQL Database pomocí webu Azure Portal

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 web Azure Portal a vytvořte elastický fond. Vyhledejte a vyberte Azure SQL.

  2. Výběrem možnosti Vytvořit otevřete podokno možností Vybrat 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 vyberte v rozevíracím seznamu Typ prostředku 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é prostředky 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 sadu změn elastického fondu a odeslat všechny změny najednou. 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é generovat metriky a protokoly prostředků pro snadnější monitorování.

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

  • SnelStart: SnelStart používal elastické fondy s SQL Database k rychlému rozšíření svých obchodních služeb rychlostí 1 000 nových databází SQL za měsíc.
  • 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.
  • Daxko/CSI: Daxko/CSI používá elastické fondy se službou SQL Database k urychlení vývojového cyklu a ke zlepšení služeb a výkonu zákazníků.