Veri Bilimi ve Veri Analitiği Sözlüğü

Database Shrink Nedir?

SQL Server, özellikle büyük veri tabanları için tercih edilen güçlü ve popüler veri tabanı yönetim sistemidir. Bir SQL Server günlük dosyası, bir veri tabanında yapılan hemen hemen her değişikliğin kaydını tutar. Günlük dosyası, sunucuda çok fazla sabit disk alanı kaplayacak kadar büyüyebilir. Günlük dosyasının nasıl küçültüleceğini bilmek, bir SQL Server'ı daha etkili bir şekilde yönetmenize ve yeniden kullanım için sabit disk alanı boşaltmanıza yardımcı olabilir. Bununla birlikte Database Shrink, SQL ile öne çıksa da tüm veri tabanlarında bazen ihtiyaç duyulan bir işlemdir. Peki Database Shrink nedir? ne işe yarar ve nasıl yapılır? İşte veri tabanlarını daha verimli kılan shrink database hakkında bilmeniz gerekenler.

Shrink Database Nedir?

Veri tabanları, içindeki verilerden bağımsız olarak belirli bir alanı kaplar. Kısaca veri tabanınız için ayrılan bölüm 300 MB ise veri tabanının içinde yer alan veriler 50 MB olsa dahi 300 MB yer işgal eder. Bu da bazı zamanla bazı aksaklıklara neden olur ya da bu işgal edilen alanın farklı nedenle kullanılması gerekebilir. Bu tür durumlarda Database Shrink yapılması gerekir. Veri tabanı küçültme olarak bilinen bu işlem ise bir tür sıkıştırmadır. Genel alanın verilere müdahale etmeden küçültülmesi amaçlanır. Ancak çok tavsiye edilen bir yöntem değildir. Çünkü verilerde kayba ya da bozulmalara neden olabilir. Tabii ki yedekleme ile bu tür problemleri de çözebilir ve verilerinizi daha düzenli hale getirebilir, güncel olanlarla değiştirebilir ve alanda çok daha iyi şekilde yararlanabilirsiniz.

SQL Shrink Database Ne İşe Yarar?

SQL Server'ın yeterli boş alana sahip olması ve bu sayede düzgün çalışması önemlidir. Bunun için periyodik olarak bir Database Shrink yapmanız mümkündür. Bir veri tabanı küçültme, verilerin veri sayfası düzeyinde yeniden düzenlenmesini gerçekleştirir. Bu nedenle veriler daha az parçalanır. Veri sayfaları daraltıldıktan sonra serbest bırakılabilir. Kullanılabilir boş alan azalır, ancak fiziksel veri dosyasının boyutu da aynı oranda azaltılabilir. Database Shrink yapmazsanız, SQL Server kullanılabilir boş alanı da kullanır. Ancak SQL Server küçülmeden de düzgün çalışabilir. Fakat küçülmenin Otomatik Büyüme ayarlarıyla doğrudan bir ilişkisi vardır.

Shrink, fiziksel veri dosyasını küçültür ve bu da otomatik büyüme şansını artırır. Sonuçta küçültme, daha az veri sayfasının kullanılabilir olduğu anlamına gelir ve otomatik büyüme performansını etkiler. Bu da, diskteki fiziksel alan nedeniyle bazen gerekli olabilir. Bir veri tabanı oluştururken, otomatik büyüme için varsayılan ayarlar yapılandırılır. Bu ayarların düzenlenmesi gerekir. Varsayılan olarak, veri dosyaları için 1 MB'lık bir otomatik büyüme ve günlük dosyaları için %10'luk bir otomatik büyüme uygulanabilir. Örneğin, veri dosyaları ve günlük dosyaları için 250 MB'lık bir otomatik büyümeye ayarlayabilirsiniz. Bu da, otomatik büyümenin küçük adımlarla tekrarlanmasını engeller.

SQL Shrink Database Nasıl Yapılır?

