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 převzetí služeb při selhání spravované službou. Při absenci této konfigurace dochází u účtu ke ztrátě dostupnosti zápisu po celou dobu výpadku oblasti zápisu, protože ruční převzetí služeb 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 převzetí služeb při selhání se operace zápisu odesílají do aktuální oblasti zápisu a všechna č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 toho, aby je uživatelé zpřístupňuje 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 pokusy o zápisy za přechodné chyby, protože zápisy nejsou idempotentní. Sada SDK umožňuje uživatelům konfigurovat logiku opakování pro omezení. Podrobnosti o chybách, které se mají opakovat při návštěvě, najdete tady.
  • 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, na kterých běží klient Služby Azure Cosmos DB, a pokud je využití vysoké, vertikálně navyšte nebo navyšte kapacitu.
  • Pokud ke spuštění aplikace používáte virtuální počítač, povolte na virtuálním počítači akcelerované síťové služby , aby pomohly s kritickými body kvůli vysokému provozu a snížila latenci nebo zpoždění 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šete velikost stránky, abyste snížili požadovaný počet odezv. 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.