Preskoči na sadržaj

Projekat 13 · Podaci i infrastruktura

Ubrzanje izvještaja bez izmjene upita i šeme

Za dobavljača velikih američkih trgovačkih lanaca ubrzao sam izvještaj najvećeg kupca s više od 15 minuta na 0,2 sekunde. Nijedan sačuvani izvještaj nije trebalo praviti iznova.

AngažmanArhitekta skladišta podataka · 2025 – danas · direktan klijent · izbor skladišta bio je mojObjavljeno

sa preko 15 minuta → 0,2 sekunde

Izvještaj najvećeg kupca

4 minute → 0,1 sekunde

Drugi izvještaj

Nijedan kupac nije morao ponovo napraviti ijedan sačuvani izvještaj

Priča u 5 koraka

Stack

  • Amazon Redshift
  • S3
  • MySQL
  • materijalizovani view-ovi

01 · Kontekst

Klijent isporučuje modne dodatke velikim američkim maloprodajnim lancima, a ti lanci podatke o svojoj prodaji gledaju u BI alatu.

Vrijeme otvaranja izvještaja najvećeg kupca skraćeno je s više od petnaest minuta na dvije desetinke sekunde, a drugog izvještaja s četiri minute na desetinku.
Nielsen Norman Group navodi 1 sekundu kao granicu do koje misao teče bez prekida, a 10 sekundi kao granicu pažnje, nakon koje korisnik ode raditi nešto drugo.

02 · Nije se smjelo mijenjati

Izvještaj je dio onoga što klijent prodaje: kupci ga otvaraju da vide kako se prodaju njihovi proizvodi.

Upite generiše BI alat, pa nije bilo šta prepisivati.
Preostalo je da upiti i šema ostanu potpuno isti, a da se promijeni sistem nad kojim se izvršavaju.

03 · Šta sam uradio

Izabrao sam Redshift zato što je klijent selio sve servise na AWS.

Nije bilo migracije u uobičajenom smislu, jer su postojeći jobovi već izvozili podatke o više od 200 miliona proizvoda iz izvornog MySQL sistema u S3.
Distribution i sort ključeve izabrao sam prema upitima koje BI alat stvarno izvršava.
Najteže izvještaje prebacio sam na materijalizovane view-ove, sa zavisnim view-ovima nad njima, koji se inkrementalno osvježavaju jednom dnevno.

04 · Rezultat

Izvještaj najvećeg kupca: sa preko 15 minuta → 0,2 sekunde

Drugi izvještaj: 4 minute → 0,1 sekunde
Nijedan kupac nije morao ponovo napraviti ijedan sačuvani izvještaj
Dnevno osvježavanje, uz provjeru prema izvoru

05 · Šta bih uradio drugačije

Dnevno osvježavanje bilo je ispravno za ove podatke, koji ionako stižu jednom dnevno.

Povezane usluge

Usluge koje se oslanjaju na ovaj projekat.

Povezani tekstovi

Tekstovi nastali iz ovog projekta.

Projekat 13

Radite na sličnom problemu? Odgovaramo u roku od jednog radnog dana.

Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.

Opišite nam svoj projekatcontact@microtech.consulting