Kontsulten datu-eredu optimizatuak

Datuen kontsulta eredurik sinpleena eta azkarrena hau da:

  1. Taula edo ikuspegi bakarra
  2. Zerbitzarian aurrez iragazi behar duzunaren arabera
  3. Zutabeak behar bezala indexatuta daude espero diren kontsulten

Zure aplikazioa diseinatzen duzunean, datuak azkar kontsultatu pentsatu behar duzu. Datuak kontsultatzeko modurik onena behar duzun informazio guztia duen taula edo ikuspegi bakarra erabiltzea da, eta zerbitzarian iragaztea aplikazioan bistaratu aurretik. Datuak iragazteko edo ordenatzeko erabiltzen dituzun zutabeak behar bezala indexatuta daudela ere ziurtatu behar duzu. Horrek zure aplikazioa azkarragoa eta errazagoa bihurtzen du.

Adibidez, demagun bezeroen eta haien saltzaileen zerrenda erakusten duen galeria bat duzula. Bezeroaren eta saltzailearen informazioa taula bereizietan gordetzen baduzu, bilaketak erabili behar dituzu bezero bakoitzaren saltzailearen izena lortzeko. Honek zure aplikazioa moteldu egiten du, beste taulara kontsulta asko exekutatu behar dituelako. Modu hobea da bezeroaren eta saltzailearen informazioa taula bakarrean konbinatzen duen ikuspegi bat sortzea eta ikuspegi hori zure galeriako datu-iturri gisa erabiltzea. Ondoren, zure aplikazioak kontsulta bakarra exekutatu behar du behar dituen datu guztiak lortzeko.

Kontsulta abiaduraren eta datuen normalizazioaren arteko konpromisoa. Datuen normalizazioak esan nahi du datuak behin bakarrik gordetzen dituzula eta bikoizketa saihestea. Horrek datuak koherenteak eta zehatzak izaten laguntzen du. Hala ere, batzuetan datu batzuk bikoiztu behar dituzu kontsultak azkarrago eta errazagoak izan daitezen. Bi helburu horiek orekatu behar dituzu zure aplikazioaren diseinuan eta taularen egituran. Bestela, zure aplikazioa motela eta atzeratua izango da, taula desberdinetako datuak iragazteko eta elkartzeko lan ugari egin behar dituelako.

Erabili zerbitzariaren ikuspegiak

Ikuspegiak dira ziurrenik helburu horiek orekatzen laguntzeko tresnarik ohikoena. Kontsultarako taula bakarreko egitura aurkezten dute, kontsultan behar dituzun datuak aurrez iragazten dituzte eta beste taula batzuetarako bilaketa eta elkartzeak ahalbidetzen dituzte. Ikuspegiaren iragazkiak, bilaketak eta elkartzeak zerbitzarian kalkulatzen direnez, karga erabilgarria eta bezeroaren aldeko konputazioa minimizatzen dira.

Galeria batek datu-iturri bateko erregistro ugari bistara ditzake. Batzuetan, jatorrizko iturri bateko informazio gehigarria erakutsi behar duzu. Adibidez, bezeroen zerrenda erakusten duen galeria bat duzu, eta bezero bakoitzari esleitutako saltzailearen izena erakutsi nahi duzu. Saltzailearen izena bezeroaren informazioa ez den beste datu-iturri batean gordetzen da. Saltzailearen izena erakusteko, beste datu-iturburuan bat datorren erregistroa aurkitzen duen bilaketa-funtzioa erabili behar duzu. Honek jatorrizko taula bilaketa-balioekin zabaltzen du.

Hala ere, taula zabaltzea oso motela izan daiteke erregistro asko eta bilaketa asko badituzu. Galeriako erregistro bakoitzerako, aplikazioak beste datu-iturriari kontsulta bereizi bat exekutatu behar dio eta bilaketa-balioa lortu. Horrek esan nahi du aplikazioak kontsulta asko exekutatu behar dituela erregistro bakoitzerako, eta horrek denbora asko iraun dezake eta aplikazioaren errendimenduan eragina izan dezake. Anti-eredu hau batzuetan "N karratua, (n^2)" edo "N+1" arazoa bezala ezagutzen da.

Erabili 'Hasiera'' edo Iragazkia

Power Fx-ek datuak bilatzeko hainbat modu eskaintzen ditu. Orokorrean, erabili StartsWith edo Filter bezalako indize bat erabiltzen duen adierazpen bat, taula osoa irakurtzen duen baten ordez. In eragilea ondo memoriako bildumetarako edo kanpoko datu-iturburuen taula oso txikia bada.

Kontuan hartu datuak bikoiztea

Batzuetan, datuak kontsulta batean sartzeko motela izaten da, beste kokapen edo formatu batean gordetzen direlako. Kontsulta azkarragoa izan dadin, datu geldoak kopiatu eta lokalki kontsulta azkar eta erraz kontsultatzeko taula batean gorde ditzakezu. Hala ere, horrek esan nahi du datu lokalak ez direla jatorrizko datuen bertsiorik eguneratuenak. Ondoren, exekutatu beste prozesu bat datu lokalak aldian-aldian eguneratzeko. Prozesu hau Power Automate-ren fluxua, plugin bat, biltegiratutako prozedura bat edo datuak leku batetik bestera eraman ditzakeen beste edozein metodo izan daiteke.

Tokiko datuak eguneratzeko maiztasun eskakizuna zure negozioaren beharren araberakoa da. Zenbateraino izan behar dute datuak zure aplikazioarentzat? Demagun Contoso-n lan egiten duzula, bizikletak saltzen dituen enpresa. Erabilgarri dauden bizikleten zerrenda Produktuen datu-base batean gordetzen da, API baten bidez sar zaitezkeena konektore pertsonalizatu batean. Baina demagun API deia motela dela, eta, beraz, produktuaren datuak kopiatu eta lokalki taula batean gordetzea erabakitzen duzu. Ondoren, zure taula zure aplikaziorako beste datu garrantzitsu batzuekin konbinatzen duen ikuspegi bat sortzen duzu. Power Automate fluxua ere sortzen duzu, egunero exekutatzen dena eta zure taula APIko azken produktuen datuekin eguneratzen duena. Orduan, zure aplikazioak datu lokalak azkarrago kontsulta ditzake eta datuek gehienez egun bat besterik ez dute.

Datuak bikoiztea ohiko teknika mota bat da enpresa-mailako aplikazioetan, errendimendu ona bermatzeko. Dataverse-ren pluginak, gordetako prozedurak edo datuen mugimendua erabil ditzakezu datuak kontsultarako optimizatutako taula bakar batean bikoizteko. Galdera nagusia da: zenbateraino eguneratu behar dira datu horiek? Atzerapen pixka bat ordaintzen baduzu, teknika hau erabil dezakezu zure aplikazioa azkartzeko.

Iradokizunak

Helburu hori lortzeko, kontuan hartu ondorengo galdera eta iradokizunak:

  1. Zenbaterainoko garrantzia du bezero batentzat datuen balioa galeria edo datu-sareta batean ikustea? Onargarria litzateke lehenik erregistro bat hautatzea eta gero datuak inprimaki batean erakustea?
  2. Ikuspegi batek datuak formatu egokian ikusteko beharrezkoak diren aurrelanak egin ditzake?
  3. "IN" eragile bat erabiltzen ari zara non "StartsWith" funtzionatuko duen?
  4. Zenbaterainoko eguneratuta egon behar dute zure datuak? Ba al datuen bikoizketa estrategia erabil dezakezun zure kontsulta taula bakar baten gainean lehenespenez lan egiteko?