Professional Documents
Culture Documents
Particioniranje podataka
Ako standardne
metode
optimizacije više
nisu dovoljne,
vrijeme je za
particioniranje kao
posljednju liniju
obrane
RIKARD PAVELIĆ
B
aze podataka su ključ-
ni dio poslovnih su-
stava. Velike količine
podataka koje sadrže zahti-
jevaju sve više računalnih
resursa. Česta je pojava da
sustav toliko naraste da nje-
govo opterećenje prijeđe pri-
hvatljive granice. Najčešći je
uzrok neiskustvo ili neznanje Raspodjela podataka po
programera i arhitekata tog particijama i potparticijama.
sustava, čiji se dizajn i im- Svaka particija ide na
plementacija ne mogu nositi zasebni disk
za zahtjevima postavljenima
sustavu. Uglavnom se skoro
mjenama nekih metoda optimiza-
svi problemi mogu riješiti primjenama optimiza se baza nalazi može se otprilike zaključiti koliko je razvijeno
cije, ali one zahtijevaju znanje i iskustvo u rješavanju raznih particioniranje u pojedinom SQL serveru. U DB2 i Oracleu, koji
optimizacijskih problema. Također je vrlo bitno poznavanje prevladavaju na vrlo velikim bazama, particioniranje je daleko
baze podataka jer zbog različitosti arhitektura neke optimizacije razvijenije nego u MS SQL Serveru i PostgreSQL-u, koje često
primjenjive na jednoj bazi nisu primjenjive na drugim bazama. barataju s bazama manjima za red veličine.
Particioniranje je metoda optimizacije koja se uglavnom po-
sljednja primjenjuje. Ona se primjenjuje tek kada se pojavi Vrste particioniranja
potreba za njom, tj. kad ostale optimizacije više nisu dovoljne Particioniranjem zovemo podjelu baze ili njenih elemenata na
da bi se obrada podataka mogla smatrati dovoljno brzom. Zbog različite nezavisne dijelove. Prema načinu podjele postoje hori-
različitih arhitektura baza i stupnjeva razvijenosti particioniranje zontalno i vertikalno particioniranje. Vertikalno particioniranje
nije moguće jednostavno izvesti na mnogim sustavima, a često se često ni ne smatra particioniranjem, već samo normalizaci-
implementacija particioniranja zahtijeva odustajanje od nekih jom tablice. Da bi particioniranje bilo uspješno, prilikom upita
kritičnih mehanizama osiguranja koje baze pružaju (poput refe- baza mora moći isključiti nepotrebne particije iz analize podata-
rencijskog integriteta). U skladu sa segmentom tržišta na kojem ka. Time će se smanjiti skup podataka koji je potrebno obraditi,
Brzina upita - ako se većina pretraživanja nad podacima izvodi nad manjim Kompleksnost - ako ne postoji ugrađen način ili je potreban neki specifični
skupom podataka, stvaranjem particija po tim skupovima upiti će se brže način za održavanje particija, potrebno je izgraditi podršku za izgradnju i izmjenu
izvoditi i manje opterećivati server. particija. Particioniranje je potrebno testirati na stvarnim podacima da bi se
Brisanje podataka - particije se mogu dijeliti na aktivne i pasivne, s mogao odrediti najbolji način za particioniranje. Iz tog se razloga particioniranje
tendencijom da se pasivne particije s vremenom gase. Brisanje podataka radi tek kada se pojavi potreba.
uklanjanjem particija brzo je i bezbolno. Ograničenja upita - da bi upiti iskoristili particije na najbolji mogući način,
Dodavanje podataka - dodavanje novih podataka kroz dodavanje novih potrebno je u njih ugraditi particijske ključeve, inače će raditi nad cijelim
particija ne smanjuje performanse upita koji trenutno rade nad podacima. skupom podataka, pa particioniranje neće imati utjecaja (ili će dodatno
Održavanje - ako postoji procedura za održavanje particija, održavanje baze smanjiti performanse).
podataka postaje puno brže i jednostavnije. Paralelno defragmentiranje tablica Denormalizacija dizajna - particioniranje uglavnom pretvara normalizirani
ili indeksa mnogo slabije utječe na performanse sustava. dizajn u denormalizirani, tako da je potrebno voditi računa o određenim
redundancijama, gubljenima ograničenja ili ručnim implementacijama
određenih ograničenja.