Mahaia txikizkako merkataritzan, benetan?

Excel-en txostenak egiteko garaia azkar desagertzen ari da - informazioa aurkezteko eta aztertzeko tresna egokien aldeko joera eremu guztietan ikusten da. Aspalditik ari gara txostenen digitalizazioaz eztabaidatzen eta Tableau bistaratzeko eta autozerbitzuko analisi sistema aukeratu dugu. Alexander Bezugly-k, M.Video-Eldorado Taldeko irtenbide analitikoen eta txostenen saileko buruak, borroka-panela eraikitzearen esperientzia eta emaitzei buruz hitz egin zuen.

Berehala esango dut aurreikusitako guztia ez zela gauzatu, baina esperientzia interesgarria izan zen, zuretzat ere baliagarria izatea espero dut. Eta norbaitek ideiarik badu nola hobeto egin litekeen, asko eskertuko nizkizuke zuen aholkuak eta ideiak.

Mahaia txikizkako merkataritzan, benetan?

Ebakiaren azpian topatu genuenari eta ikasitakoari buruzkoa da.

Nondik hasi ginen?

M.Video-Eldoradok datu-eredu ondo garatua du: informazio egituratua behar den biltegiratze-sakontasunarekin eta forma finkoko txosten kopuru handi bat (ikusi xehetasun gehiago hemen artikulu hau da). Horietatik, analistek taula dinamikoak edo formateatutako buletinak egiten dituzte Excel-en, edo azken erabiltzaileentzako PowerPoint aurkezpen ederrak.

Duela bi urte inguru, forma finkoko txostenen ordez, txosten analitikoak sortzen hasi ginen SAP Analysis-en (Excel gehigarri bat, funtsean OLAP motorren gaineko taula dinamikoa). Baina tresna honek ez zituen erabiltzaile guztien beharrak asetzeko gai; gehienek analistek prozesatutako informazioa erabiltzen jarraitu zuten.

Gure azken erabiltzaileak hiru kategoriatan banatzen dira:

Goi zuzendaritza. Informazioa ondo aurkeztuta eta modu argi ulergarrian eskatzen du.

Erdiko zuzendaritza, erabiltzaile aurreratuak. Datuen esplorazioan interesatuta dago eta txostenak modu independentean eraikitzeko gai da, tresnak eskuragarri egonez gero. SAP Analysis-en txosten analitikoen erabiltzaile nagusi bihurtu ziren.

Erabiltzaile masiboak. Ez zaie interesatzen datuak modu independentean aztertzea; askatasun maila mugatuko txostenak erabiltzen dituzte, Excel-en buletin eta taula dinamikoen formatuan.

Gure ideia erabiltzaile guztien beharrak estaltzea eta tresna bakarra eta erosoa ematea zen. Zuzendaritza nagusiarekin hastea erabaki genuen. Arbel erabilerrazak behar zituzten negozioaren emaitza nagusiak aztertzeko. Beraz, Tableau-rekin hasi ginen eta lehenik bi norabide aukeratu genituen: txikizkako eta sareko salmenta-adierazleak analisi-sakontasun eta zabalera mugatuarekin, goi-zuzendaritzak eskatutako datuen %80 inguru estaliko luketenak.

Aginte-panelen erabiltzaileak zuzendaritza nagusiak zirenez, produktuaren beste KPI gehigarri bat agertu zen: erantzun-abiadura. Inork ez du 20-30 segundo itxarongo datuak eguneratzeko. Nabigazioa 4-5 segundotan egin behar zen, edo hobeto esanda, berehala. Eta guk, tamalez, ez dugu lortu hori.

Hau da gure panel nagusiaren diseinua nolakoa zen:

Mahaia txikizkako merkataritzan, benetan?

Funtsezko ideia KPI eragile nagusiak, guztira 19 ziren, ezkerrean konbinatzea da eta haien dinamika eta ezaugarri nagusien arabera aurkeztea eskuinean. Zereginak erraza dirudi, bistaratzea logikoa eta ulergarria da, xehetasunetan murgildu arte.

Xehetasuna 1. Datuen bolumena

