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

Organizacija baze par pitanja

[es] :: MySQL :: Organizacija baze par pitanja

[ Pregleda: 1889 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bloker
R. Srpska

Član broj: 79958
Poruke: 216
*.telrad.net.



+3 Profil

icon Organizacija baze par pitanja21.11.2011. u 12:26 - pre 150 meseci
Treba da napravim aplikaciju za arhiviranje vijesti.. Na godišnjem nivou ima između 30 000 i 50 000 vijesti. Tabela u koju smiještam vijesti izgleda otprilike ovako:

GODINA*(INT), BRPROTOKOLA*(INT),NASLOV(VC),TEKST(TEXT)

U polje TEKST se smiješta između pola i cijele strane A4 formata teksta..
E sada me interesuje kako da riješim problem brzine pretrage po bazi? Pretraga će se vršiti po godini i nekoj riječi iz pola TEKST.
Da li ću povećati brzinu pretrage ako razdvojim vijesti po godinima u različite tabele (vijesti2010, vijesti2011, vijesti2012) ili ako ih razdvojim u zasebne baze?
I da li će biti mnogo sporo ako to budem sve "trpao" u jednu tabelu?

Hvala,
Milenko.
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.20.*



+303 Profil

icon Re: Organizacija baze par pitanja21.11.2011. u 12:40 - pre 150 meseci
Mislim da ce ti i tako i tako biti sporo...
Zasto ne bi napravio neku analizu teksta, da ti izbaci najcesce koriscene reci u tekstu, ili kako god tebi odgovara, pa posle te reci bacis u novu tabelu i na osnovu nje radis pretragu?
 
Odgovor na temu

bloker
R. Srpska

Član broj: 79958
Poruke: 216
*.telrad.net.



+3 Profil

icon Re: Organizacija baze par pitanja21.11.2011. u 14:04 - pre 150 meseci
Malo mi je problem da odaberem sve ključne riječi po kojima će se vršiti pretraga..
Jer ću morati da tražim od onoga ko unosi te vijesti da doda i ključne riječi za te vijesti, a to u mnogo slučajeva neće biti dovoljno za pronalaženje određene vijesti..
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Organizacija baze par pitanja21.11.2011. u 14:36 - pre 150 meseci
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

godinu možeš da koristiš u where uslovu, pa još ako imaš indeks po tome...
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Organizacija baze par pitanja21.11.2011. u 20:29 - pre 150 meseci
A eksterni softver za full tekst search?
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: Organizacija baze par pitanja22.11.2011. u 00:40 - pre 150 meseci
to sto tebi treba da sacuvas se ne cuva u rdbms-u i mysql nije validan resource za to ... ako bas hoces da cuvas u mysql-u onda za pretragu moras da koristis http://sphinxsearch.com/ ili nesto slicno.

baze podataka za takve podatke su drugog tipa, to bi najlakse/najbrze resaio sa lucene database serverom na primer. On ti je idealan
- nema update, ima samo insert i delete (a ti ces svejedno da pravis arhivu znaci imas samo insert)
- indexira sadrzaj full tekst indexom (te mozes da pravis komplikovane upite - kao recimo sto google pretrazuje web sajtove)
- radi dosta brze nego mysql + sphinx

ako neces javu, mozes da koristis clucene sto je isto to samo c++
 
Odgovor na temu

bloker
R. Srpska

Član broj: 79958
Poruke: 216
*.telrad.net.



+3 Profil

icon Re: Organizacija baze par pitanja22.11.2011. u 17:15 - pre 150 meseci
Sutra ću da probam pretragu sa ovim Sphinx-om da vidim kako radi..
I da li ću da ubrzam pretragu ukoliko razdvojim te vijesti po godinama ili ako su sve u jednoj tabeli?
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Organizacija baze par pitanja22.11.2011. u 18:47 - pre 150 meseci
I meni je sphinx pao na pamet, ali nisam hteo da ofrsiram resenje... Radi to fino, a jos finije moze da se napravi i cluster sphinx servera, koji onda mogu stvarno doooobrooo da skaliraju :).
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.static.isp.telekom.rs.

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: Organizacija baze par pitanja28.11.2011. u 09:32 - pre 150 meseci
Citat:
bloker: Sutra ću da probam pretragu sa ovim Sphinx-om da vidim kako radi..
I da li ću da ubrzam pretragu ukoliko razdvojim te vijesti po godinama ili ako su sve u jednoj tabeli?


