Nejčastější dotazy k integrované mezipaměti Azure Cosmos DB

PLATÍ PRO: NoSQL

Integrovaná mezipaměť Služby Azure Cosmos DB je mezipaměť v paměti, která je integrovaná ve službě Azure Cosmos DB. Tento článek odpovídá na nejčastější dotazy týkající se integrované mezipaměti služby Azure Cosmos DB.

Nejčastější dotazy

Proč integrovaná mezipaměť vyžaduje vyhrazenou bránu?

Pokud jste se ke službě Azure Cosmos DB připojili pomocí režimu brány, použili jste standardní bránu. Zatímco back-end služby Azure Cosmos DB (vaše zřízená propustnost a úložiště) má vyhrazenou kapacitu na kontejner, standardní brána se sdílí mezi mnoha zákazníky. Pro mnoho zákazníků je praktické sdílet standardní bránu, protože výpočetní prostředky spotřebované jednotlivými zákazníky jsou minimální. Vzhledem k tomu, že je integrovaná mezipaměť specifická pro váš účet služby Azure Cosmos DB a vyžaduje značné využití procesoru a paměti, vyžaduje vyhrazené uzly brány.

Co je vyhrazená brána?

Vyhrazená brána je výpočetní prostředky na straně serveru, které jsou front-endem pro data v účtu služby Azure Cosmos DB. Když se připojíte k vyhrazenému koncovému bodu brány pomocí režimu brány, vaše aplikace odešle požadavek na vyhrazenou bránu, která pak požadavek přesměruje do různých back-endových oddílů. Použití přímého režimu s vyhrazenou bránou se podporuje, ale tyto požadavky nebudou používat integrovanou mezipaměť.

Nabízí používání vyhrazené brány nějaké další výhody z hlediska výkonu oproti standardní bráně?

Obecně platí, že požadavky směrované vyhrazenou bránou budou mít o něco nižší a konzistentnější latenci než požadavky směrované standardní bránou. Dokonce i požadavky, které nepoužívají integrovanou mezipaměť, budou mít stále o něco nižší latenci než standardní brána.

Jaký druh latence mám očekávat od integrované mezipaměti?

Požadavek obsluhovaný integrovanou mezipamětí je rychlý, protože data uložená v mezipaměti jsou uložená v paměti ve vyhrazené bráně, nikoli v back-endu.

U čtení bodů z mezipaměti byste měli očekávat střední latenci 2–4 ms. U dotazů uložených v mezipaměti závisí latence na dotazu. Mezipaměť dotazů funguje tak, že se odpověď dotazovacího modulu pro konkrétní dotaz ukládá do mezipaměti. Tato odpověď se pak odešle zpět na straně klienta do sady SDK ke zpracování. U jednoduchých dotazů se vyžaduje minimální práce v sadě SDK a jsou typické střední latence 2–4 ms. Složitější dotazy s GROUP BY nebo DISTINCT vyžadují více zpracování v sadě SDK, takže latence může být vyšší, a to i s mezipamětí dotazů.

Pokud jste se dříve připojovali ke službě Azure Cosmos DB v přímém režimu a přepnuli jste na připojení pomocí vyhrazené brány, můžete u některých požadavků zaznamenat mírné zvýšení latence. Použití režimu brány vyžaduje, aby se požadavek odeslal do brány (v tomto případě do vyhrazené brány) a pak se odpovídajícím způsobem směroval do back-endu. Přímý režim, jak název napovídá, umožňuje klientovi komunikovat přímo s back-endem, čímž se odebere další segment směrování. Pro požadavky používající vyhrazenou bránu neexistuje žádná smlouva SLA s latencí.

Pokud vaše aplikace dříve používala přímý režim, výhody latence integrované mezipaměti budou významné pouze v následujících scénářích:

  • Latence čtení v bodech u velkých položek (> 16 kB)
  • Vysoký počet RU nebo složité dotazy

Pokud vaše aplikace dříve používala režim brány se standardní bránou, bude integrovaná mezipaměť nabízet snížení latence téměř ve všech scénářích.

Vztahuje se smlouva SLA dostupnosti služby Azure Cosmos DB na vyhrazenou bránu a integrovanou mezipaměť?

Pro scénáře, které vyžadují vysokou dostupnost, a aby se na ně vztahovala smlouva SLA o dostupnosti služby Azure Cosmos DB, byste měli zřídit alespoň 3 vyhrazené uzly brány. Pokud například v produkčním prostředí potřebujete jeden vyhrazený uzel brány, měli byste zřídit dva další vyhrazené uzly brány, aby se zohlednily případné výpadky, výpadky a upgrady. Pokud je zřízen pouze jeden vyhrazený uzel brány, dojde v těchto scénářích k dočasné ztrátě dostupnosti. Dále se ujistěte, že vaše vyhrazená brána má dostatek uzlů pro obsluhu úloh.

Integrovaná mezipaměť je momentálně dostupná jenom pro rozhraní API pro NoSQL. Plánujete ho vydat i pro další rozhraní API?

Rozšíření integrované mezipaměti nad rámec rozhraní API pro NoSQL se plánuje v dlouhodobém plánu, ale přesahuje počáteční rozsah integrované mezipaměti.

Jakou konzistenci podporuje integrovaná mezipaměť?

Integrovaná mezipaměť podporuje konzistenci relací i případné konzistence. Můžete také nakonfigurovat volitelnou funkci MaxIntegratedCacheStaleness, která u dat uložených v mezipaměti umístí horní mez.

Další kroky