Bir SQL Server veri tabanı dosyası üzerinde kullanımda olan sayfalar harici, dosyanın sonuna kadar kullanımda sayılan (ayrılmış) veri sayfalarını taşıyarak aslında dosyanın fiziksel parçalanmasını (parçalanmasını) azaltmak amaçlanır. Shrink, dosyanın sonunda dosya sistemine döndürülebilecek 'boş' alanı boşaltır, böylece dosyanın fiziksel boyutu azalır. Aksi takdirde, verilen diskteki alan bittiğinde diğer dosyalar için yer açmak istediğinizde çok daha zorlayıcı olabilir. Daha önce bir dizine ait olan ve yan yana bulunan dizin sayfaları veri tabanı dosyası boyunca dağılacağından veri sayfalarının taşınması yanlışlıkla dizinlerin parçalanmasına yol açabilir ve kullanılması önerilmez. Örneğin bir Dizin Tarama işlemi, tablonun veri sayfalarını veya dizini geriye ve ileriye doğru aramak zorundadır. Bu da verilen sorgunun yürütülmesini önemli ölçüde yavaşlatır. Bu nedenle Database Shrink sorgular esnasında hızı yükseltmek verilerin parçalanmamasını sağlamak ve daha sağlıklı veri tabanlarına sahip olmak için önemlidir. Peki Database Shrink nasıl yapılır?

Yedekleme

Database Shrink yapmadan önce her ihtimale karşı yedekleme yapmak en iyisidir. Çünkü bu işlem parçalanmış verilerinde de kaybolmasına yol açabilir. Bu nedenle ilk adım yedeklemedir.

Büyük değişikliklerden önce her zaman yedekleme gereklidir. Özellikle bir veri tabanının boyutunu küçültme işleminde de en çok dikkat edilmesi gereken aşamadır. Çünkü pek çok şey ters gidebilir ve tüm veriler zarar görebilir. Neyse ki, çoğu veri tabanı sağlayıcısının kontrol panelinde yerleşik bir yedekleme (ve kurtarma) seçeneği vardır. Yedekleme yöntemi sağlayıcınız tarafından zaten test edildiğinden ve bu yöntem için desteğiniz olduğundan bu seçeneği kullanabilirsiniz. Bu seçeneğe sahip değilseniz, her zaman bir yedekleme eklentisi kullanabilirsiniz. Yedekleme yaptıysanız, 2. adıma geçebilirsiniz.

Boş Alanı Görüntüleme

Boş alanı görüntüleme: Daha sonra kullanılabilir boş alanı görüntülemek için Database'e sağ tıklayın, Tasks/Shrink/Database'i seçin. Kullanılabilir alan, veri dosyası ile günlük dosyasının toplamıdır. Çünkü veri dosyaları ve günlük dosyaları farklı fiziksel disklerde bulunur.

DTA veri tabanı (Database Engine Tuning Advisor) ve BAM veri tabanı (Binary Alignment Map) için veri dosyalarını ayrı bir fiziksel konuma yerleştirmek faydalıdır. Her iki veri tabanı da hızla büyüyebilir ve ikincil öneme sahiptir.

Büyüme Nedenlerini Bulma

Sebepleri bulmak için öncelikle veri tabanındaki tabloların boyutu hakkında daha fazla bilgi edinmeniz gerekir. Bunun için server ya da veri tabanınızda kullanabileceğiniz eklentiyi kullanabilirsiniz. Eklenti aracılığıyla, her bir veri tabanı tablosunun ne kadar büyük olduğuna dair genel bir bakış elde edebilirsiniz. Bu sayede büyüme sebebini de bulmak daha kolay hale gelir.

Kullanılmayan Eklenti ve Verileri Kaldırma

Kullanılmayan Eklenti ve verileri kaldırma: Burada esas olarak, veri tabanında hala çöp bırakan eski eklentileri düşünmelisiniz. Bu biraz fark yaratır, ancak çok fazla veri içermeyebilir, bu nedenle MB cinsinden fark yaratmasa da veri tabanının düzenli olmasını sağlayabilir. Son aşamalar ise şu şekilde sıralanabilir:

Veri Tabanı Büyüme Nedenleri

Yıllar geçtikçe, bir veri tabanı artık ihtiyaç duyulmayan (geçici) verilerle kirlenebilir. Daha sonra bu verileri silebilir ve veri tabanınızı optimize edebilirsiniz. Ayrıca bu görevleri otomatikleştirerek bu optimizasyonların düzenli olarak yapıldığından emin olabilirsiniz. Bu şekilde veri tabanınız "yalın ve standart" kalır. Ayrıca bazı eklentiler, veri depolamak için kendi tablolarını oluşturur. Ancak, bu eklentiyi kaldırdığınızda, veriler veri tabanında kalır. Bu tabloların artık kullanılmadığından eminseniz eklenti ile silebilir ve böylece yerden tasarruf edebilirsiniz.

