Mostani bejegyzésben a QlikView és a Qlik Sense összehasonlításával ismerkedhettek meg. Ez egy igen aktuális téma mióta a Qlik kiadta a Sense-t 2014-ben és igencsak felforgatta vele a Qlik-es világot. Szerintem első körben nagyon sok QV-hoz szokott szakember kereste a válaszokat, hogy akkor ez most hogy, és miért? Miért csinált a Qlik egy konkurens terméket a saját zászlóshajójának? És mivel lesz ez jobb, ha kevesebbet tud mint a QV?
A kezdetek
Valójában a QlikView felett eljárt az idő nagyon sok szempontból. Hiába szerettük egyedi megközelítései miatt mint az asszociatív adatmodell, vagy a gyors in memory analízis, az ezredforduló után nagyon megváltoztak a fogyasztói igények az IT és a BI területen is. Szóval valószínűleg a Qlik is szeretett volna valamilyen innovációt a termékeiben, és ezt nem a QV frissítésében gondolta hanem egy teljesen önálló termékcsalád létrehozásában.Így született meg a Sense, mely próbálta megtartani a QV előnyös tulajdonságait, de mégis egy igazi 21. századi felületet és koncepciót kölcsönözve a termékének, mely végül a Sense nevet kapta (már korábban rebesgették a hírt hogy a Qlik háza táján valami nagy dologra készülnek, de a nevet csak az utolsó pillanatban kapta a termék).
Szóval a kezdetekben kaptunk egy nagyon letisztított QlikView-t mely igazából egy full web based applikáció volt már, csak emuláltak nekünk egy desktop szerű alkalmazást (hiszen a QS egy chromium alapú megjelenítés valójában. Aki nem hiszi megnyitott QS mellett üsse be a böngészőjébe hogy http://localhost:4848/hub ). Mivel a funkciói korlátozottak voltak még a 1.0-s verziónak, valamint sok esetben bug-os volt a termék, ezért eleinte nem hiszem hogy enterprise terméknek tekintették a felhasználók, inkább mint egy saját játékszernek Qlik alapokon. Ám a félévente megjelenő major release és a hatalmas munka amit beletettek, egyre inkább kezdett egy használható és valódi corporate alkalmazás lenni. Időközben megjelent a Qlik Cloud (qlikcloud.com) és a Branch (http://branch.qlik.com) is, melyek közül előbbihez a korábban nem látott ingyenesen hostolt Qlik alkalmazások kötődtek, míg az utóbbihoz a lelkes és sokszor igen kreatív fejlesztők és alkalmazásaik.
Guided vs Self-service analytics
Az alapvető tézis szerint a QlikView egy Guided Analytics, ami annyit tesz hogy egy előre meghatározott analitika mentén dolgozunk, míg a Qlik Sense egy Self-service BI, amit annyit tesz hogy svádasztal módjára kiszolgálhatjuk magunkat az alkalmazásunkon (és természetesen a rendelkezésünkre álló adatmodellünkön) belül. Ezek a törekvések valóban megfigyelhetők a QS-ben, de minél mélyebbre ássa magát az ember, annál jobbal eléri ezeket a korlátokat, de szó mi szó a Qlik Sense egy valódi törekvés a Self-service analitikai megoldások felé. Miért is:
- Master item-ek létrehozása, ami annyit tesz hogy a fejlesztő definiálhat master objektumokat, melyeket a user vagy power user könnyedén és kódolás nélkül is elérhet és újra, és újra felhasználhat. Ez annyit tesz, hogy pl. a fejlesztő létrehozza az aktuális Profit mértéket, amelynek a képlete már meg van írva, és a felhasználónak már nem kell kódolnia. csak drag and drop módon felhasználnia újra és újra az alkalmazásban.
- Data manager funkció megjelenése, ami annyit tesz, hogy kevésbé komoly adatmodellezési és QlikView scripting tudás nélkül is tudunk új adatforrásokat beletenni alkalmazásunkba. Valójában kaptunk egy nagyon szép és intuitív adatvarázsló felületet, amely tényleg pofonegyszerű használatot feltételez. Amennyi előnye van, sajnos ugyanannyi hátránya is, hiszen komolyabb transzformációkat sajnos nem tudunk vele elkészíteni, valamint az alkalmazásunk lelke az adatmodell, mely nem szakértő kezek esetében lehet hogy nem az elvárt viselkedést fogja produkálni. Summa summárum ez egy nagyon könnyen használható adatmodell varázsló, amely még ajánlásokat is ad nekünk a kapcsolatok elkészítésére, de csavarhúzóval azért ne álljunk motort cserélni a kocsinkban.
- Bármilyen felületen szerkeszthető riportok a QS esetében. Kvázi ha van jogosultságunk hozzá, akkor szinte teljesen fejlesztői felületet kapunk akár weben keresztül is.
- Enterprise edition-ben újra felhasználható adatkapcsolatok.
Szóval míg a QlikView esetében mint felhasználók egy előre definiált analitikai utat követünk, addig a Qlik Sense-t inkább legózásra alkalmasabb, de mint említettem mindkét megközelítésre alkalmas azért mindkét eszköz.
Megjelenítés
Itt már alapvető különbségek vannak, hiszen a legnagyobb változás a front-end oldalon látható. Alapvetően nagyon hasonló vizualizáció típusokkal dolgozik a 2 eszköz, de azért látszódik hogy a QV egy igazi Windows-os fejlesztőeszköz addig a Sense egy weben nevelkedett vizualizációs tool. Igaz hogy mindkét eszköznek van teljes értékű webes megjelenítése (Access Point és Hub), de a legfőbb eltérés hogy,
a QlikView egy fixpontos megjelenítést alkalmaz, míg a Sense egy valódi reszponzív alkalmazás.
És lássuk be 2017-ben, mikor mindenkinek a kezében megannyi kicsi kütyü van, ez nem egy elhanyagolható fegyvertény. Ez a valóságban annyit tesz hogy nem csak a méretük változik a Sense objektumoknak, hanem az elrendezésük is ha kell, valamint a beviteli felületek elő vannak készítve érintőképernyőre is.
Tehát például mark-olni szeretnénk valamit (lasszóval vagy csak pötyögtetéssel), akkor külön tudjuk választani a mark-olást majd ebből tudunk csinálni szűrést is ha akarunk. A QV esetében ha csináltunk valami alkalmazást, akkor azt csak abban a méretarányban tudtunk megnézni ahogyan elkészítettük. Továbbá a Sense vátoztatja automatikusan az elrendezést valamit ha nincs elég hely akkor például eltüntetni a label-öket és a navigáció és az aktuális szűrés helye is változik.
Adat engine és adatmodellezés
Mindkét tool azonos adat engine-t használ, és az adatmodell építés is szinte azonos. Az egyetlen fő eltérés inkább a csatolók elérésében van. Míg a QlikView relatív vagy közvetlen címzéssel elér egy helyi vagy távoli mappát, addig a Sense úgynevezett Library-ket hoz létre, amely egy többször felhasználható globális csatoló lesz a dokumentumon, vagy Enterprise esetében akár a szerveren belül is.
Mivel szintaktikailag szinte teljesen megegyezik a QS és QV back-end script nyelve, ezért ebből következően a csatolók/hivatkozások kicserélése után szinte az egész kód újrahasználható. Ehhez lehet írni egyszerű scripteket is, melyek átkonvertálják az alkalmazásnak megfelelően a script-et.
Adatmodell szempontjából pedig nem tapasztalható semmilyen különbség, tehát a QS itt megtartotta minden előnyét az elődjétől.
Licencek
Personal edition
Itt azért ismét egy új megközelítést alkalmazott a Qlik, hiszen a Personal edition esetében a legszembetűnőbb különbség, hogy ugyan továbbra is időkorlát nélkül használható az ingyenes verzió, de most már megoszthatunk egymással riportokat és alkalmazásokat, míg ugyebár a QlikView esetében ez nem lehetséges (vagy recovery-vel a korábbi dokumentumjainkat veszítjük el). Annyi korlát van benne, hogy egy meghatározott folder-ből érhetjük el az alkalmazásokat, ahová csak be kell másolni az QVF kiterjesztésű file-unkat.
Cloud
Mivel mint említettem, hogy nincs a QV-nak cloud szolgáltatása, ezért ebben egyedül marad a Sense, de a Qlik ajánl nekünk 2 verziót is a SAAS (Software as a Service) verziókra. Az ingyenes esetében 100Mb adattal kell megelégednünk tárhelyként és 5 ember között tudjuk megosztani, míg a fizetős szolgáltatás esetén ezeket a limiteket tolhatjuk ki. Fontos megjegyezni, hogy mivel ez egy SAAS környezet, ezért csak standard applikációk host-olhatóak a Cloud-ban, tehát nincs lehetőség extension-ök használatára, valamint a reload is lokálisan történhet meg, így adattal beágyazva kell feltöltenünk az alkalmazásunkat.
Enterprise
Itt már valódi kollaborációra van lehetőségünk portálok vagy Sense esetében ú.n. Stream-ek létrehozásával, automatikus adatbetöltés funkciók elvégzésével és jogosultságok kezelésével. Viszont itt is behozott a Qlik egy új típusú licencelést. Tehát az opciók enterprise szinten:
QlikView:
- Name licence: egy nevesített felhasználó akármennyi dokumentumot meg tud nyitni
- Document call licence: dokumentumhoz kötött licencek
Qlik Sense:
- Szintén name licenc-ek
- Token-ek, melyek nem dokumentumhoz hanem felhasználói belépésekhez vannak kötve
Térképek
A QlikView-ban korábban is használhattunk térképeket, de sajnos igazából ez a Scatter objektum megerőszakolása volt egy map háttér segítségével. A Sense ezzel ellentétben már natív módon támogatja a map objektumokat, és az alapverzióval adatpontos és area térképeket készíthetünk el. A piaci igényekre támaszkodva már számtalan gyártó ajánl extension-öket mindkét platformra, de ezek természetesen pénzbe kerülnek. Szóval ha egyszerű térképes vizualizációkra van szükségünk, akkor a Sense sokkal jobban használható megoldásokat ajánl.
Adatkapcsolatok
Mindkét eszköz adatcsatolók széles spektrumával rendelkezik, de míg a QV a klasszikus adatcsatolókat sorakoztatja fel (JDBC, ODBC, Táblázatos fájlok, Web file-ok, Qlik fájlok) addig a QS egy csomó natív és hasznos egyéb csatolót is tartalmaz, mint Hive, Cloudera, REST, vagy SalesForce. Sok ezek közül elérhető JDBC csatolókon keresztül is QV számára, de ezek mind kényelmi faktorok a QS javára.
Extensions
Habár a QlikView korábbi verziói is megengedték, hogy külső fél által készített kiegészítéseket használjunk, igazából a Sense-ben bontakozott ki igazán ezek használata. Az egész QS platform jól dokumentált és nyitottságon alapul továbbá egy nagyon szakmai és intenzív közösség épül rá (branch.qlik.com). Ennek következtében az ingyenesen letölthető és szabadon felhasználható extension-ök száma sok százra tehető, és mi sem utal a közösség pezsgő jellegére, hogy szinte nincs olyan nap hogy ne készülne egy új kiegészítő a Sense-hez, vagy egy új release a már meglévőkhöz. Az igazsághoz az is hozzátartozik hogy nem minden esetben vannak ezek a kiegészítések support-álva, ezért egy komolyabb fejlesztés esetén mindenképpen javasolt egy fizetős, vagy supportált termék használata.
Alapvetően 2 fajta extension-ök vannak: csatoló típusúak és vizualizációs felületen elérhetőek. A csatoló típusok sokkal kisebb számban elérhetőek (ezek segítenek egy egy speciális data source elérésében), de ez érthető is, hiszen a vizualizációs típusok sokkal szerteágazóbban és látványosabbak.
Hogy mennyire komolyan veszi ezt a Sense, a fő objektum listában megjelent külön egy Custom objects nevezetű menü, ahonnan direkt elérhetőek ezek az elemek.
QlikView esetében ezek sajnos csak webes nézetben érhetőek el, valamint sokkal kevesebb az elemek száma.
Ha pedig valamilyen funkció vagy speciális vizualizáció hiányzik alkalmazásunkból, akkor nekiállhatunk lefejleszteni azt,
hiszen a Qlik a rendelkezésünkre bocsájt egy sor eszközt és API leírást a fejlesztéshez. És vélhetően ezek a custom funkciók fogják jelentősen meghatározni az iparági fejlesztéseket az elkövetkezendő években.
Néhány példa extension típusokra:
- Speciális vizualizációk (D3JS, SVG rajzok, stb.)
- Funkciók az adat-engine-el (újratöltés, szűrési sémák kezelése, változók manipulálása)
- HTML content-ek beágyazása
- Write-back funkciók (pl kommentelés)
- Térképek
- Statisztikai nyelvek/függvények, mint R vagy Python
Továbbá kapunk egy dev hub nevezetű eszközt is ahol komplett fejlesztési felületet kapunk (http://localhost:4848/dev-hub/). Ez elérhető a Personal edition-ből is.
Mashup-ok
Szintén egy új analitikai trend a mashup-ok használata, amely annyit tesz hogy egy weboldalba ágyazva használjuk a meglévő analitikánkat, jelen esetben Qlik alkalmazásunk oldalát, objektumát vagy csak magát az adatmodellt. Erre direkt elérést csak a Sense-ben kapunk, melyhez kapunk egy kicsit kezdetleges fejlesztőeszközt a dev hub-on, de elegendő JavaScript és HTML tudással komoly alkalmazásokat is készíthetünk.
Legegyszerűbben egy egyszerű iframe vagy egy div objektum beszúrásával tudunk elhelyezni vizualizációkat, melyeket egyszerűen kimásolunk a dev hub single configurator alkalmazásából.
Összegzés
Mint talán a bejegyzésből kiderült egy teljesen más megközelítésen alapul a Qlik Sense, amelybe megpróbálták beletenni a legtöbb előnyét a QlikView-nak, mely többé kevésbé sikerült is. Talán a 3.0-s verziótól már egy komolyan használható enterprise alkalmazást kaphatunk, amely akár non-commercial, vagy kisebb cégeknek is elérhető kedvező licenc konstrukciójának köszönhetően.
Ha többplatformos alkalmazások készítéséról van szó akkor egyértelműen a Sense lehet a jó választás a reszponzív felület miatt, de egyéb esetekben a kép sokkal árnyaltabb. Továbbá QV legacy rendszerekből lehetőség van QS applikációkat is készíteni, hiszen a QS tud QV adatmodellt olvasni, ezáltal hibrid rendszerek elkészítésére is van lehetőség.
Ami biztos, hogy az elkövetkező években továbbra is fontos jelenléte lesz a QlikView-nak az enterprise kategóriában, de az már most is látható hogy a fejlsztéseket a Qlik a Sense irányba folytatja. Ezért érdemes lehet berendezkedni időben a Sense-re is már most.