Table Partitioning’in ana amacı görece büyük bir tablo içerisinde yer alan verilerin belirli bir kritere göre ayrı ayrı fiziksel alanlarda saklanarak verilere erişim hızını ve disk kapasitesini optimum kullanmak, ölçeklenebilir ve daha kolay bakımı sağlanabilir kılmaktır.
Böyle bir yapıda kurmak isediğimiz bir tablodaki verilerin belli bir tarihten eski olanlarını bir partitionda, bu tarihten yeni kayıtları da farklı bir partitionda tutmak isteyebiliriz. Sık kullandığımız veriler elbetteki daha yakın tarihteki veriler olacaktır.
Buradaki avantajımız şudur; tarihe dayalı bir sorgu yaptığımızda zaten tarihe göre veriler bir arada olduğundan her iki partitionda değil de uygun olan partition üzerinde verilere erişim söz konusu olacaktır. Buradaki hız index tanımlamalarından bağımsız olarak doğrudan disk IO’su ile alakalıdır. Erişim hızının farklılığı bölünmüş dosyaların bulunduğu fiziksel disklerin farklı olması ile birebir alakalıdır. Böyle bir durumdaki partition yapısını aşağıdaki şekilde oluşturabiliriz;
Önce FILEGROUP'ları oluşturalım;
|
|
Şimdi kriterimizi tanımlıyoruz.
|
|
Bu partition kriterinin hangi scheme'de ve hangi FILEGROUP'larda saklanacağını belirtiyoruz
|
|
Tablomuzu oluşturuyoruz
|
|
Test için veri girelim ve sonuçlara bakalım
|
|
Olşturduğumuz bu tanımlamaları silmek istersek
|
|
İşinize yaraması dileğiyle.
önceki yazı Emailing/Newsletter Mail Spefikasyonları |
Merhabalar, yazi gerçekten başarili,
Bununla alakali birde benim eklemek istedigim önemli bir nokta var arkadaşımız gözden kaçirmis, veya söylemeyi unutmus,
Sql Serverde tutulan verileri koca bir ambarda tutulan verilere benzetebilriiz,
Bu ambara bir sorgu geldiginde Sql Server tek bir kanal acarak ilgili sorgu sonucunu getirmeye calisir tabiki buda ambar büyüklügüne göre, sorgu süresini uzatir veya kısaltir,
Partition Tabledeki en önemli avantaj, yazimin basinda söylemiş oldugum büyük ambar'i kücük kücük ambarlar haline bölmektir, Böylece Sql Sunucu almis oldugu Select sorgusunu kücük parcalara bölünmüş ambarlara ayri ayri kanallar açarak aramasıdır,
Güncel hayat örneginden yola çıkarsak daha net olacaktir,
Ornegin 10 000 metreKare bir depomuz war ve bu depodan sorumlu 1 adet güvenlik görevlimiz war,
Bu güvenlik görevlisinin bu kadar büyüklükte olan bir depoyu aramasi ile,
1000 er metrekarelik 10 adet ambari 10 güvenlik görevlisinin araması arasinda oldukca büyük farklar olacaktir,
Teşekkürler
Netron Teknoloji
Emrah ELiş
pillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.
Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.