Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dilema, sto mislite da je bolje?

[es] :: Baze podataka :: Dilema, sto mislite da je bolje?

[ Pregleda: 2877 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mikelly

Član broj: 16730
Poruke: 389
85.94.116.*



Profil

icon Dilema, sto mislite da je bolje?10.10.2007. u 09:30 - pre 165 meseci
Ovako, radim jednom poznaniku malu bazicu za robno knjigovodstvo.

Sad me interesuje kako da postavim bazu.

Naime, on ima oko 500 artikala, ulaze artikala (povecavaju trenutno stanje) i izlaze artikala (smanjuju trenutno stanje).

Da li mi je pametnije da prilikom svakog ulaza/izlaza modifikujem stanje, ili
da prilikom prikazivanja stanja izracunavam to stanje kao SUM(ulaz) - SUM(izlaz), po artiklu, naravno.

Cini mi se da je drugi slucaj ispravniji jer je manja mogucnost greske, ali moze da bude spor ako ima dosta zapisa.

Sto vi mislite?
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Dilema, sto mislite da je bolje?10.10.2007. u 10:46 - pre 165 meseci
Vec je pisano o tome po forumu, potrazi.

U sustini imas u upotrebi obe metode. U svakom slucaju moras pamtiti ulaze i izlaze u vidu ulaznih i izlaznih dokumenata. Ima smisla da updateujes tabelu artikala sa stanjem pa onda svako toliko napravis obradu i poravnanje sa stvarnim stanjem. U zavisnosti od prometa, znaces koliko cesto ces raditi te izracune.

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Dilema, sto mislite da je bolje?10.10.2007. u 16:01 - pre 165 meseci
Zavuisi koga pitas. Ako pitas knjigovodje i ljude koji su radili robno knjigovodstvo pre nego su relacione baze uvedene u upotrebu, reci ce ti da se absolutno mora izracunavati stanje prilikom svake transakcije. Razlog - pre relaqcionih baza bilo je veoma tesko doci do stanja na osnovu uporedjivanja ulaz i izlaza, ponekad i nemoguce. Stoga je imalo smisla stalno azurirati stanje, pa kad nam zatreba - tu je. Od kako su uvedene relacione baze, stanje je moguce dobiti iz kverija u bilo kom momentu. Ali, neki se plase da ce kveri biti spor.

Da bi kveri postao spor, potrebno je mnooooogo rekorda (meri se milionioma ili desetinama miliona) ili jako aljkavo projektovana baza. Slucaj mnoooogo rekorda se na javlja tako cesto u praksi. Slucaj aljkavo projektovane baze se desava kad neko bez iskustva ili sa pogresnim iskustvom projektuje bazu. neko ko je navikao da izracunava stanje, mozda ce projektovati bazu tako sto ce preslikati COBOL ili Dbase tabele u tabele na nekom SQL serveru i dobiti opet sporu bazu. Time ce se dokazati da su kveriji spori i da nema nista bolje od izracunavanja stanja. Nista lakse, sad imamo i trigere koji to mogu da odrade efikasno, mi smo programeri i volimo da programiramo :-)

Ucini sto ti je srcu drago.

:-)
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Dilema, sto mislite da je bolje?11.10.2007. u 14:38 - pre 165 meseci
a kako se onda u praksi rjesava sporost izvrsenja querya?
ako recimo imamo 300 tablica, i 50 tablica sadrzi preko 1 milijon redaka.
a nama recimo treba upit u realnom vremenu tj. da je izvrsenje maximalno 10 minuta.
znam , sad ce netko reci stavi se jaci server, ili ne znam sta.
ako ovih 300 tablica stavimo na server sa 8 GB rama, i recimo 4 dvojezgrena procesora.
dali bi ovo radilo?
sad ce opet netko reci ovisi o strukturibaze.sto je tocno.rcimo da zanemarimo strukturu.

Edit: Obrisan je nepotreban citat

[Ovu poruku je menjao chachka dana 11.10.2007. u 16:02 GMT+1]
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: Dilema, sto mislite da je bolje?11.10.2007. u 14:41 - pre 165 meseci
Citat:
MarkoBalkan: sad ce opet netko reci ovisi o strukturibaze.sto je tocno.rcimo da zanemarimo strukturu.

Jednostavno, ne možeš zanemariti strukturu.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Dilema, sto mislite da je bolje?11.10.2007. u 20:10 - pre 165 meseci
a kako se onda postupa u takvim situacijama?
kad imamo puno veza, relacija, itd...

recimo malo sam testirao i do 100000 sa dvije tablice radi dosta brzo.
ali kad bude vise tablica, vise relacija. vise redaka, onda nije ni jednostavno za napraviti da radi brzo.

