Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Propuneti sigla PSDNL pentru euro...

Tencuiala tavane cu folie de plas...

A cunoaste DOAR limba engleza e u...

Izolatie tavan?
 Telefoane low end - generalitati

setare permanenta 16:10 in VLC?

Schimbare nume strada se schimba ...

¨Pentru ca ti-a placut Einstein &...
 Produsele marca proprie ar putea ...

Slabire burta

Extender mikrotik

Puț apa in comuna Berceni Il...
 Configurare router TP-Link (trans...

Informatie job secundar

VLC Media Player

WoW Ascension parere
 

De cate interogari e nevoie pentru a importa 1600 produse intr-un magazin online popular?

* * * * * 1 votes
  • Please log in to reply
21 replies to this topic

#1
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,071
  • Înscris: 24.02.2007
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
dana_alexa_92

dana_alexa_92

    Member

  • Grup: Members
  • Posts: 369
  • Înscris: 12.08.2019
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
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010

View Postdani.user, on 11 martie 2021 - 11:39, said:


Cand lucram cu .Net si Entity Framework si importam linii de documente, inseram batchuri de cate 5000 Posted Image Cum zice dana, nu prea ai de unde sa stii, e la preferinta fiecaruia.

#4
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,918
  • Înscris: 29.10.2014
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
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,071
  • Înscris: 24.02.2007
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
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,918
  • Înscris: 29.10.2014
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
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,919
  • Înscris: 24.02.2006

View PostRedDev, on 11 martie 2021 - 12:29, said:

In mod eficient, unul singur.
cum definesti eficienta? :)


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
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,918
  • Înscris: 29.10.2014
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
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,919
  • Înscris: 24.02.2006
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
Korloff

Korloff

    Member

  • Grup: Members
  • Posts: 970
  • Înscris: 25.08.2020
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
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,542
  • Înscris: 30.07.2003
Pai o fi scris unul un cod ce facea update la fiecare coloana dupa un insert linie?! Posted Image

Edited by neagu_laurentiu, 11 March 2021 - 19:16.


#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,071
  • Înscris: 24.02.2007
Valoarea in acest caz e in jur de 700000.

O lista cu principalele interogari identificate

Attached File  queries.png   6.73K   47 downloads

#13
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,919
  • Înscris: 24.02.2006
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
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,071
  • Înscris: 24.02.2007
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
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,919
  • Înscris: 24.02.2006
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 Posted Image

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
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,918
  • Înscris: 29.10.2014

View Post_Smiley_, on 11 martie 2021 - 14:54, said:

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
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,071
  • Înscris: 24.02.2007
Comentariul era legat de asta

View Post_Smiley_, on 11 martie 2021 - 22:09, said:

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
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,071
  • Înscris: 24.02.2007

View PostRedDev, on 12 martie 2021 - 09:23, said:

Cu cat baza de date are mai multe query-uri in executie, cu atat fiecare din ele este intarziat.

Nu neaparat. Daca baza de date sta dupa IO iar interogarile ulterioare cer aceleasi lucru, se poate folosi de valori cacheuite.

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate