Differentieer OData4 cachegedrag met Power BI

Go to English version

Met behulp van een OData4 feed op Invantive Cloud kunt u data ophalen van meer dan 70 (cloud) platformen met Power BI en Power Query. Invantive Cloud maakt gebruik van verschillende technieken om de betrouwbaarheid en prestaties van het ophalen van data in Power BI en Power Query te verbeteren. Deze optimalisatietechnieken zijn ook van toepassing op andere OData4 consumenten zoals https://access-odata.com.

Zorg ervoor dat je de structuur van Invantive Cloud begrijpt alvorens verder te gaan. De structuur wordt beschreven op Invantive Cloud Structure.

Wat zijn de algemene caches van Invantive Cloud?

De algemene caches zijn beschikbaar met alle connectoren. De algemene caches omvatten niet het gebruik van Data Replicator of het gebruik van connector-specifieke caches zoals de Incremental API’s op Exact Online.

Er zijn twee algemene caches:

  • HTTP-diskcache: onthoudt in een versleuteld formaat het antwoord van het cloud-platform op een specifiek verzoek.
  • OData response cache: onthoudt in een versleuteld formaat het antwoord op een OData4 verzoek, zoals berekend uit verschillende data containers.

Dit artikel legt uit hoe u de algemene caches kunt finetunen.

Wat is de HTTP-diskcache?

De HTTP-diskcache onthoudt in een versleuteld formaat het antwoord van het cloudplatform op een specifiek verzoek. De diskcache is van toepassing op alle queries op een database in Invantive Cloud. Per query kan een ander cachegedrag worden bereikt door gebruik te maken van de http_disk_cache en http_memory_cache hint in Invantive SQL. Bijvoorbeeld:

select /*+ http_memory_cache(true, interval '5 seconds') */ *
from   teamleader.v1.deals

Details over hints kunnen gevonden worden in de Invantive SQL grammatica. De HTTP-diskcache is alleen van toepassing op cloudplatformen die benaderd worden via HTTPS

De standaardlevensduur van de HTTP-diskcache op nieuwe Invantive Cloud databases is 16 uur (57.600 seconden). De levensduur kan handmatig worden gewijzigd in de databasedefinitie op Invantive Cloud.

Zodra de data is opgehaald, kan het gebruikt worden in een query op de SQL Editor, in Invantive Cloud applicaties en ook gedownload worden met behulp van Invantive Bridge Online in elke OData4 afnemer.

Wat is de OData-responscache?

De OData-responsecache onthoudt in een versleuteld formaat het antwoord op een OData4-verzoek, zoals berekend uit verschillende gegevenscontainers. Voor elk OData4-verzoek wordt een unieke vingerafdruk bepaald en de responscache wordt gecontroleerd op een antwoord dat nog voldoende vers is volgens de OData-responscache-instelling. Terwijl een HTTP-schijfcache-element soms een zeer klein antwoord opslaat, kan een antwoord in een responscache zeer groot zijn. Zo kan een zoekopdracht over 1.000 bedrijven na versleuteling en compressie 1 GB groot zijn.

Deze response cache-objecten kunnen zonder enige vertraging met snelheden van meer dan 500 MB/s teruggestuurd worden naar de OData4-afnemer. Dit biedt vooral voordelen voor ontwikkelaars bij het maken van rapporten en verslagen met een gedeelde gegevensset. Gedeelde gegevenssets moeten echter worden ingevoerd op het Power BI-platform voor grote gemeenschappen en/of gegevenssets om te voorkomen dat Invantive Cloud-gebaseerde snelheidslimieten worden toegepast.

De OData-cache kan geleegd worden via de optie “Cache resetten” in het menu rechtsboven op Invantive Bridge Online. Deze optie is bedoeld voor incidenteel gebruik.

Hoe verander ik de algemene caches?

Om de algemene caches te veranderen voer je de volgende stappen uit:

  • Navigeer naar de virtuele database in Invantive Cloud.
  • Navigeer naar de HTTP-diskcache maximum leeftijd.
  • Voer de maximale leeftijd in seconden in, met een minimum van 1 en maximum van 864000 (10 dagen).
  • Ga naar de OData Responsecache maximum leeftijd.
  • Voer de maximale leeftijd in seconden in, met een minimum van 1 en een maximum van 864000 (10 dagen).

Een beheerder kan ook beslissen om de HTTP-schijfcache volledig uit te schakelen. De OData-responscache kan niet worden uitgeschakeld.

Een levensduur van de cache die korter is dan de waarde van “Maximale cache levensduur voor Bridge Online in seconden” in de abonnementsvoorwaarden wordt genegeerd en vervangen door de waarde van “Maximale cache levensduur voor Bridge Online in seconden”. Voor de meeste commerciële abonnementsvormen is de standaard minimumwaarde 1 uur (3.600 seconden) zoals zichtbaar op Invantive Cloud:

Het onderstaande scherm toont de maximale leeftijd weer van de cache-items die zijn opgeslagen in de algemene caches zoals gedefinieerd op een database:

Update Response Cache mei 2022

Sinds kort is het ook mogelijk om de cache handmatig te legen, zodat de gebruiker ook zelf kan bepalen dat echt verse data nodig zijn. Gebruik hiervoor de optie “Reset cache” in het menu rechtsboven van Invantive Bridge Online:

image