Erinevad viisid, kuidas Power BI ühendub andmeallikatega
Autor: Mihkel Nugis; BCS Itera ärianalüüsi konsultant – arendaja
Power BI nime all tuntakse Microsofti pilve põhist ärianalüüsi lahendust, mis sisaldab endas valiku tööriistu, mis aitavad muuta toorandmed visuaalselt esitletavateks aruanneteks.
Aruannete loomiseks on meil vaja andmeid. Tihti on need andmed laiali erinevates baasides, failides või tuleb nendele ligipääsuks pöörduda mõne veebiteenuse poole. Andmete kokku korjamiseks on Power BI koosseisus Power Query nimeline töörist. Power Query kaudu kirjeldatakse ära ühendused andmeallikate juurde ja seal samas määratakse, millised andmed ja millisel kujul need Power BI-sse sisse loetakse.
Power Query lubab valida kolm põhimõtteliselt erinevat meetodit, kuidas andeallikatega ühendused luuakse. Need on:
- Andmete import a. Import Data
- Otsepäring e. Direct Query
- Reaalajas ühendus e. Live Connection
Joonis 1. – Power BI erinevad andmepäringu meetodid
Millist meetodit rakendada sõltub muuhulgas sellest, milline andmeallikas on meil kasutada. Mitte iga andmeallika tüüp ei ole sobiv iga meetodiga. Näiteks selles nimekirjas kolmas meetod – reaalajas ühendus on rakendatav ainult Microsofti analüüsi teenuse (SSAS) külge ja sedagi ainult uuemates versioonides. Seega reaalajas ühendus on enamasti vaadeldav erijuhtumina ja selle meetodi kasutamise valik tuleb kõne alla ainult eriolukorras. Muidugi see võib tulevikus muutuda, kuna Power BI on kiiresti arenev lahendus ja täna puuduvad või mingil viisil piiratud võimalused võivad juba järgmine kuu olla lahenduse osa.
Seega kui alustame andmeallikate poole pöördumist, on enamasti vajalik valida kas tahame andmed kätte saada impordi teel või otse päringuna. See otsus tuleb teha kohe alguses, kui hakkame ärianalüüsi lahendust juurutama oma ettevõttes, sest hilisem meetodi muutmine võib olla üsna töömahukas. Selleks, et otsustada ühe või teise meetodi kasuks tuleks aru saada, mida need meetodit tähendavad? Millises situatsioonis tuleks ühte eelistada teisele? Milline on parim praktika? Kuidas see valik mõjutab päringute jõudlust? Kui paindlik on lahenduse arendus ja täiendamine? Püüame nendele küsimustele vastuseid anda.
Andmete impordi meetod – Import Data
Nagu meetodi nimetusest arugi saab, sisaldab see andmete importi. See tähendab, et andmed loetakse algallikast ja imporditakse need Power BI faili. Kuna andmed sisuliselt kopeeritakse, siis see tähendab, et meil on vajalik tagada, et Power BI faili jaoks oleks piisavalt kettaruumi ja mälu. Seni kaua, kuni loome aruannet oma arvutis, kasutatakse meie arvuti ketast ja mälu. Varem või hiljem tuleb valmis lahendus laadida veebi pilveteenuse keskkonda ja seal hakkab rolli mängima asjaolu, et litsents (siin ja edaspidi peame silmas Power BI Pro litsentsi, mis on tavaliselt kasutusel) lubab kasutada maksimaalselt 10GB suurust kettamahtu aruannete jaoks ning üksiku aruande andmemudeli maksimaalne lubatud maht on 1GB.
Traditsiooniliste andmeladude maailmas on tavaline, et andmemahtusid mõõdetakse kümnetes ja sadades gigabaitides. Jätame siinkohal välja nn Big Data maailma, kus on kasutusel veel kangemad suurusjärgud tera- ja petabaidid. Selle kõrval võib 10GB piirang tunduda tõsise miinusena, mis justkui välistaks impordi meetodi kasutamise, kuna vähegi suuremad andmehulgad löövad meie lahenduse lõhki. Reaalsuses see õnneks nii ei ole. Põhjuseks on viis, kuidas Power BI pakib andmed oma sees. Tänu andmete pakkimisele vähenevad andmemahud kordades. Näiteks võin tuua ühe müügiaruande, mida viimati Power BI-ga ehitasin. Algallikaks oli SQL andmebaas kus tuli pärida kandeid, mis sisaldas 8 aastat müügi ajalugu. Ridu oli selles tabelis 2,5 miljonit ja tabeli suurus oli 750MB. Pärast andmete importi Power BI keskkonda, tekkis fail, mille suuruseks jäi 100MB. Probleemiks ei olnud ka andmete importimiseks kuluv aeg. Nii import kui ka hilisem aruande üleslaadimine pilve teenusesse kestis alla 1 minuti.
Impordi meetodil päritud andmed vajavad regulaarset korduvat andmete taas laadimist, et hoida aruande jaoks maksimaalselt värskeid andmeid. Power BI lubab sättida automaatse töö ja ajagraafiku, millal ja kui tihti selline protseduur käivitatakse. Ka siin on litsentsiga seatud piirangud. Meil ei ole võimalik päringuid käivitada tihemini kui poole tunnise vahega ja ka kordade arv ööpäeva jooksul on piiratud 8 korraga.
Andmete otse päring – Direct Query
Direct Query meetod on impordi meetodi vastand selles mõttes kuidas Power BI laeb andmeid. Otse päringu korral ei liigutata andmeid algsest baasist Power BI faili. See tähendab, et Power BI fail sisaldab ainult ühenduse kirjeldust ja seetõttu ei ole mahu piirangud enam olulised. Aruande poolelt vaadatuna tähendab see, et igakord kui kasutaja küsib andmeid muudetud tingimustega (vahetab näiteks aja perioodi filtrit aruandel), siis päritakse neid andmeid otse andmete algallikast. Kuna andmed tulevad otse allikast, siis ei ole tarvidust planeerida andmete korduvat laadimist ja seega on andmed alati värsked ja viimase seisuga. Direct Query piiranguks on asjaolu, et ainult valitud andmeallikate liigid on toetatud. Nimetame mõned nendest:
- SQL andmebaas
- Teradata andmebaas
- SAP HAMA
- Oracle andmebaas
Oluliseks piiranguks on ka see, et otsepäringud saame teha ainult ühe andmeallika külge. Kui meil on tarvis andmeid korjata kokku erinevatest kohtadest, siis tuleb kasutada impordi meetodit.
Otsepäringute korral tuleb arvestada ka oluliselt aeglasemate päringutega. Andmete algallikas asub tavaliselt eraldi serveris ja nendele ligipääs on üle interneti ühenduse, mis mõjutab oluliselt seda, kui palju päringud aega võtavad. On toodud võrdlusi, kus sama aruanne, mis impordi meetodiga loodud andme laadimise korral võttis aega alla sekundi, kestis otsepäringuna üle 4 minuti.
Mainimata ei saa jätta ka seda, et kui kasutame otse päringut, on paljud Power BI sisesed andmemudeli ehitamise vahendit suletud või piiratud kasutus võimalustega. Näiteks ei saa kasutada enamike ajalise analüütikaga seotud valemeid.
Import või otse päring?
Tänu aruannete kiirusele ja lahenduse paindlikkusele on meie eelistus enamikel juhtumitel kasutada impordi meetodit. See meetod lubab aruande arendajal kasutada Power BI kõikki võimalusi ja võimaldab disainida sellise lahenduse, mis rahuldab kasutaja vajadusi kõige paremini.
Otse päringu tuleb kõne alla kui:
- Andmemahud on suured (sajad gigabaidid).
- On vajadus jälgida nn live
- Andmete algallikas ise on juba valmis ehitatud andmemudel, kus toimub kogu ettevõtte andmelao arendus.
Kui ettevõttes on varasemast ajast olemas ja kasutusel SQL analüüsi teenuse andmekuubikud, siis on mõistlik kasutada Power BI reaalajas ühendust nende kuubikute pihta ja kasutada kuubibaase kui valmis andmemudelit koos kõigi seal olevate mõõdikute ja dimensioonide struktuuriga.