[ milosijaa @ 23.04.2007. 07:44 ] @
| Imam dilemu - trilemu kako da dizajniram tabelu koja bi cuvala podatke o mejlovima tj. mejlove (u pitanju je Web mail klijent)
resenje1.
u tabeli se pamti staza to datoteke koja predstavlja mejl. Datoteka se fizicki nalazi na WEB serveru u nekom direktorijumu. Ova tabela sadrzi i dodatne kolone koje sadrze informacije iz hedera mejla kao i flagove
resenje2.
u tabeli se pamti cela emajl poruka kao tekst u "sirovom obliku" (neparsirana, nedekodirana).Ova tabela sadrzi i dodatne kolone koje sadrze informacije iz hedera mejla kao i flagove
resenje3.
u tabelu upisujem parsiranu, dekodiranu poruku,tj. tabela sadrzi sva moguca polja koja su potrebna. (from, to, ... flaged,seen,.....).
Moja zapazanja:
Resenje1, Resenje2
- ne moram da imam posebnu tabelu u koju bi upisivao podatke o attachmentim-a.
- kako su ovako upamcene poruke istog oblika ako i one na MAIL serveru dovoljan je jedan algoritam za prikazivanje i ovih iz baze i onih sa MAIL SERVERA
Resenje3
-Neophodnost dodatne tabele za attachmente,
-Implementacija jos jednog algoritma za prikaz poruka.
ili da zaboravim na bazu i ta koristim iskljucivo file sistem?
Molim vas za misljenje. Svaki predlog je dobrodosao |
[ misk0 @ 23.04.2007. 11:25 ] @
Isto kao i sa slikama - ako mozes, izbjegavaj smjestanje fajlova u bazu. Rjesenje 1 je najbolje po meni, najmanje opterecuje bazu, parsiranje fajla sa diska ide brze nego iz baze podataka. Danas ljudi mailom salju svasta, attachmenti mogu biti stvarno veliki.
[ broker @ 23.04.2007. 15:31 ] @
Ovo ipak nije obicna datoteka i neophodne su opcije pretrazivanja sto znaci da podaci moraju biti u nekom citkom obliku.
Moza je najbolje nesto izmedju, prvo razdvoj poruku na zaglavlje i telo poruke, telo cuvaj tako kako je, da li u jednom polju da li u datoteci, a iz zaglavlaj izvadi bitne podatke i smesti u polja tabele, ali sacuvaj i celo zaglavlje zbog onih podataka koje ne prepisujes u polja tabele. Tako ces imati dovoljno materijala za dobru pretragu a ne moras predvidjati svako moguce polje iz zaglavlja (a toga ima koliko hoces)
[ milosijaa @ 26.04.2007. 15:44 ] @
Postavio sam ovo pitanje na jos nekim forumima, googla-o i odgovori su sareni.
Kada sve sagledam, prica izgleda ovako :
Ako je sve u bazi, sporiji je pristup podacima, kao i pretrazivanje, ali samo do odredjene tacke,tj. kad se nakupi recimo 50GB ili vise sitnih fajlova u obliku attachmenta, mejlova (sto je realno za ocekivati) baza pokazuje svoje prednosti (pouzdanost, brzina pretrazivanja). Dok fajl sistem stuca.
S druge strane ako podatke pamtim kao fajlove na disk, performanse su bolje ako kolicina podataka nije "prevelika".
Kombinacija baze i file sistema mi mozda zvuci kao najlosije resenje, jer nesto pamtim vamo, nesto tamo... Podaci se rasipaju te se lako moze doci u situaciju da stanje u bazi ne odgovara stanju u fajl sistemu i obrnuto.
50GB priblizno oko 5 miliona fajlova ako je jedan velicine(100kb).
Mislim da je ovakva pretpostavka OK, jer su mailovi obicno mali, najcesce manji od 100kb.
Dakle govorimo o ogromnom broju fajlova, koji uvek ima tendenciju rasta. Ove fajlove ne znam kako da delim u foldere, mogu da ubiju sistem.
Ja sam se odlucio da sve trpam u bazu, s tim sto cu imati posebnu tabelu bas za poruke i posebnu tabelu za podatke iz hedera radi lakseg pretrazivanja.
Dakle nesto slicno Brokerovom predlogu.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.