Pošto to ti niko nije odgovorio, ne nećeš ubrzati primetno (u odnosu na varijantu gde je godina indeksirana pa radiš WHERE godina = 2011). Samo ćeš sebi zakomplikovati život.
"Common sense is not so common." - Voltaire
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: Organizacija baze par pitanja28.11.2011. u 09:40 - pre 150 meseci
da, ako ti je cesta pretraga sa where godina= .. onda particionisi tabelu po godinama
 
Odgovor na temu

bloker
R. Srpska

Član broj: 79958
Poruke: 216
*.teol.net.



+3 Profil

icon Re: Organizacija baze par pitanja29.11.2011. u 09:20 - pre 150 meseci
Pretragu sa godinom sam samo uzeo da bih suzio količinu redova nad kojima se vrši full-text search..
Probao sam funkciju za Full-text search MATCH('Content') AGAINST ('keyword1 keyword2') i testirao sam je na tabeli od oko 50K redova i radi dosta brzo (max par sekundi)..
E sada da li je ovaj način pretrage bolji (brži) od LIKE "%keyword%"?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Organizacija baze par pitanja29.11.2011. u 09:27 - pre 150 meseci
Nema goreg načina pretrage od LIKE '%keyword%', prema tome, bilo šta drugo da koristiš, biće bolje.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: Organizacija baze par pitanja29.11.2011. u 10:43 - pre 150 meseci
MATCH je ok, problem sa MATCH je sto radi samo na myisam-u (od 5.6 bi trebalo da i u innodb-u ima fts mada videcemo) a myisam nije bas reprezentativni storage engine (nema transakcije, nije crash safe ..) ... ako ti je cela baza to o cemu pricas (vesti) bolje ti je da zaobidjes rdbms i bacis se na ono pravljeno bas za to (npr lucene), ako imas jos sta osim vesti tu a samo ti vesti prave problem, bolje ti je da naucis sphinx i spojis ga sa mysql-om... mysql ima fts (u myisam-u samo, bice nekad i u innodb-u) ali doticni nikad nece moci da radi tako dobro kao lucene ili kao sphynx iz prostog razloga sto je pravljen za "opstu primernu" i bez nekog extra podesavanja dok sphynx i lucene sluze bas za to sto tebi treba
 
Odgovor na temu

bloker
R. Srpska

Član broj: 79958
Poruke: 216
*.teol.net.



+3 Profil

icon Re: Organizacija baze par pitanja29.11.2011. u 13:53 - pre 150 meseci
Gdje mogu da nađem za šta je koji storage engine najbolji? Tj. gdje je koji najbolje primijeniti.
Hvala.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.61.*

Sajt: mysql.rs


+2377 Profil

icon Re: Organizacija baze par pitanja29.11.2011. u 14:05 - pre 150 meseci
nema sta da trazis

InnoDB je moderan storage engine koji podrzava full ACID
MyISAM je zastareo storage engine koji nema transakcije, nije crash safe, nije ... nema ... ne moze ...

MyISAM ima samo 2 stvari koje moze brze / bolje od InnoDB-a

1. full text search (5.6 bi trebao da dodje sa full text search u innodb-u)
2. vracanje metadata informacija (COUNT(*) ce iz myisam-a doci "odma" zato sto ce myisam to izvaditi iz metadate, innodb mora da izbroji, to myisam moze samo zato sto uvek samo jedan thread moze da pise po njemu pa mu je jednostavno da odrzava takve meta podatke)

Generalno MyISAM nije storage engine o kome treba razmisljati osim za stvari tipa temporary tabele i slicno

Ako oces da citas o storage engine-ima:
http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html


 
Odgovor na temu

[es] :: MySQL :: Organizacija baze par pitanja

[ Pregleda: 1889 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

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