Principiul organizării clusterelor - stadopedia

Clustering-ul este o metodă de stocare în comun a datelor asociate (tabele). Un cluster este o structură de memorie care stochează un set de tabele (în aceleași blocuri de memorie). tabelele Clustered trebuie să aibă coloane comune utilizate pentru conexiune (de exemplu, o cheie primară pentru masă și o masă de cheie externă LIVRARE PRODUS. Fig. 4.8, b).







Figura 4.8. Datele noncluste (a) și grupate (b)

O cheie cluster (KK) este un câmp sau un set de câmpuri comune tuturor tabelelor grupate. Fiecare tabelă stocată în cluster trebuie să aibă câmpuri corespunzătoare tipurilor și dimensiunilor câmpurilor cheii de cluster. Numărul de câmpuri din cheia clusterată este limitat (de exemplu, pentru baza de date Oracle8 această limită este de 16).

Stocarea partajată înseamnă că datele din toate tabelele grupate care au aceeași valoare a cheii de cluster sunt stocate pe o singură pagină sau într-un bloc de memorie. Fizic, acest lucru este de obicei pus în aplicare după cum urmează: la începutul paginii (bloc), stocate în intrarea tabel pentru care cluster este o cheie primară (sau unic), urmată de înregistrarea celuilalt tabel (e) situat având în același cluster valoarea cheii. De fapt, datele sunt stocate ca o asociere a tabelelor cu valorile cheii de cluster. Prin urmare, conexiunea tabelelor grupate în comparație cu tabelele stocate separat este realizată de 3-6 ori mai rapidă.







În cazul în care toate datele referitoare la o valoare-cheie de cluster nu se încadrează într-un singur bloc, noul bloc de memorie alocată și stochează blocul anterior link-ul către acesta. Dar, în cazul în care sistemul permite schimbarea dimensiunii blocului (în particular, Baze de date Oracle), la crearea cluster-ului este de dorit să se stabilească mărimea blocului pe baza estimării înregistrărilor medii de volum, cu valori-cheie identice grupate. Dacă înregistrarea cu aceeași valoare CS ocupă doar o parte a blocului (de exemplu, o medie de la 1K 4K mărimea blocului), apoi crearea tabelului de cluster specifică suma valorilor QC per bloc.

Valorile cheii de cluster a tabelului pot fi actualizate. Dar această actualizare poate provoca o mutare fizică a înregistrării, deoarece Locația înregistrării depinde de valoarea cheii de cluster. Prin urmare, atributele actualizate frecvent nu sunt candidați buni pentru a introduce o cheie clustered.

Două avantaje principale ale clusterelor:

  • Reduce timpul de conectare a tabelelor la valoarea cheii de cluster.
  • Fiecare valoare a cheii de cluster este stocată o singură dată, economisind astfel memoria.

Pe de altă parte, prezența aglomerărilor crește, de obicei, funcționarea adăugând timpul de înregistrare (INSERT): sistemul este petrece mai mult timp căutând blocul în care doriți să puneți un nou record.







Articole similare

Trimiteți-le prietenilor: