Sdílet prostřednictvím


Obcházení omezení prostřednictvím dělení

Používejte dělení, abyste se vyhnuli omezením databází, sítě a výpočtů.

V cloudu mají všechny služby omezení schopnosti škálování. Omezení služeb Azure jsou uvedené v tématu Limity, kvóty a omezení předplatného a služeb Azure. Omezení zahrnují počet jader, velikost databáze, propustnost dotazů a propustnost sítě. Pokud se váš systém dostatečně zvětší, můžete narazit na jedno nebo několik těchto omezení. Pokud chcete tato omezení obejít, použijte dělení.

Existuje mnoho způsobů, jak jde systém rozdělit, například:

  • Rozdělte databázi, abyste se vyhnuli omezením na velikost databáze, vstupně-výstupní operace s daty nebo počet souběžných relací.

  • Rozdělte frontu nebo sběrnici zpráv, abyste se vyhnuli omezením na počet požadavků nebo počet souběžných připojení.

  • Rozdělte webovou aplikaci služby App Service, abyste se vyhnuli omezením počtu instancí na plán služby App Service.

Databázi můžete rozdělit na oddíly horizontálně, vertikálně, nebo funkčně.

  • Při horizontálním dělení obsahuje každá oblast data pro podmnožinu celkové množiny dat. Oddíly sdílejí stejné schéma dat. Například zákazníci, jejichž názvy začínají na A–M, přejdou do jednoho oddílu, N–Z do jiného oddílu.

  • Při vertikálním dělení každý oddíl obsahuje podmnožinu polí pro položky v úložišti dat. Například můžete dát často používaná pole do jednoho oddílu a méně používaná pole do jiného.

  • Při funkčním dělení jsou data rozdělená podle způsobu použití v jednotlivých ohraničených kontextech v rámci systému. Například data o fakturách uložíte v jednom oddílu a data inventáře produktů v jiném. Schémata jsou nezávislá.

Další podrobné pokyny najdete v tématu Dělení dat.

Doporučení

Rozdělujte různé části aplikace. Databáze jsou zřejmí kandidáti pro rozdělení do oddílů, ale také vezměte v úvahu úložiště, mezipaměť, fronty a výpočetní instance.

Navrhněte klíč oddílu, abyste se vyhnuli hotspotům. Pokud dělíte databázi, ale jeden horizontální oddíl stále získává většinu požadavků, tak problém není vyřešený. V ideálním případě se zatížení rozdělí rovnoměrně mezi všechny oddíly. Například používejte k dělení ID zákazníka, a ne první písmeno jména zákazníka, protože některé písmena jsou častější. Stejný princip platí při dělení fronty zpráv. Vyberte klíč oddílu, který vede k rovnoměrnému rozdělení zpráv mezi několik front. Další informace najdete v tématu Sharding.

Používejte k dělení omezení služeb a předplatného Azure. Jednotlivé komponenty a služby mají omezení, ale existují také omezení pro předplatná a skupiny prostředků. Pro opravdu velké aplikace může být nutné provádět dělení na základě těchto omezení.

Rozdělujte na různých úrovních. Vezměte v úvahu databázový server nasazený na virtuálním počítači. Virtuální počítač má virtuální pevný disk, který je založený na službě Azure Storage. Účet úložiště patří k předplatnému Azure. Všimněte si, že každý krok v hierarchii má omezení. Databázový server může mít omezení fondu připojení. Virtuální počítače mají omezení počtu procesorů a sítě. Storage má omezení IOPS. Předplatné má omezení na počet jader virtuálního počítače. Obecně je snazší provádět dělení níže v hierarchii. Na úrovni předplatného by mělo být potřeba dělit jenom velké aplikace.