Sunteți pe pagina 1din 20

Bine ai venit la

TechEd Review Roadshow 2010


Filiala Brașov
1 4 DECEMBRIE 2 0 1 0
14.12.2010 – RONUA Brașov

Partiționarea tabelelor - SQL Server


Flaviu BOLDEA
Project Manager, AWINTA CONSULTING
Cine sunt?
− Lucrez la firma: Awinta Consulting SRL
− Funcție: Project Manager
− Proiecte: Master Data Management
Ce vom acoperi azi?
− Partitionarea tabelelor, functii de
partitionare, avantaje si dezavantaje.
Tools/Downloads de ajutor
− MS Sql Server Developer/Entreprise
Agenda
− Partitionarea tabelelor in SQL Server 2008
− Studiu de caz – grup de farmacii
− Ce inseamna partitionare
− Componentele partitionarii
− Functii de partitionare
− Schema de partitionare
− Avantaje si dezavantaje
− View indexat
Studiu de caz – grup de farmacii
− Se da un grup de farmacii cu caracteristicile
− Numar farmacii: 2 – 100 (plaja larga)
− Import de date periodic
− Export de date catre farmacii
− Afisare date pe web
− Export catre alte sisteme
Solutia 1
− Baze de date/schema/tabele separate
pentru fiecare farmacie
− Greu de intretinut
− Greu de interogat
− Greu de folosit
− Avantaje: securitate, performante bune
interogari per farmacie
Solutia 2
− Baze de date unica, set comun de tabele cu
camp identificator pentru farmacie
− Usor de intretinut
− Usor de interogat
− Performante mai reduse la interogari
− Performante mai reduse la import date
Ce facem? … Partitionam
− Partitionarea imparte tabelele in bucati mai
mici si mai usor de intretinut si interogat
− Partea buna este ca SQL Server se ocupa de
treaba, noi trebuie sa-I punem la dispozitie
instrumentele
− SQL Server 2005/2008 Entreprise/Developer
Functii de partitionare
− Defineste cum vor fi impartite datele
CREATE PARTITION FUNCTION ParteneriPartitionFunction (int)
AS RANGE LEFT FOR VALUES (50, 100)

50, 100 – stau la stanga

CREATE PARTITION FUNCTION ParteneriPartitionFunction (int)


AS RANGE RIGHT FOR VALUES (50, 100)

50, 100 – stau la dreapta


Schema de partitionare
− Defineste spatiul de stocare pentru fiecare
partitie
− Avantaje:
− Mai usor administrat (creat backup per file)
− Fisierele mai importante pot fi stocate pe medii
mai rapide
− Fisierele vechi pot fi indepartate
CREATE PARTITION SCHEME ParteneriPartitionScheme
AS PARTITION ParteneriPartitionFunction TO (fg1, fg2, fg3)
Partitionare tabela
− Schema si coloana de partitionare se
adauga in clauza ON
− Functia nu mai trebuie specificata deoarece
schema contine deja functia de partitionare
CREATE TABLE Parteneri (PartenerId int PRIMARY KEY, Nume varchar(30))
ON ParteneriPartitionScheme(PartenerId)
Alterarea functiei de partitionare
− Nu se poate modifica direct
− Modificarea se poate face folosind SPLIT
sau MERGE
− SPLIT – adauga o noua limita unei functii de
partitionare care va crea un nou interval
− MERGE – uneste doua partitii
SPLIT
ALTER PARTITION FUNCTION ParteneriPartitionFunction()
SPLIT RANGE (150);

Trebuie adaugat si un nou filegroup care va fi


folosit de noua partitie:
ALTER PARTITION SCHEME ParteneriPartitionScheme
NEXT USED 'fg4';
Avantajele partitionarii
- Tabelele mari sunt mai usor de administrat
- Imbunatateste performantele interogarilor filtrate
dupa partitie
- Imbunatateste performantele importurilor
- Import in tabele separate si apoi switch pe partitie
- Indecsii vor fi mai putin fragmentati
- Datele vechi se pot arhiva
- Datele care nu se mai modifica se pot marca
ReadOnly
- Lock escalation – AUTO (2008)
Pentru mai multe informații
− Partitioned Tables and Indexes
http://msdn.microsoft.com/en-us/library/ms188706.aspx

− Partitioned Table and Index Strategies Using SQL Server 2008


http://technet.microsoft.com/en-us/library/dd578580(SQL.100).aspx

− New Limit for Number of Partitions in SQL Server 2008 SP2 (15.000)
http://blogs.msdn.com/b/hanspo/archive/2010/11/29/new-limit-for-number-of-partitions-
in-sql-server-2008-sp2.aspx
Training Resources
Pentru workshop-uri și codecamp-uri
ronua.ro/codecamp
ronua.ro/uxworkshop
ronua.ro/tv/opt-in-form.html
Pentru help (consultanță):
fă-ți cont pe ronua.ro
„Social”
Twitter.com/RONUA
Facebook.com/RONUA
LinkedIn
YouTube

ronuatv@yahoo.com
Feedback
Completati formularul electronic
de feedback ce-l veti primi
în email-ul de follow-up ce va pleca
după încheierea acestui eveniment

S-ar putea să vă placă și