Blog despre programare

Sfaturi, trucuri, cele mai bune practici de programare

Arhiva pentru martie, 2007

Index clustered si non-clustered

Scris de Catalin Dumitru pe 29/03/2007

SQL Server este un domeniu foarte vast şi majoritatea sunt grabiţi în a parcurge cât mai mult din documentaţii astfel uneori pot trece peste câteva lucruri de bază cum ar fi indecşii clustered sau non-clustered. SQL Server 2005 oferă două tipuri de indecşi clustered si non-clustered. Din definiţie se poate spune ca un index clustered este un index care stochează datele ce formează indexul iar un index non-clustered reţine doar un pointeri (adrese de memorie la care se găsesc datele).

O tabelă poate conţine doar un index clustered şi până la 249 de indecşi non-clustered. Principalul motiv pentru care se utilizează un index este acela de a se putea accesa mai rapid datele pe care o interogare încearcă să le acceseze. Acest index poate să fie atât clustered cât şi non-clustered. Fără un index, SQL Server ar trebui să parcurgă întreaga tabelă până ajunge la rândul care trebuie accesat sau chiar să parcurgă întreaga tabelă. Acest lucru se poate evidenţia cu ajutorul planului de interogare (execution plan) care va utiliza Index Seek (dacă există index) sau Table Scan (dacă nu există).

 Ca metodă de practică ar fi să utilizez index clustered dar numai acolo unde indexul este o coloană ce conţine date, totuşi sunt limitat la un singur astfel de index în fiecare tabelă. O a doua metodă ar fi indexarea tuturor coloanelor dar ar conduce la supraindexare şi ar fi greu de întreţinut toţi indecşi mai ales când se lucrează cu multe instrucţiuni de actualizare (insert, update, delete).

Ca sfat, se poate spune că este mai bine să se creeze index non-clustered acolo unde coloana intră în setul de rezultate pentru că accesarea paginilor de date este mai înceată.

Ca instrumente de depistare a cazurilor în care indexarea nu este corespunzătoare (prea puţin indexată sau supraindexată), se poate utiliza Database engine Tuning Advisor

Publicat în SQL Server | Lasă un comentariu »

OLAP (On Line Analytical Processing)

Scris de Catalin Dumitru pe 19/03/2007

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 şi calcule rapide (sistemele OLAP ofera suport pentru cereri analitice ad-hoc, obiectivul principal al sistemelor OLAP fiind acela de a furniza un timp de răspuns de cinci secunde sau mai puţin, indiferent de tipul de cerere sau de dimensiunea bazei de date, într-un mediu multiutilizator şi distribuit)

Facilităţi 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. 

Publicat în OLAP | 1 comentariu »

Salut !

Scris de Catalin Dumitru pe 16/03/2007

Pentru ca acesta este primul meu post, am sa inaugurez acest blog asa cum se cuvine: plecaciuni, salutari si nu in ultimul rand, BINE TE-AM GASIT CITITORULE

 Eu sunt Katalyn (informatii despre mine se gasesc la pagina corespunzatoare) si deocamdata salut pe toata lumea, bloggeri, cititori, internauti etc. De-a lungul timpului aici voi posta articole legate de programare, articole pe care le voi scrie chiar eu avand ca prioritati sa impartasesc din cunostintele mele si altora dar si sa imi intiparesc mai bine in memorie informatiile prezentate. Acum, pentru ca am facut prezentarile si am explicat printr randuri care este scopul acestuil blog, am sa inchei aici primul meu post si sper ca cele prezentate in continuare sa fie de folos la cat mai multe persoane.

Salut !

Publicat în Diverse | Lasă un comentariu »