Poboljšanje uvoza podataka i objave na web trgovini u Spryker Cloud Commerce OS-u

Spryker Cloud Commerce OS robusna je i visoko skalabilna e-commerce platforma cijenjena zbog svoje fleksibilnosti. Međutim, učinkovita obrada velikih skupova podataka predstavlja značajan izazov, posebice za poslovanja na razini velikih poduzeća.

August 24, 2026 ·

Zahtjevi klijenta

Pregled klijenta

 

Klijent je vodeći cross-channel trgovac u "zelenoj industriji", s više od 130 fizičkih trgovina i snažnom online prisutnošću.

 

Spryker Cloud Commerce OS odabran je kao e-commerce platforma za podršku online poslovanju koje trenutno vodi četiri online trgovine s približno 45.000 šifri artikala (SKU) po trgovini.

 

S obzirom na opseg klijentovog poslovanja i ambicije za daljnji rast, trebali smo razviti rješenje koje odgovara na njihove specifične integracijske zahtjeve, osiguravajući neometanu skalabilnost i neprekinuto poslovanje.

Izazovi u obradi podataka

Učinkovita obrada podataka ključna je za održavanje integriteta i performansi e-commerce platforme. Ovaj odjeljak opisuje značajne izazove s kojima smo se susreli prilikom obrade velikih skupova podataka unutar Spryker Cloud Commerce OS-a.​

Pad performansi Spryker Cloud Commerce OS-a

Obrada velikih skupova podataka (50k+ zapisa) korištenjem Spryker Standard Implementacije dovodi do znatnog pada performansi. Ovaj problem posebno je uočen tijekom projekta kada smo prvi put pokrenuli testove performansi integracije koristeći Spryker Standard Implementaciju.

Ključni izazovi i zapažanja:

  1. Produljeno vrijeme uvoza: Vrijeme uvoza znatno raste s porastom broja zapisa, prvenstveno zbog obrade red po red​
  2. Usko grlo u obradi: Velika količina eventova generiranih vezano uz uvoz, ponekad duplicirana, djeluje kao usko grlo koje usporava cijeli sustav. Ovaj problem ne utječe samo na procese uvoza, već i onemogućuje pravovremenu obradu drugih eventova
  3. Stabilnost Rabbit MQ-a i Jenkinsa: Operacije koje intenzivno troše resurse povremeno su dovodile do rušenja Rabbit MQ-a i Jenkinsa. ​
  4. Kašnjenja u objavi: Dolazi do kašnjenja u ažuriranju cijena proizvoda i dostupnosti zaliha na web trgovini, što rezultira nepodudarnostima gdje kupci mogu vidjeti zastarjele informacije.

 

 

Utjecaj na poslovanje

 

Posljedice uočenih izazova i neučinkovite obrade podataka ne odnose se samo na tehničke performanse i rasipanje resursa, već utječu i na poslovne operacije i zadovoljstvo kupaca te imaju sljedeći utjecaj:

 

 

 

 

Pregled poboljšanog mehanizma

Razvili smo robustan mehanizam koji znatno poboljšava performanse i skalabilnost. Ovaj odjeljak opisuje detalje našeg poboljšanog uvoza i obrade

Poboljšani mehanizam

Kako bismo odgovorili na klijentove integracijske zahtjeve i prevladali ograničenja Spryker Standard implementacije, odlučili smo pokriti cjelokupni proces koristeći dvije ključne komponente: Data Importer i Data Publisher. Ove komponente sastoje se od manjih koraka radi boljeg rukovanja greškama i veće učinkovitosti obrade.​

Ovakav pristup omogućuje nam da unaprjeđujemo performanse i istovremeno učinkovito implementiramo prilagodbe specifične za projekt u budućnosti, čime ne koristimo samo ovom konkretnom klijentu, već i svakom kupcu sa sličnim zahtjevima.

 

Data Importer: Pregled cijena i zaliha

 

 

Primanje podataka iz SAP-a putem Glue API-ja: podaci se primaju i upisuju u uvoznu tablicu​

Parametar veličine grupe (batch size): parametar za definiranje veličine bloka podataka (chunk), u našem slučaju veličina bloka definirana je na 50k zapisa​

