Welcome to Sign in | Help
in Search

Partitioned tables

Last post 05-05-2009, 9:31 AM by arcgotic. 3 replies.
Sort Posts: Previous Next
  •  04-29-2009, 11:54 AM 7071

    Partitioned tables

    Buna ziua,

    am o intrebare referitoare la partitionarea tabelelor.

    Avem o baza cu 3ani fiscali in ea, si la un moment dat in viitorul apropiat o sa schimbam serverul(masina fizica) pe care merge SQL 2005 cu unul mai puternic. In acest moment avem SQL2005 standard. (ar trebui Enterprise pt a avea partitionare, vom vedea ce facem...)
     
    Intrebarea e: daca ati avut o situatie reala inainte/dupa partitionare de tabele mari, ati avut inbunatatiri de performanta pe aceste tabele?
    Ati partitionat si view-uri?A crescut timpul de insert?

    Mentionez ca partitionarea va fi facuta pe acelasi server, pe un raid separat. (daca va fi facuta..)

    DIn ce am citit pe net, sunt inbunatatiri dar vreau si parerea voastra legata de experiente reale cu partitionarea.

    Multumesc,
    Dani
  •  04-30-2009, 6:51 PM 7078 in reply to 7071

    Re: Partitioned tables

    Partitionarea aduce imbunatatiri reale cind este corect facuta.

    Pentru ca sa fie efectiva trebuie ca planurile de access sa poata beneficia de informatia ca numai o partitie contine datele de interes si sa nu acceseze celelate partitii (adica o clauza WHERE care sa fie SARG-able si care sa contina conditii pe cimpurile din functia de partionare iar conditiile sa determine clar o singura partitie). Daca query-urile tale genereaza azi planuri cu full scan partitionarea nu o sa ajute cu nimic, ba chiar o sa mearge semnificativ mai incet din cauza complicarii compilarii.
    View-urile sint structuri logice si partitionarea este structura fizica, intrebarea despre 'partitionarea' view-urilor' nu o inteleg. O intrebare mai sensibila ar fi daca partitionezi si indexsii, si anume care indexsi si cum.
    Timpul de insert in general ramine neschimbat (se adauga la planul de insert determinarea partitiei si cam atit). Ca idee generala este foarte rar cazul cind timpul de insert este relevant (ai un OTLP cu peste 1000 de tranzactii pe secunda? sincer ma indoiesc). Daca aplicatia ta are timpi mari de insert este mult mai probabil ca problema este din design-ul aplicatiei si timpul este pierdut in asteptare de lock, nu din accesul fizic. Partitionarea nu o sa rezolve asa ceva.

    Idee este ca partitionarea este un subiect destul de avansat. Nu te apuca de ea pina nu intelegi exact ce face si cu ce te-ar ajuta. Probabil in applicatia ta si baza ta de date sint inca 100 de imbunatatiri de facut care sint mai simple decit partitionarea si vor aduce rezultate imediate. In primul rind ar trebuii sa potzi sa enunti foarte clar care sint problemele actuale ale bazei de date si ale aplicatiei ('baza de date cu 3 ani fiscali' este o enuntare de clasa I, nu de administrator de system).  Si evident, cum ai masurat aceste probleme. Apoi poti sa enunti care sint avantajele partitionarii care ar rezolva unele din aceste probleme. Apoi putem discuta concret cu ce te ajuta sau nu te ajuta partitionarea.

    http://rusanu.com
  •  04-30-2009, 7:32 PM 7079 in reply to 7078

    Re: Partitioned tables

    Cred că partiţionarea view-urilor se referă la Partitioned Views (facilitate existentă începând din SQL Server 2000), spre deosebire de Partitioned Tables (facilitate apărută în SQL Server 2005).

    În rest, sunt de aceeaşi părere cu Remus: e probabil să poţi face alte îmbunătăţiri mai simple decât partiţionarea, care să îţi aducă rezultate mai bune.

    Răzvan
  •  05-05-2009, 9:31 AM 7092 in reply to 7079

    Re: Partitioned tables

    Multumesc de raspunsuri,

    intradevar problema ce incerc s-o rezolv e legata de lock-uri - aici ma voi pune sa studiez problema acum.
    Si ar fi problema separatii fizice pe alt disc a datelor din anii trecuti ca sa am dimensiunea backup-ului mica pentru anul in curs.

    Multumesc,
    Dani
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems