Sdílet prostřednictvím


Osvědčené postupy pro sadu Python SDK ve službě Azure Cosmos DB for NoSQL

PLATÍ PRO: NoSQL

Tato příručka obsahuje osvědčené postupy pro řešení sestavená pomocí nejnovější verze sady Python SDK pro Azure Cosmos DB for NoSQL. Tady uvedené osvědčené postupy pomáhají zlepšit latenci, zlepšit dostupnost a zvýšit celkový výkon vašich řešení.

Konfigurace účtu

  • Nezapomeňte aplikaci spustit ve stejné oblasti Azure jako účet služby Azure Cosmos DB, kdykoli je to možné, abyste snížili latenci. Povolte replikaci ve více než 2 oblastech ve vašich účtech pro zajištění nejlepší dostupnosti. U produkčních úloh povolte automatické převzetí služeb při selhání. Pokud není tato konfigurace nastavena, účet ztrácí dostupnost zápisu po celou dobu, kdy je oblast pro zápis mimo provoz, protože manuální převzetí při selhání nemůže uspět kvůli nedostatku připojení k oblasti. Další informace o tom, jak přidat více oblastí pomocí sady Python SDK, najdete v kurzu globální distribuce.

Využití sady SDK

  • Vždy používejte nejnovější verzi sady SDK služby Azure Cosmos DB, která je k dispozici pro optimální výkon.
  • Pro zajištění lepšího výkonu použijte jednu instanci CosmosClient po celou dobu životnosti aplikace.
  • preferred_locations Nastavte konfiguraci v klientovi cosmos. Během selhání se operace zápisu odesílají do současné oblasti zápisu a všechny operace čtení se odesílají do první oblasti v seznamu upřednostňovaných umístění. Další informace o místní mechanikě převzetí služeb při selhání najdete v tématu Řešení potíží s dostupností.
  • Přechodná chyba je chyba, která má základní příčinu, která se brzy vyřeší sama. Aplikace, které se připojují k databázi, by měly být vytvořené tak, aby očekávaly tyto přechodné chyby. Pokud je chcete zpracovat, implementujte do kódu logiku opakování, místo abyste je uživatelům zobrazovali jako chyby aplikace. Sada SDK má integrovanou logiku pro zpracování těchto přechodných selhání u opakovaných požadavků, jako jsou operace čtení nebo dotazování. Sada SDK nemůže opakovat zápisy při přechodných chybách, protože zápisy nejsou idempotentní. Sada SDK umožňuje uživatelům konfigurovat logiku opakovaných pokusů pro omezení. Pro podrobnosti o chybách, které je třeba zkusit znovu, klikněte zde.
  • Protokolování sady SDK slouží k zaznamenání diagnostických informací a řešení potíží s latencí.

Návrh dat

  • Poplatek za požadavek zadané operace koreluje přímo s velikostí dokumentu. Doporučujeme zmenšit velikost dokumentů, protože operace s velkými dokumenty stojí více než operace s menšími dokumenty.
  • Některé znaky jsou omezené a nelze je použít v některých identifikátorech: '/', '\', '?', '#'. Obecné doporučení je nepoužívat žádné speciální znaky v identifikátorech, jako je název databáze, název kolekce, ID položky nebo klíč oddílu, aby nedošlo k neočekávanému chování.
  • Zásady indexování služby Azure Cosmos DB také umožňují určit, které cesty k dokumentu se mají zahrnout nebo vyloučit z indexování pomocí cest indexování. Zajistěte, abyste vyloučili nepoužívané cesty z indexování pro rychlejší zápisy. Další informace najdete v tématu vytváření indexů pomocí ukázky sady SDK.

Vlastnosti hostitele

  • Kvůli nedostatku prostředků na klientském počítači můžete narazit na problémy s připojením nebo dostupností. Monitorujte využití procesoru na uzlech s klientem Azure Cosmos DB a pokud je využití vysoké, zvyšte kapacitu vertikálně nebo horizontálně.
  • Pokud ke spuštění aplikace používáte virtuální počítač, povolte Akcelerovanou síť na vašem virtuálním počítači, abyste pomohli s úzkými místy kvůli vysokému provozu a snížili latenci nebo nestabilitu procesoru. Můžete také zvážit použití vyššího koncového virtuálního počítače, ve kterém je maximální využití procesoru nižší než 70 %.
  • Ve výchozím nastavení se výsledky dotazu vrátí v blocích po 100 položkách nebo 4 MB, podle toho, jaký limit se dosáhne prvního. Pokud dotaz vrátí více než 100 položek, zvětšením velikosti stránky snížíte počet požadovaných komunikací. Při zvyšování velikosti stránky se zvyšuje spotřeba paměti.

Další kroky

Další informace o tipech pro zvýšení výkonu pro sadu Python SDK najdete v tématu Tipy pro zvýšení výkonu pro sadu Python SDK služby Azure Cosmos DB.

Další informace o návrhu aplikace pro škálování a vysoký výkon najdete v tématu Dělení a škálování ve službě Azure Cosmos DB.

Pokoušíte se naplánovat kapacitu migrace do služby Azure Cosmos DB? Informace o stávajícím databázovém clusteru můžete použít k plánování kapacity.