Gure urteko salmenten mahai nagusiak 300 milioi errenkada inguru hartzen ditu. Iazko eta aurreko urteko dinamika islatzea beharrezkoa denez, benetako salmentei buruzko datuen bolumena 1 milioi lerro ingurukoa da. Aurreikusitako datuei eta lineako salmenta blokeari buruzko informazioa ere bereizita gordetzen da. Hori dela eta, memoriako DB SAP HANA zutabea erabili genuen arren, uneko biltegiratzetik astebetez adierazle guztiak aukeratzerakoan kontsultaren abiadura 15-20 segundo ingurukoa izan zen. Arazo honen konponbideak berak iradokitzen du - datuen materializazio gehigarria. Baina hutsuneak ere baditu, behean haiei buruz gehiago.

Xehetasuna 2. Adierazle ez-gehigarriak

Gure KPI asko ordainagirien kopuruari lotuta daude. Eta adierazle honek errenkada kopuruaren COUNT DISTINCT adierazten du (egiaztatu goiburuak) eta kopuru desberdinak erakusten ditu hautatutako atributuen arabera. Adibidez, adierazle hau eta bere deribatua nola kalkulatu behar diren:

Mahaia txikizkako merkataritzan, benetan?

Zure kalkuluak zuzenak egiteko, egin dezakezu:

  • Kalkulatu halako adierazleak hegan biltegian;
  • Egin kalkuluak Tableau-ko datu-bolumen osoan, hau da. Mahaian eskatuz gero, eman datu guztiak hautatutako iragazkien arabera ordainagiriaren posizioaren xehetasunetan;
  • Sortu materializatutako erakusleiho bat, non adierazle guztiak kalkulatuko diren emaitza ez-gehigarriak ematen dituzten lagin-aukera guztietan.

Argi dago adibidean UTE1 eta UTE2 produktuaren hierarkia adierazten duten atributu materialak direla. Hau ez da gauza estatikoa; enpresa barruan kudeaketa horren bidez egiten da, zeren Kudeatzaile desberdinak produktu talde ezberdinen arduradunak dira. Hierarkia honen berrikuspen global asko izan genituen, maila guztiak aldatu zirenean, harremanak berrikusi zirenean eta etengabeko puntu aldaketak, talde bat nodo batetik bestera mugitzean. Ohiko txostenetan, hori guztia hegan kalkulatzen da materialaren atributuetatik; datu horien materializazioaren kasuan, aldaketa horien jarraipena egiteko eta datu historikoak automatikoki birkargatzeko mekanismo bat garatu behar da. Oso zeregin ez hutsala.

Xehetasuna 3. Datuen konparaketa

Puntu hau aurrekoaren antzekoa da. Ondorioz, enpresa bat aztertzerakoan ohikoa da aurreko aldiarekiko hainbat konparazio maila egitea:

Aurreko aldiarekin alderatzea (egunetik egunera, astez aste, hilabetez hilabete)

Konparaketa honetan, erabiltzaileak aukeratutako aldiaren arabera (adibidez, urteko 33. astea) 32. asterako dinamika erakutsi beharko genukeela suposatzen da; hilabete baterako datuak hautatu baditugu, adibidez, maiatza. , orduan konparazio honek apirilerako dinamika erakutsiko luke.

Iazkoarekin alderatuta

Hemen ñabardura nagusia zera da: egunaren eta astearen arabera alderatuz gero, ez duzula iazko egun bera hartzen ari, alegia. ezin duzu oraingo urtea ken bat jarri. Konparatzen ari zaren asteko eguna begiratu behar duzu. Hilabeteak alderatzean, aitzitik, iazko egun natural bera hartu behar duzu. Urte bisurteekin ere badira ñabardurak. Jatorrizko biltegietan, informazio guztia egunez banatzen da; ez dago eremu bereizirik asteak, hilabeteak edo urteak dituztenak. Hori dela eta, panelean zehar-ebaki analitiko osoa lortzeko, ez da aldi bat zenbatu behar, adibidez aste bat, 4 aste baizik, eta gero datu horiek alderatu, dinamika, desbideratzeak islatu behar dituzu. Horren arabera, dinamikan konparaketak sortzeko logika hori taulan edo erakusleihoan ere inplementa daiteke. Bai, eta, noski, xehetasun horiek diseinu-fasean ezagutu eta pentsatu genituen, baina zaila zen azken aginte-panelaren errendimenduan duten eragina aurreikustea.

