Citat:
Isto tako, što je to Cluster ?
Možda se to svuda ne zove isto, ali ono što ja smatram clusterom u bazama podataka je unapred snimljeni rezultat nekog kompleksnog pretraživanja. E sad, implementacija opet zavisi od alata. Jednostavnosti radi pretpostavimo da imaš bazu u kojoj je tabela koja se relativno retko menja i da imaš ogroman broj rekorda u njoj. Takodje, pretpostavimo da imaš neke predefinisane kriterijume za query.
Sada ću preći malo na to kako se to implementira u 4D-u u nadi da ćeš shvatiti generalni princip. 4D ima skupove i komande za rad sa njima. Tako da kada obavim neki query tabela ima neku selekciju rekorda u njoj, a query traje dugo, pa su mi potrebni clusteri. Da bih to ubrzao, napravim skup (
Code:
CREATE SET([Tabela])
), ubacim set u BLOB (svaki rekord zauzima samo jedan bit u setu, tj. postoji informacija o tome da li je rekord u setu ili ne i ništa više), snimim BLOB u Cluster tabelu. Kada mi ponovo zatreba query po zadatom uslovu, ne pretražujem tabelu, već odmah pronalazim odgovarajući BLOB u cluster tabeli, ubacujem ga u set i sa
Code:
USE SET
komandom odmah dobijam selekciju.
Sve je to super kada se podaci ne menjaju ili se relativno retko menjaju u tabeli, jer kada se doda ili obriše odredjeni slog treba sve setove ažurirati u tabeli clustera (tu ti dobro dodje trigger), a to možda duže traje od onog inicijalnog queryja koji smo hteli da ubrzamo.