De cate interogari e nevoie pentru a importa 1600 produse intr-un magazin online popular?
Last Updated: Mar 13 2021 11:16, Started by
dani.user
, Mar 11 2021 11:39
·
0

#1
Posted 11 March 2021 - 11:39

De curiozitate, am vrut sa vad cum se comporta o platforma populara pentru magazine online din punct de vedere al resurselor necesare.
Asa ca am importat 1600 produse aleatoare stocate intr-un csv de vreo 800 KB (incape pe o discheta). Cate interogari SQL credeti ca a executat platforma pana la finalizarea importului? [To be continued] |
#2
Posted 11 March 2021 - 11:48

Ce intrebare stupida.
Poate sa fie una,poate 10 sau 1600.De unde sa stim noi cum a fost scris codul la platforma mister? |
#3
Posted 11 March 2021 - 12:28

#4
Posted 11 March 2021 - 12:29

In mod eficient, unul singur.
Noi importam datele in batch-uri/calupuri. Momentan e o valoare fixa per batch, dar pe viitor putem sa o setam dinamic in functie de ce date sunt si performantele sistemului unde e baza de date. |
#5
Posted 11 March 2021 - 12:34

Voi reveni cu detalii. Pana atunci adun pareri sa vad cam la ce valori se asteapta lumea.
Pana acum avem cazul ideal - o interogare si varianta mai pesimista cu o interogare/produs. |
#6
Posted 11 March 2021 - 12:38

Depinde cum platforma modeleaza datele. Se poate sa fie de 10 ori numarul de produse daca entitatile sunt modelate corect.
Am lucrat cu tabele cu 50+ de coloane. Am in fata un tabel cu 172 de coloane. Asta e, nu toata lumea stia in anii 2000 despre normalizarea bazelor de date. |
#7
Posted 11 March 2021 - 13:16

In mod eficient, unul singur. ![]() astfel de operatiuni (importul punctual al unui numar mare de produse) sunt irelevante pentru functionarea normala a unui magazin online "mediu". asta pentru ca : - operatiunile de genul asta sunt relativ rare - utilizatorii se asteapta la performanta/eficienta atunci cand e vorba de accesat si folosit magazinul online cat timp nu dureaza mai mult de o noapte, nu-i pasa nimanui cat are de asteptat si cate operatiuni se executa in baza de date. e de preferat un magazin online in care cautarea unui produs sa fie rapida (chiar daca importul produselor dureaza toata noaptea) unui magazin online la care importul e "eficient" si se executa cu o singura intructiune, dar cautarea unui produs dupa nume/proprietati dureaza 10-20 secunde. |
#8
Posted 11 March 2021 - 14:17

Depinde de cum e arhitectura. Importurile de date se pot petrece in fundal, dar solicita baza de date. E de preferat si importul sa se intample cat mai repede cu putinta. Eu cand definesc arhitectura tintesc ca baza de date sa stea ca mai mult in asteptare (load 0). Asa stiu ca e mereu pregatita sa primeasca cereri.
|
#9
Posted 11 March 2021 - 14:54

in cazul asta, n-ar trebui sa mentionezi eficienta
![]() un sistem cu adevarat eficient sta mereu la 99.99%. mai are intotdeauna cateva resurse disponibile, dar nici nu blocheaza inutil resurse "in asteptare". |
#10
Posted 11 March 2021 - 17:43

Nu avem cum sa stim si nici nu cred ca are mare importanta. Prin "interogari" banui ca te referi la statement-uri de cod sql. Astea pot avea complexitate(respectiv performante) foarte diferite, in functie de ce anume se face, in functie de baza de date din spate.
Mai intai ar fi un proces de incarcare intr-un tabel, dupa aia posibili pasi de normalizare - iar per total lucrurile pot diferi masiv in functie de multi factori(perfomanta loader, performanta engine dbms, structura tabelelor create si relatiile dintre ele/pasii de normalizare, si desigur cum anume acea platforma de shopping a gandit si integrat aceste chestiuni) |
|
#11
Posted 11 March 2021 - 19:14

Pai o fi scris unul un cod ce facea update la fiecare coloana dupa un insert linie?!
![]() Edited by neagu_laurentiu, 11 March 2021 - 19:16. |
#12
Posted 11 March 2021 - 20:44

Valoarea in acest caz e in jur de 700000.
O lista cu principalele interogari identificate ![]() |
#13
Posted 11 March 2021 - 22:09

felicitari, ai descoperit ca un sistem generic are si ceva infrastructura in spate
![]() tu folosesti un plugin ( WooCommerce ) al unui CMS ( WordPress ) si te miri ca face o gramada de chestii in spate. da, o solutie dedicata poate face importul cu o singura instructiune sql; dar solutia aia dedicata nu face nici macar 1% din ce poate face platforma cu care o compari (WP+WC) |
#14
Posted 11 March 2021 - 22:35

Cat timp poate executa ce interogari doreste, nu vad de ce ar trebui sa fie un impediment faptul ca e un plugin fata de un produs de sine statator.
|
#15
Posted 12 March 2021 - 08:08

nu inteleg, de ce n-ar putea executa "ce interogari doreste" ?
lol poate n-am inteles eu tonul acestui topic; am avut impresia ca vrei sa ne arati cat de "proasta" este platforma respectiva pentru ca are nevoie de o gramada de interogari pentru un import, iar acum o dai "intoarsa" ca de fapt e ok si nu-i nici un impediment ![]() e ca si cum te-ai uita la un film in care cineva desface o sticla de bere cu un excavator ( [ https://www.youtube-nocookie.com/embed/mrEXfIzKrYA?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] ) si ai comenta "ce fraier, i-a luat mai bine de 1 minut, pai eu in 5 secunde o desfaceam", uitand ce poate face excavatorul ala si ce poti face tu. Edited by _Smiley_, 12 March 2021 - 08:08. |
|
#16
Posted 12 March 2021 - 09:23

un sistem cu adevarat eficient sta mereu la 99.99%. Bazele de date, cel putin pe ce lucrez eu, nu merg pe idea "primul venit, primul servit". Cu cat baza de date are mai multe query-uri in executie, cu atat fiecare din ele este intarziat. Daca un query dureaza 0.003 secunde, daca sunt 200 de query-uri in pipeline simultan, fiecare va dura 5 secunde, deci totul va fi terminat in 1000 secunde. In loc de 0.003 * 200 = 0.6 secunde. Si stiu, am query-uri care selecteaza o intrare dintr-un tabel cu 4 coloane si 3 randuri care dureaza cu minutele cand vine un puhoi de cereri. De aia prefer ca BD sa fie mereu goala prin eficientizarea executiei tuturor cererilor, ca sunt necesare pentru aplicatii, ca sunt query-uri ce au loc in fundal. Edited by RedDev, 12 March 2021 - 09:26. |
#17
Posted 12 March 2021 - 10:25

Comentariul era legat de asta
tu folosesti un plugin ( WooCommerce ) al unui CMS ( WordPress ) si te miri ca face o gramada de chestii in spate. Daca erau cereri de citire/afisare pagina intelegeam ca pentru fiecare mai executa si CMSu diverse cereri in spate. Dar fiind o cerere de import nu vad ce vina ar avea CMSul. Nu vad de ce existenta CMSului (fata de o platforma dedicata) ar fi cauza tehnica pentru atat de multe interogari. |
#18
Posted 12 March 2021 - 11:05

Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users