Aginte-panela ezartzerakoan, Agile bide luzea jarraitu genuen. Gure zeregina lan tresna bat eskaintzea zen probak egiteko beharrezko datuak ahalik eta azkarren. Hori dela eta, esprintetan joan ginen eta egungo biltegiaren alboko lana gutxitzen hasi ginen.

1. zatia: Fedea mahaian

IT laguntza sinplifikatzeko eta aldaketak azkar ezartzeko, gehigarriak ez diren adierazleak kalkulatzeko eta iraganeko aldiak Tableaun alderatzeko logika egitea erabaki dugu.

1. etapa. Dena zuzenean dago, leiho aldaketarik gabe.

Fase honetan, Tableau egungo erakusleihoetara konektatu genuen eta urtebeteko ordainagirien kopurua nola kalkulatuko zen ikustea erabaki genuen.

Emaitza:

Erantzuna etsigarria izan zen - 20 minutu. Datuen transferentzia sarera, karga handia Tableaun. Adierazle gehigarriak ez diren logika HANAn ezarri behar dela konturatu ginen. Horrek ez gintuen asko beldurtu, jadanik antzeko esperientzia genuen BO eta Analysis-ekin eta bagenekien HANAn erakusleiho azkarrak eraikitzen, behar bezala kalkulatutako adierazle ez-gehigarriak sortzen dituztenak. Orain, taulara egokitzea besterik ez zen falta.

2. etapa. Erakusleihoak afinatzen ditugu, materializaziorik gabe, dena martxan.

Erakusleiho berri bereizi bat sortu genuen, TABLEAU-rako beharrezko datuak hegan ekoizten zituena. Oro har, emaitza ona lortu dugu; aste batean adierazle guztiak sortzeko denbora 9-10 segundora murriztu dugu. Eta zintzotasunez espero genuen Tableau-n aginte-panelaren erantzun-denbora 20-30 segundokoa izango zela lehenengo irekitzean eta gero 10etik 12rako cachearen ondorioz, orokorrean egokituko zitzaigun.

Emaitza:

Lehenengo panel irekia: 4-5 minutu
Edozein klik: 3-4 minutu
Inork ez zuen espero erakusleihoko obran halako gehikuntza gehigarririk.

2. zatia. Murgildu taulan

1. etapa. Mahaiaren errendimenduaren azterketa eta doikuntza azkarra

Tableauk denbora gehien non pasatzen duen aztertzen hasi ginen. Eta horretarako tresna nahiko onak daude, eta hori, noski, Tableau-ren plusa da. Identifikatu genuen arazo nagusia Tableauk eraikitzen ari zen SQL kontsulta oso konplexuak izan ziren. Batez ere hauekin lotuta zeuden:

— Datuen transposizioa. Tableauk ez duenez datu-multzoak transposatzeko tresnarik, panelaren ezkerreko aldea KPI guztien irudikapen zehatzarekin eraikitzeko, taula bat sortu behar izan dugu kasu bat erabiliz. Datu-baseko SQL kontsulten tamaina 120 karaktereraino iritsi zen.

Mahaia txikizkako merkataritzan, benetan?

- Denbora-epea aukeratzea. Datu-base mailan horrelako kontsultak denbora gehiago behar izan zuen konpilatzeko exekutatzeko baino:

Mahaia txikizkako merkataritzan, benetan?

Horiek. eskaera prozesatzea 12 segundo + 5 segundo exekuzioa.

Mahaiaren aldean kalkulu-logika sinplifikatzea eta kalkuluen beste zati bat erakusleiho eta datu-base mailara eramatea erabaki genuen. Honek emaitza onak ekarri zituen.

Lehenik eta behin, transposizioa hegan egin genuen, kanpo-juntura oso baten bidez egin genuen VIEW kalkuluaren azken fasean, wikian deskribatutako ikuspegi honen arabera. Transpose - Wikipedia, entziklopedia askea и Oinarrizko matrizea - ​​Wikipedia, entziklopedia askea.

Mahaia txikizkako merkataritzan, benetan?

Hau da, ezarpen-taula bat egin dugu - transposizio-matrize bat (21x21) eta adierazle guztiak errenkadaz errenkada banaka batean jaso ditugu.

