Share via


Veelgestelde vragen over geïntegreerde Azure Cosmos DB-cache

VAN TOEPASSING OP: NoSQL

De geïntegreerde Azure Cosmos DB-cache is een in-memory cache die is ingebouwd in Azure Cosmos DB. In dit artikel vindt u antwoorden op veelgestelde vragen over de geïntegreerde Cache van Azure Cosmos DB.

Veelgestelde vragen

Waarom is voor de geïntegreerde cache een toegewezen gateway vereist?

Als u verbinding hebt gemaakt met Azure Cosmos DB met behulp van de gatewaymodus, hebt u de standaardgateway gebruikt. Hoewel de Azure Cosmos DB-back-end (uw ingerichte doorvoer en opslag) toegewezen capaciteit per container heeft, wordt de standaardgateway gedeeld tussen veel klanten. Het is praktisch voor veel klanten om een standaardgateway te delen, omdat de rekenresources die door elke afzonderlijke klant worden verbruikt, minimaal zijn. Omdat de geïntegreerde cache specifiek is voor uw Azure Cosmos DB-account en aanzienlijke CPU en geheugen vereist, zijn toegewezen gatewayknooppunten vereist.

Wat is een toegewezen gateway?

Een toegewezen gateway is rekenkracht aan de serverzijde die een front-end is voor gegevens in een Azure Cosmos DB-account. Wanneer u verbinding maakt met uw toegewezen gateway-eindpunt met behulp van de gatewaymodus, verzendt uw toepassing een aanvraag naar de toegewezen gateway, waarmee de aanvraag vervolgens naar verschillende back-endpartities wordt gerouteerd. Het gebruik van de directe modus met de toegewezen gateway wordt ondersteund, maar deze aanvragen gebruiken de geïntegreerde cache niet.

Biedt het gebruik van de toegewezen gateway andere prestatievoordelen ten opzichte van het gebruik van de standaardgateway?

Over het algemeen hebben aanvragen die worden gerouteerd door de toegewezen gateway een iets lagere en consistentere latentie dan aanvragen die worden gerouteerd door de standaardgateway. Zelfs aanvragen die niet gebruikmaken van de geïntegreerde cache, hebben nog steeds een iets lagere latentie dan de standaardgateway.

Wat voor latentie moet ik verwachten van de geïntegreerde cache?

Een aanvraag die wordt geleverd door de geïntegreerde cache is snel omdat de in de cache opgeslagen gegevens in het geheugen worden opgeslagen op de toegewezen gateway, in plaats van op de back-end.

Voor leesbewerkingen in cachepunten moet u een mediaanlatentie van 2-4 ms verwachten. Voor query's in de cache is latentie afhankelijk van de query. De querycache werkt door het antwoord van de query-engine op te cachen voor een bepaalde query. Dit antwoord wordt vervolgens teruggestuurd naar de SDK voor verwerking. Voor eenvoudige query's is minimale hoeveelheid werk in de SDK vereist en zijn mediaanlatenties van 2-4 ms gebruikelijk. Complexere query's met GROUP BY of DISTINCT vereisen meer verwerking in de SDK, zodat latentie mogelijk hoger is, zelfs met de querycache.

Als u eerder verbinding maakt met Azure Cosmos DB met de directe modus en overschakelt naar het maken van verbinding met de toegewezen gateway, ziet u mogelijk een lichte latentieverhoging voor sommige aanvragen. Voor het gebruik van de gatewaymodus moet een aanvraag worden verzonden naar de gateway (in dit geval de toegewezen gateway) en vervolgens naar de back-end worden gerouteerd. De directe modus, zoals de naam al aangeeft, stelt de client in staat om rechtstreeks met de back-end te communiceren, waardoor een extra hop wordt verwijderd. Er is geen SLA voor latentie voor aanvragen die gebruikmaken van de toegewezen gateway.

Als uw app eerder directe modus heeft gebruikt, zijn de latentievoordelen van de geïntegreerde cache alleen in de volgende scenario's aanzienlijk:

  • Leeslatentie van punten voor grote items (> 16 kB)
  • Hoge RU of complexe query's

Als uw app eerder de gatewaymodus gebruikte met de standaardgateway, biedt de geïntegreerde cache in bijna alle scenario's minder latentie.

Wordt de SLA voor beschikbaarheid van Azure Cosmos DB uitgebreid naar de toegewezen gateway en geïntegreerde cache?

Voor scenario's waarvoor hoge beschikbaarheid is vereist en om te worden gedekt door de SLA voor beschikbaarheid van Azure Cosmos DB, moet u ten minste drie toegewezen gatewayknooppunten inrichten. Als er bijvoorbeeld één toegewezen gatewayknooppunt nodig is in productie, moet u twee extra toegewezen gatewayknooppunten inrichten om rekening te houden met mogelijke downtime, storingen en upgrades. Als er slechts één toegewezen gatewayknooppunt is ingericht, verliest u tijdelijk de beschikbaarheid in deze scenario's. Zorg er bovendien voor dat uw toegewezen gateway voldoende knooppunten heeft om uw workload te bedienen.

De geïntegreerde cache is momenteel alleen beschikbaar voor API voor NoSQL. Bent u van plan deze ook voor andere API's uit te brengen?

Het uitbreiden van de geïntegreerde cache buiten API voor NoSQL is gepland op de lange termijn roadmap, maar valt buiten het oorspronkelijke bereik van de geïntegreerde cache.

Welke consistentie ondersteunt de geïntegreerde cache?

De geïntegreerde cache ondersteunt zowel sessie- als uiteindelijke consistentie. U kunt ook de optionele MaxIntegratedCacheStaleness configureren, waarmee een bovengrens wordt geplaatst voor gegevens in de cache.

Volgende stappen