jer kazem idealno vrijeme izvrsavanja querya bi bilo ispod kakvih 5 minuta.
sve sta je iznad 5 minuta je dugo, a kamoli pola sata ili sat.
pa tko ima vremena cekati pola sata da se izvrsi jedan query, a tamo jos ceka 10 komada na red.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Dilema, sto mislite da je bolje?11.10.2007. u 20:15 - pre 165 meseci
Imas jedan query koji ukljucuje 50 tabla po milion slogova? Nesto nije u redu sa arhitekturom....

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Dilema, sto mislite da je bolje?11.10.2007. u 20:26 - pre 165 meseci
ne to.
npr.imam 300 tablica.
50 tablica ima 1000000 redaka.
recimo trebam query koji izbacuje neko prebrojavanje po artiklima ili tako nesto.nije bitno sad.
ali cinjenica je da su sve tablice vezane.
ako imamo 50 tablica, i radimo query, za to bi trebalo jako dugo vremena da se izvrsi.
moje je pitanje kad se pojavi ovakav problem , na koji se nacin rjesava u praksi.
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2736



+33 Profil

icon Re: Dilema, sto mislite da je bolje?11.10.2007. u 20:55 - pre 165 meseci
To što su ti tabele uvezane je samo kvalitet više. Query može po strukturi imati i veći broj tabela u sebi (mada bi broj 50 što reče misk0 govorio o lošoj arhitekturi modela). Nije presudan toliko ni broj redova. Ono što je bitno za brzi rad query-a je da ti u tabelama budu ideksirana polja koja učestvuju u kriterijumima pretrage query-a.
 
Odgovor na temu

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
195.46.55.*



+80 Profil

icon Re: Dilema, sto mislite da je bolje?22.10.2007. u 17:44 - pre 164 meseci
A kada radiš u stvarno velikom sistemu i dođeš do cifri koje pominješ (mada ni ja ne verujem u smislenost upita nad 50 tabela), onda se uvode druga oruđa u igru. Možeš da imaš rezervnu kopiju baze nad kojom će se izvršavati ti besni sintetički upiti. A recimo svake noći radiš sinhronizaciju (ne ti, server radi svake noći :) ) produkcione baze i baze za izveštaje (koja usput može biti i sigurnosni bekap). A i postojanje 2 baze doprinosi rasterećenju. Ili imaš par dodatnih tabela stanja koje ti služe za izveštavanje, i opet svake noći server žvaće podatke za njih. A u tim sintetičkim izveštajima - veruj mi - nije bitno da imaš baš stanje od ovog trenutka, dovoljno je dobro i stanje od noćas.

Naravno, sve ovo ti ne radi posao ako hoćeš bukvalno da vidiš ima li artikla na stanju da bi ga prodao čoveku, ali za tu situaciju sigurno nećeš imati više od 4-5 tabela u upitu.

Kada ni ovi koncepti nisu dovoljno dobri, u priču uleće OLAP (guglaj). I baze koje nisu relacione nego svojom strukturom (takozvane kocke) prilagođene intenzivnom čitanju.


it works on my machine
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2736



+33 Profil

icon Re: Dilema, sto mislite da je bolje?22.10.2007. u 18:57 - pre 164 meseci
Mislim da su većini sa ovog foruma (ili bar većini učesnika ove teme) poznati modeli dimenzionih baza podataka sa postupcima denormalizacije, tabelama dimenzija, tabelam činjenica, data mining metodom za analizu podataka, ali takođe mislim da smo malo otišli predaleko sa savetovanjem u zadnjih par postova jer je ipak pokretač teme na početku rekao da se radi o manjoj bazici za robno knjigovodstvo sa oko 500 artikala.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.kalik.info.



Profil

icon Re: Dilema, sto mislite da je bolje?23.10.2007. u 12:23 - pre 164 meseci
Po mom mišljenju i 5 minuta za izvršenje nekog SQL upita je puno, s osvrtom na problematiku koju je pokretač teme postavio.

Složiću se, kao što je neko rekao, da u tom slučaju baza nije dobro projektovana i da se struktura nikako ne može zanemariti.

Elem, za problematiku koju je Mikelly naveo, stanje u magacinu, dovoljno je par dobro oranizovanih tabela, jedna optimizovana procedura koja će se izvršiti na nekom od servera za bazu, te vratiti set podataka koji ćemo gledati, štampati, etc. Taj proces ne bi smeo da traje duže od par sekundi, mada u nekim slučajevima je i to mnogo.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

[es] :: Baze podataka :: Dilema, sto mislite da je bolje?

[ Pregleda: 2877 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.