izan zen:
Mahaia txikizkako merkataritzan, benetan?

Hau bihurtu zen:
Mahaia txikizkako merkataritzan, benetan?

Ia ez da denborarik ematen datu-basearen transposizioan bertan. Asteko adierazle guztien eskaerak 10 segundotan prozesatzen jarraitu zuen. Baina, bestetik, malgutasuna galdu egin da adierazle zehatz batean oinarritutako aginte-panela eraikitzeko orduan, hau da. Adierazle zehatz baten dinamika eta banaketa zehatza aurkezten den aginte-panelaren eskuineko aldean, aldez aurretik bistaragailua 1-3 segundotan funtzionatzen zuen, zeren eskaera adierazle batean oinarritzen zen, eta orain datu-baseak adierazle guztiak hautatzen zituen beti eta emaitza iragazten zuen emaitza Tableaura itzuli aurretik.

Ondorioz, aginte-panelaren abiadura ia 3 aldiz murriztu zen.

Emaitza:

  1. 5 segundo - aginte-panelak, bistaratzeak analizatzea
  2. 15-20 segundo: kontsultak biltzeko prestaketa taulan aurre-kalkuluak eginez
  3. 35-45 segundo - SQL kontsulten konpilazioa eta haien exekuzio paralelo-sekuentziala Hana-n
  4. 5 segundo - emaitzak prozesatzea, ordenatzea, bistaratzeak taulan berriro kalkulatzea
  5. Jakina, horrelako emaitzak ez ziren negozioari egokitzen, eta optimizatzen jarraitu genuen.

2. etapa. Gutxieneko logika Mahaian, erabateko materializazioa

Ulertu genuen ezinezkoa zela 10 segundotan exekutatzen den erakusleiho batean hainbat segundoko erantzun-denbora duen aginte-panel bat eraikitzea, eta datu-basearen aldean datuak materializatzeko aukerak kontuan hartu genituen behar den aginte-panelerako bereziki. Baina goian deskribatutako arazo global batekin egin dugu topo: adierazle ez-gehigarriak. Ezin izan dugu ziurtatu iragazkiak edo zulaketak aldatzean, Tableauk modu malgu batean aldatzea produktuen hierarkia desberdinetarako aurrez diseinatutako erakusleiho eta maila ezberdinen artean (adibidean, UTE gabe, UTE1 eta UTE2 duten hiru kontsultak emaitza desberdinak sortzen dituzte). Hori dela eta, aginte-panela sinplifikatzea erabaki dugu, arbeleko produktuen hierarkia alde batera utzi eta bertsio sinplifikatu batean zein azkar izan zitekeen ikustea.

Beraz, azken fase honetan, biltegi bereizi bat muntatu genuen eta bertan KPI guztiak gehitu genituen transposizioan. Datu-basearen aldetik, biltegiratze baterako edozein eskaera 0,1 - 0,3 segundotan prozesatzen da. Arbelean emaitza hauek jaso ditugu:

Lehenengo irekiera: 8-10 segundo
Edozein klik: 6-7 segundo

Tableauk ematen duen denbora honako hau da:

  1. 0,3 seg. — Arbel analizatzea eta SQL kontsultak biltzea
  2. 1,5-3 seg. - Hana-n SQL kontsultak exekutatu bistaratze nagusietarako (1. urratsarekin paraleloan exekutatzen da)
  3. 1,5-2 seg. — errendatzea, bistaratzeen birkalkulua
  4. 1,3 seg. - SQL kontsulta osagarriak exekutatu iragazki-balio garrantzitsuak lortzeko (Marka, Dibisioa, Hiria, Denda), emaitzak analizatuz

Laburbilduz

Tableau tresna gustatu zitzaigun bistaratze ikuspegitik. Prototipaketa fasean, bistaratze-elementu desberdinak kontuan hartu genituen eta liburutegietan aurkitu genituen guztiak, maila anitzeko segmentazio konplexua eta gidari anitzeko ur-jauzi barne.

