10 Recomandări pentru crearea unui depozit de date relațional la scară largă

Se recomandă partiționarea tabelelor cu fapte mari

  • Se recomandă divizarea tabelelor factuale în dimensiuni de 50-100 GB sau mai mult.
  • Partiționarea poate simplifica gestionarea datelor și duce adesea la creșterea productivității.
    • Întreținerea rapidă și mai detaliată a indexurilor
    • Opțiuni mai flexibile pentru backup și recuperare.
    • Accelerarea descărcării și ștergerii datelor.
  • Accelerarea activității cererilor, limitată la o secțiune.
  • De obicei, tabelul cu fapte este împărțit în funcție de cheia de dată.
    • Vă permite să aplicați metoda ferestrei glisante.
  • Vă permite să aplicați tehnica de "eliminare" a secțiunilor.

Construiți indexul grupat pe cheia de dată din tabelul fact

Fii atent cu alegerea fragmentului de partiționare

Proiectați corect tabelele de măsurare

Scrieți interogări eficiente pentru a elimina secțiunile

  • Ori de câte ori este posibil, utilizați cheia de partiție (tasta de măsurare a datei) a tabelului de fapte din predicatul interogării (clauza WHERE).

Utilizați metoda ferestrei glisante pentru a însoți datele

Descărcați datele originale într-o manieră eficientă

Ștergeți efectiv datele vechi







  • Ori de câte ori este posibil, utilizați comutarea între secțiuni.
  • Dacă aveți nevoie să eliminați mai multe milioane de rânduri din tabele indexate nepartimentate:
    • Nu utilizați DELETE FROM ... WHERE ...
      • În acest caz, vor exista probleme semnificative asociate cu blocarea și logarea.
      • Dacă anulați ștergerea, revocarea va dura mult timp.
    • De regulă, cu atât va fi mai rapid:
      • Inserați înregistrări într-o tabelă neindexată folosind instrucțiunea INSERT.
      • Creați index (indexuri) pentru tabel.
      • Redenumiți tabelul nou pentru a înlocui tabelul original.
  • Ca metodă alternativă, puteți aranja eliminarea în porțiuni mici prin executarea ciclică a instrucțiunii DELETE TOP (1000) ...; COMMIT
  • Ca o altă alternativă, puteți marca liniile ca șterse și să amânați îndepărtarea însăși și să o executați într-o perioadă de încărcare redusă.

Gestionați statisticile manual

  • Statisticile privind tabelele partiționate sunt păstrate pentru întregul tabel.
  • După descărcarea datelor noi, actualizați manual statisticile pentru tabelele cu fapte mari.
  • După reconstruirea indexului pentru secțiune, actualizați manual statisticile.
  • Dacă statisticile sunt actualizate periodic, după încărcarea periodică a datelor, generarea automată a statisticilor (parametrul AUTOSTATS) pentru acest tabel poate fi dezactivată.
  • Acest lucru este important pentru optimizarea interogărilor, ceea ce poate necesita citirea numai a celor mai noi date.
  • De asemenea, puteți îmbunătăți performanța prin actualizarea statisticilor pe tabele de dimensiuni mici după adăugarea datelor. Pentru a obține planuri de interogare mai exacte, utilizați parametrul FULLSCAN pentru a actualiza statisticile din tabelele de dimensiuni.

Alegeți strategii de rezervă eficiente







Trimiteți-le prietenilor: