OData – labākā prakse un problēmu novēršana
Izmantojiet OData klientu maksimāli efektīvi, ievērojot šos labākās prakses un problēmu novēršanas ieteikumus.
Veiktspēja
OData veiktspēja ir atkarīga no tā, kāda veida datiem jūs piekļūstat. Piemēram, 1 miljona datu punktu nolasīšana aizņem aptuveni no 2:30 līdz 3:00 minūtēm (6 tūkstoši datu punktu sekundē). Katra pieprasījuma apstrāde aizņem vidēji 120 milisekundes, un OData klients var pievienot virstēriņus par apstrādi un darbu ar datiem.
Ievērojiet tālāk norādītos vispārīgos labākās prakses ieteikumus, lai nodrošinātu labāko un uzticamāko veiktspēju.
- Neizmantojiet izteiksmes ar
OR
vai paplašināmas tabulas. - Kad vien iespējams, izmantojiet vairākus vaicājumus.
- Izmantojiet inkrementālu atsvaidzināšanu.
- Ja tas ir iespējams, sadaliet datu kopas.
- Paturiet tikai nepieciešamos datus. Noņemiet nevajadzīgās kolonnas un datus.
- Glabājiet vēsturiskos datus atsevišķā pārskatā, ja tie jums ikdienā nav vajadzīgi. Kad tie nepieciešami, vēsturisko datu pārskatu atsvaidziniet.
Rakstiet efektīvus vaicājumus
OData pieņem vairākus pieprasījumus vienlaicīgi un apstrādā tos paralēli. OData klienti, ja iespējams, var vienlaicīgi nosūtīt vairākus vaicājumus.
Tāpēc ieteicams izveidot un izmantot vairākus vaicājumus, nevis vienu sarežģītu vaicājumu ar, piemēram, OR
izteiksmēm vai paplašināmām tabulām. Viens sarežģīts vaicājums jāapstrādā secīgi pa vienam posmam, un katru pieprasījumu paildzina datu divvirzienu pārraide.
Lejupielādējiet datus, izmantojot vairākus vaicājumus, un pievienojiet iegūtās tabulas savā OData klientā, lai strādātu ar tabulām tā, it kā tās būtu viena tabula.
Izmantojiet inkrementālu atsvaidzināšanu
Ar inkrementālas atsvaidzināšanas palīdzību var izmantot lielas datu kopas. Tai ir tālāk minētās priekšrocības.
- Jāatsvaidzina tikai mainītie dati.
- Nav ilgstoši jāuztur aktīvs savienojums ar avota sistēmām.
- Mazāks atsvaidzināmo datu apjoms samazina vispārējo atmiņas un citu resursu patēriņu.
Katram OData klientam var būt atšķirīgas inkrementālas atsvaidzināšanas funkcijas. Informāciju par Microsoft Power BI skatiet rakstā Inkrementāla atsvaidzināšana semantiskiem Power BI modeļiem.
Sadaliet lielas datu kopas
Ja vajag lejupielādēt lielas datu kopas, sadaliet tās un izveidojiet atsevišķu vaicājumu, lai lasītu katru daļu. Daži OData klienti, piemēram Microsoft Power BI, var apstrādāt vairākus vaicājumus vienlaicīgi. Datu kopu sadalīšana var ievērojami uzlabot veiktspēju.
Piemēram, ja nolasāt pēdējo divu gadu datu punktus, mēģiniet vaicājumu sadalīt divos vaicājumos un katru no tiem izmantot viena gada datu nolasīšanai. Pēc tam sapludiniet (savienojiet) tabulas platformā Power BI.
Nosaukuma piešķiršana metadatos un CDF RAW apgabalā
Metadatu un CDF izstādīšanas apgabala (RAW) rekvizītu atslēgām jābūt derīgiem identifikatoriem, un tās drīkst saturēt tikai burtus, ciparus un pasvītras. Jebkādas citas rakstzīmes pakalpojums OData pārraksta ar pasvītru. Lai iegūtu optimālus, konsekventus rezultātus, ielādēto datu rekvizītu atslēgām jāizmanto šāda nosaukumdošanas metode: ^[a-zA-Z][_a-za-z0-9]\*[a-zA-Z0-9]\$
.
Problēmu novēršana
Atrodiet informāciju, kas palīdzēs novērst problēmas, kas radušās, izmantojot CDF kā datu avotu OData klientiem.
Vaicājumu apstrāde aizņem pārāk ilgu laiku
CDF projektā var būt simtiem miljonu datu rindu, un ielādēt tās visas pakalpojumā OData var neizdoties. Ja vaicājuma izpilde aizņem vairākas stundas, visticamāk, jūs mēģināt ielādēt pārāk daudz datu.
Skatiet sadaļu Vienumu filtrēšana datu modeļos un Uz aktīviem vērstu resursu veidu filtrēšana, lai uzzinātu par OData pakalpojumu atbalstītajām filtrēšanas iespējām.
Netiek parādīti visi rezultāti
Ja tiek parādīts mazāk rezultātu, nekā sagaidāms, varbūt jūs izmantojat filtra funkciju, ko CDF neatbalsta, piemēram, funkciju startswith
tabulas Laika rindas kolonnā Nosaukums.
Skatiet sadaļu Vienumu filtrēšana datu modeļos un Uz aktīviem vērstu resursu veidu filtrēšana, lai uzzinātu par OData pakalpojumu atbalstītajām filtrēšanas iespējām.
Nevar izgūt minimālās vērtības no CDF RAW
Ja izmantojat datus no CDF izstādīšanas apgabala, CDF RAW, OData klientā, var rasties problēmas ar nelielu skaitļu izgūšanu eksponentformā.
Lai gan CDF RAW apgabalā nav shēmas, OData bibliotēkas dažiem klientiem OData, piemēram, Power BI, mēģina datiem atlasīt pareizo formātu. Pašlaik Power BI izvēlas nepareizo dekodētāju nelieliem skaitļiem eksponentformā, un var rasties kļūda, kas ir līdzīga šai:
DataSource,Error: OData: Cannot convert the literal '2.89999206870561 to the expected type 'Edm.Decimal',
Lai šo problēmu novērstu, ielādējiet vērtības CDF RAW apgabalā kā virknes, nevis kā skaitļus, un pēc tam atkal konvertējiet virknes par Power BI skaitļiem pakalpojumā , piemēram, izmantojot Decimal.From
Power Query M-funkciju. Precizitāte netiks ietekmēta, un tā kā vairums JSON dekodētāju pieņem skaitļus, kas ir izteikti kā virknes, klienti, kuri sagaida skaitļus, joprojām darbosies.