Izvršavanje Jenkins Joba: Jenkins job izvršava naredbu koja pokreće proces. Svi sljedeći koraci izvršavaju se u petlji sve dok se ne obrade svi zapisi u uvoznoj tablici. U slučaju greške, petlja se prekida, a poruka o grešci prikazuje se u Jenkins output konzoli.​

Označavanje zapisa za obradu: Dodjeljivanje UUID-ova zapisima u uvoznoj tablici, prema veličini bloka. Svi sljedeći koraci i logika primjenjuju se samo na taj specifični skup zapisa, odnosno blok.​

Izvršavanje kalkulacija: Ovaj korak priprema podatke i ažurira uvoznu tablicu informacijama poput dostupnosti, referenci ponuda, stranih ključeva itd. To nam omogućuje da u sljedećim koracima koristimo samo uvoznu tablicu, čime se smanjuje vjerojatnost database deadlockova na Spryker tablicama.​

Uvoz podataka u Spryker tablice: Obogaćeni podaci uvoze se u Spryker tablice. Svi potrebni podaci preuzimaju se iz uvozne tablice, čime se osigurava da tijekom ovog koraka nisu potrebne dodatne kalkulacije.

 

 

 

Usporedna analiza

Naša inovativna implementacija pokazala je znatno poboljšanje u vremenu obrade. Ovo ubrzanje nije važno samo za održavanje pravovremenih ažuriranja proizvoda, već osigurava i ujednačenost na web trgovini.

 

Usporedna analiza

 

 

U testnom slučaju procijenili smo performanse sustava na velikom skupu podataka od 758k zapisa. Rezultati su bili impresivni. 

 

Ako ekstrapoliramo iz našeg testnog slučaja, za postizanje klijentovog cilja uvoza 6 milijuna zapisa uz korištenje Spryker Standard Implementacije, bilo bi potrebno otprilike cijeli dan (24 sata). Međutim, uz našu poboljšanu implementaciju, isti zadatak mogao bi se obaviti u svega 80 minuta.

 

Ova razlika naglašava učinkovitost i djelotvornost naše poboljšane implementacije, čineći je moćnim alatom za obradu podataka velikih razmjera. Također, nastavljamo raditi na optimizaciji cjelokupnog procesa, čime bismo ukupno vrijeme mogli dodatno skratiti.

 

 

Zaključak

Naša implementacija testirana je i potvrđena na klijentovom projektu, te je rezultirala značajnim poboljšanjem u vremenu obrade, što je ključno za održavanje ažurnosti proizvoda i osiguravanje konzistentnosti na web trgovini.

Sažetak nalaza

Naše promjene u obradi podataka u Sprykeru Cloud Commerce OS-u dovele su do velikog povećanja ukupnih performansi od 94%. To je 18 puta brže od Spryker Standard Implementacije. To znači da tvrtke mogu obrađivati više podataka, brže ažurirati svoje online trgovine i pružiti svojim kupcima najažurnije informacije.

Uklanjanjem manje učinkovitih dijelova Spryker Standard Implementacije smanjili smo nepotrebno trošenje resursa, u skladu s Sprykerovom predanošću održivosti. Optimizacijom korištenja resursa doprinosimo  održivijem i energetski učinkovitijem e-commerce ekosustavu.

Uz to, naše rješenje je fleksibilno. Osmišljeno je da podržava rast poslovanja i promjene, čime osigurava da ostane učinkovito i pouzdano na duge staze. Bilo da podržavamo malu tvrtku koja planira rasti, ili veliku tvrtku koja želi optimizirati poslovanje, naše se rješenje može prilagoditi njihovim potrebama.

Nadalje, ovaj mehanizam bit će dodatno unaprijeđen i prilagođen prema specifičnim potrebama projekta, osiguravajući prilagođeno rješenje za svakog jedinstvenog klijenta i zahtjev.

Ukratko, naš poboljšani mehanizam za Spryker Cloud Commerce OS ne odnosi se samo na bolju obradu podataka. Riječ je o pomaganju tvrtkama da rade učinkovitije, bolje posluže svoje kupce i rastu.