Informatii utile legate de programare


Programare, programare si iarasi..... Programare?!

Home | Profile | Archives | Friends


Index clustered si non-clustered

Posted at 06:30, 10.3.2011

SQL Server este un domeniu foarte vast si majoritatea sunt grabiti în a parcurge cât mai mult din documentatii astfel uneori pot trece peste câteva lucruri de baza cum ar fi indecsii clustered sau non-clustered. SQL Server 2005 ofera doua tipuri de indecsi clustered si non-clustered. Din definitie se poate spune ca un index clustered este un index care stocheaza datele ce formeaza indexul iar un index non-clustered retine doar un pointeri (adrese de memorie la care se gasesc datele).

O tabela poate contine doar un index clustered si pâna la 249 de indecsi non-clustered. Principalul motiv pentru care se utilizeaza un index este acela de a se putea accesa mai rapid datele pe care o interogare încearca sa le acceseze. Acest index poate sa fie atât clustered cât si non-clustered. Fara un index, SQL Server ar trebui sa parcurga întreaga tabela pâna ajunge la rândul care trebuie accesat sau chiar sa parcurga întreaga tabela. Acest lucru se poate evidentia cu ajutorul planului de interogare (execution plan) care va utiliza Index Seek (daca exista index) sau Table Scan (daca nu exista).

 Ca metoda de practica ar fi sa utilizez index clustered dar numai acolo unde indexul este o coloana ce contine date, totusi sunt limitat la un singur astfel de index în fiecare tabela. O a doua metoda ar fi indexarea tuturor coloanelor dar ar conduce la supraindexare si ar fi greu de întretinut toti indecsi mai ales când se lucreaza cu multe instructiuni de actualizare (insert, update, delete).

Ca sfat, se poate spune ca este mai bine sa se creeze index non-clustered acolo unde coloana intra în setul de rezultate pentru ca accesarea paginilor de date este mai înceata.

Ca instrumente de depistare a cazurilor în care indexarea nu este corespunzatoare (prea putin indexata sau supraindexata), se poate utiliza Database engine Tuning Advisor


OLAP - notiuni generale

Posted at 06:19, 11.2.2011

OLAP este acronimul pentru  (On Line Analytical Processing). OLAP realizeaza analize multidimensionale pentru datele de afaceri (business data) si asigura posibilitatea calculelor complexe, analize de trend si modelarea sofisticata a datelor. OLAP a devenit rapid fundamentul solutiilor inteligente incluzand aici si managemnt performat pentru mediul de afaceri, planificare, alocari de buget, previziuni, rapoarte financiare, analize, simulare prin modele, descoperiri de date si raportare din depozite de date. OLAP permite utilizatorilor sa realizeze analize ad-hoc din mai multe dimensiuni, asigurand buna intelegere a nevoilor de cunostiinte pentru luarea celor mai bune decizii.

Sistemele OLAP au ca rol, in cadrul organizatiilor, acela de a oferi un acces interactiv si usor la resursele analitice necesare procesului decizional si de conducere. In cadrul sistemelor suport de decizie (SSD) sunt recunoscute doua tipuri de resurse analitice: datele (informatii statice) si modele (informatii dinamice).Deocamdata nu exista o teorie proprie pentru OLAP universal acceptata insa exista o serie de reguli (principii) care pun in evidenta potentialul sistemelor OLAP:

La baza tuturor activitatilor dintro organizatie se afla prelucrarea informatiilor (colectarea, stocarea, comunicarea si manipularea datelor)

Teoria sistemelor suport de decizie (sistem informatic interactiv, flexibil si adaptabil, special proiectat pentru a oferi suport in solutionarea unor probleme manageriale nestructurate sau semistructurate, cu scopul de a imbunatati procesul decizional, ce utilizeaza date si modele, ofera o interfata simpla si usor de folosit, permite decidentului sa controleze procesul decizional si ofera suport pentru toate etapele procesului decizional)

Acces rapid si calcule rapide (sistemele OLAP ofera suport pentru cereri analitice ad-hoc, obiectivul principal al sistemelor OLAP fiind acela de a furniza un timp de raspuns de cinci secunde sau mai putin, indiferent de tipul de cerere sau de dimensiunea bazei de date, într-un mediu multiutilizator si distribuit)

Facilitati analitice puternice (sistemele OLAP permit navigarea interactiva la niveluri diferite de agregare si viziuni multidimensionale ale datelor)

Flexibilitate (sistemele OLAP trebuie sa dispuna de prezentari, grafice, definitii, analize, interfete)Suport multiutilizator

Sistemele OLAP sunt o aplicatie a combinarii între algoritmi si structuri de date in scopul de a creste puterea de calcul

Sistemele OLAP sunt cel mai potrivit mediu pentru implementarea modelelor de afaceri (business models) ce aplica principiile dinamice ale sistemelor.


5G