Her ne sebeple olursa olsun zamanla Database Shrink işlemine ihtiyaç duyabilirsiniz. Ancak herkes Database Shrink yapamayabilir. Çünkü özellikle SQL söz konusu olduğunda bir veri tabanı küçültme işlemi gerçekleştirmek için üst düzey yönetici haklarına sahip olmak gerekir. Paylaşımlı müşteri hesabı, MS - SQL veri tabanının küçültülmesini gerçekleştiremez. Bu nedenle, disk alanı boşaltmak için destek hizmetleriyle iletişime geçmeniz gerekir. Burada dikkat edilmesi gereken shrink işlemini kimin yapacağı değil küçültme veri kaybına neden olabileceği için veri tabanını her zaman yedeklendiğinden emin olmaktır. Tabii ki profesyonellerle çalışıyorsanız bunun için endişelenmenize gerek kalmaz.

Database Shrink, önlem alınmadığı takdirde bazı kayıplara yol açabilir ancak veri tabanının sağlıklı çalışması ve daha verimli kullanımı için gereklidir. Siz de kuruluşunuzu bir adım öne taşıyan veri tabanlarınızı en iyi şekilde tutmak isterseniz Komtaş’ın sunduğu veri hizmetlerinden yararlanabilir, veri analizi, depolama, bulut tabanlı çözümler için hemen iletişime geçebilirsiniz.

sözlüğe geri dön

Veri Bilimi ve Veri Analitiği Sözlüğü'nü Keşfet

Ana Veri Yönetimi (Master Data Management) Nedir?

Ana Veri Yönetimi (MDM) global bir işletmenin analiz ihtiyaçlarını karşılamak için birçok sistemde verilerin birleştirilmiş bir görüntüsünü sunar. MDM ister müşterileri, ürünler, tedarikçileri, lokasyonları isterse diğer önemli özellikleri tanımlasın, ana ve referans verilerin tekli görüntülerini yaratır.

DETAYLI İNCELE
Yapay Zeka (Artifical Intelligence) Nedir?

Yapay zeka (artifical intelligence), insan zekasını, düşünce yapısını ve eylemlerini taklit etmeye programlanmış makine simülasyonlarını ifade eder.

DETAYLI İNCELE
No Code Nedir?

No code, akıllı yazılım ve uygulama çözümlerinin geliştirilmesinin istikrarlı bir şekilde tamamlanmasında bir sonraki adımdır. Geliştirme yöntemi aynı zamanda kod kullanmadan geliştirme yapan ancak BT geçmişi veya uzmanlığı olmayan süreç uzmanlarının uygulama ve yazılım tasarlamasını sağlar.

DETAYLI İNCELE
REFERANSLARIMIZ

Başarılı İş Ortaklarımıza Katılın!

Sektöründe öncü 120'den fazla şirket ile 200'den fazla başarılı proje geliştirerek Türkiye'nin alanında lider şirketleri ile çalışıyoruz.
Siz de başarılı iş ortaklarımız arasındaki yerinizi alın.

İlETİŞİM FORMU

Sizi Tanımak için Sabırsızlanıyoruz

Formu doldurarak çözüm danışmanlarımızın tarafınıza en hızlı şekilde ulaşmasını sağlayın.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
İLETİŞİME GEÇ
BAŞARI HİKAYESİ

Fibabanka - Veri Yönetişim Başarı Hikayesi

Fibabanka için veri yönetişimini temelden ele alıp, veriyi nasıl daha etkin yönetebiliriz amacıyla yola çıktık

HEMEN İZLE
HEMEN İNCELE
22
Keşif Kuralı Yazıldı
11
Axon Facet üzerinde Geliştirme Yapıldı
8
Farklı Sistemde Veri Keşfi Çalışması Yapıldı
Bu internet sitesinde, kullanıcı deneyimini geliştirmek ve internet sitesinin verimli çalışmasını sağlamak amacıyla çerezler kullanılmaktadır. “Kabul Et” butonuna tıkladığınızda bu çerezlerin kullanılmasını kabul etmiş olursunuz. Çerezleri nasıl kullandığımız, sildiğimiz ve engellediğimiz ile ilgili detaylı bilgi için lütfen Gizlilik Politikası sayfasını okuyunuz.