Salmenten adierazle gakoekin aginte-panelak ezartzean, oraindik gainditu ezin izan ditugun errendimendu-zailtasunak topatu ditugu. Bi hilabete baino gehiago eman genituen eta funtzionalki osatu gabeko aginte-panel bat jaso genuen, erantzun-abiadura onartzeko zorian dagoen. Eta guk geuk atera genituen ondorioak:

  1. Mahaiak ezin du datu kopuru handiekin funtzionatu. Jatorrizko datu-ereduan 10 GB baino gehiago datuak badituzu (200 milioi X 50 errenkada inguru), orduan aginte-panela oso motelduko da - klik bakoitzeko 10 segundotik minutu batzuetara. Zuzeneko konexioarekin eta extractarekin esperimentatu genuen. Eragiketa-abiadura parekoa da.
  2. Biltegiratze anitz (datu multzoak) erabiltzean muga. Ez dago datu-multzoen arteko erlazioa bitarteko estandarrak erabiliz adierazteko modurik. Datu multzoak konektatzeko konponbideak erabiltzen badituzu, horrek asko eragingo du errendimenduan. Gure kasuan, beharrezkoak diren ikuspegien atal bakoitzean datuak materializatzeko eta materializatutako datu-multzo hauek etentzeko aukera aztertu genuen, aurretik hautatutako iragazkiak gordez; hori ezinezkoa izan zen Tableau-n.
  3. Ezin da parametro dinamikorik egin Tableaun. Ezin duzu datu-multzo bat iragazteko erabiltzen den parametrorik osatu ateratze batean edo zuzeneko konexio batean datu-multzoko beste hautapen baten emaitzarekin edo beste SQL kontsulta baten emaitzarekin, erabiltzailearen jatorrizko sarrerarekin edo konstante batekin soilik.
  4. OLAP|PivotTable elementuekin aginte-panela eraikitzearekin lotutako mugak.
    MSTR, SAP SAC, SAP Analysis-en, txosten batean datu-multzo bat gehitzen baduzu, bertan dauden objektu guztiak elkarren artean erlazionatuta egongo dira lehenespenez. Tableauk ez du hau; konexioa eskuz konfiguratu behar da. Hau malguagoa da ziurrenik, baina gure aginte-panel guztietan hori elementuen derrigorrezko baldintza da; beraz, lan-kostu gehigarriak dira. Gainera, erlazionatutako iragazkiak egiten badituzu, esate baterako, eskualde bat iragaztean, hirien zerrenda eskualde horretako hirietara soilik mugatzen da, berehala amaitzen zara datu-basean edo Extract-en ondoz ondoko kontsultak, eta horrek nabarmen moteltzen du. aginte-panela.
  5. Funtzioetan mugak. Masa-eraldaketak ezin dira egin ez ateratzean, ezta, BATEZ ere, Live-connecta-ko datu-multzoan. Hau Tableau Prep-en bidez egin daiteke, baina lan osagarria eta ikasteko eta mantentzeko beste tresna bat da. Adibidez, ezin dituzu datuak transposatu edo bere buruarekin elkartu. Zutabe edo eremu indibidualetan eraldaketen bidez ixten dena, maiuskulaz edo minuskulaz hautatu behar dena, eta honek SQL kontsulta oso konplexuak sortzen ditu, non datu-baseak denbora gehiena kontsulten testua konpilatzen pasatzen du. Tresnaren malgutasun horiek erakusleiho mailan konpondu behar izan ziren, eta horrek biltegiratze konplexuagoa, deskarga osagarriak eta eraldaketak eragiten ditu.

Ez dugu etsi taulan. Baina ez dugu Tableau kontsideratzen industria-arbelak eraikitzeko gai den tresna gisa eta enpresa baten txosten korporatiboen sistema osoa ordezkatzeko eta digitalizatzeko tresna gisa.

Orain aktiboki garatzen ari gara antzeko aginte-panel bat beste tresna batean eta, aldi berean, Tableau-ko aginte-arkitektura berrikusten saiatzen ari gara, are gehiago sinplifikatzeko. Komunitateak interesa badu, emaitzen berri emango dizugu.

Zure ideien edo aholkuen zain gaude ere Tabeau-n datu-bolumen handien gainean aginte-panel azkarrak nola eraiki ditzakezun, txikizkakoan baino askoz datu gehiago dagoen webgunea dugulako.

Iturria: www.habr.com

Gehitu iruzkin berria