Dağıtılmış DBMS - Tasarım Stratejileri
Son bölümde farklı tasarım alternatiflerini tanıtmıştık. Bu bölümde, tasarımları benimsemeye yardımcı olan stratejileri inceleyeceğiz. Stratejiler genel olarak çoğaltma ve parçalanmaya ayrılabilir. Bununla birlikte, çoğu durumda, ikisinin bir kombinasyonu kullanılır.
Veri Çoğaltma
Veri çoğaltma, veritabanının ayrı kopyalarını iki veya daha fazla sitede saklama işlemidir. Dağıtılmış veritabanlarının popüler bir hata tolerans tekniğidir.
Veri Çoğaltmanın Avantajları
Reliability - Herhangi bir sitenin arızalanması durumunda, başka site (ler) de bir kopyası mevcut olduğundan veritabanı sistemi çalışmaya devam eder.
Reduction in Network Load- Verilerin yerel kopyaları mevcut olduğundan, sorgu işleme, özellikle birincil saatlerde daha az ağ kullanımıyla yapılabilir. Veri güncellemesi prime olmayan saatlerde yapılabilir.
Quicker Response - Yerel veri kopyalarının kullanılabilirliği, hızlı sorgu işleme ve dolayısıyla hızlı yanıt süresi sağlar.
Simpler Transactions- İşlemler, farklı yerlerde bulunan tabloların daha az sayıda birleştirilmesini ve ağ üzerinde minimum koordinasyonun olmasını gerektirir. Böylece doğada daha basit hale gelirler.
Veri Çoğaltmanın Dezavantajları
Increased Storage Requirements- Birden çok veri kopyasının korunması, artan depolama maliyetleri ile ilişkilidir. Gerekli depolama alanı, merkezi bir sistem için gereken depolamanın katları kadardır.
Increased Cost and Complexity of Data Updating- Bir veri öğesi her güncellendiğinde, güncellemenin farklı sitelerdeki verilerin tüm kopyalarına yansıtılması gerekir. Bu, karmaşık senkronizasyon teknikleri ve protokolleri gerektirir.
Undesirable Application – Database coupling- Karmaşık güncelleme mekanizmaları kullanılmıyorsa, veri tutarsızlığını ortadan kaldırmak, uygulama düzeyinde karmaşık koordinasyon gerektirir. Bu, istenmeyen uygulama - veritabanı bağlantısına neden olur.
Yaygın olarak kullanılan bazı çoğaltma teknikleri şunlardır:
- Anlık görüntü çoğaltma
- Neredeyse gerçek zamanlı çoğaltma
- Çoğaltma çekin
Parçalanma
Parçalanma, bir tabloyu daha küçük tablolara bölme görevidir. Tablonun alt kümeleri denirfragments. Parçalanma üç tipte olabilir: yatay, dikey ve hibrit (yatay ve dikey kombinasyonu). Yatay parçalanma ayrıca iki teknik olarak sınıflandırılabilir: birincil yatay parçalama ve türetilmiş yatay parçalanma.
Parçalanma, orijinal tablonun parçalardan yeniden oluşturulabileceği şekilde yapılmalıdır. Bu, orijinal tablonun gerektiğinde parçalardan yeniden oluşturulabilmesi için gereklidir. Bu gereksinime "yeniden yapılandırılabilirlik" denir.
Parçalanmanın Avantajları
Veriler kullanım sahasına yakın depolandığı için veritabanı sisteminin verimliliği artırılmıştır.
Veriler yerel olarak mevcut olduğundan, yerel sorgu optimizasyon teknikleri çoğu sorgu için yeterlidir.
Sitelerde ilgisiz veriler bulunmadığından veritabanı sisteminin güvenliği ve gizliliği sağlanabilmektedir.
Parçalanmanın Dezavantajları
Farklı parçalardan veriler gerektiğinde, erişim hızları çok yüksek olabilir.
Yinelemeli parçalanmalar durumunda, yeniden yapılandırma işi pahalı tekniklere ihtiyaç duyacaktır.
Farklı sitelerdeki verilerin yedek kopyalarının olmaması, bir sitenin arızalanması durumunda veritabanını etkisiz hale getirebilir.
Dikey Parçalanma
Dikey parçalamada, bir tablonun alanları veya sütunları parçalar halinde gruplanır. Yeniden yapılandırılabilirliği korumak için, her parça tablonun birincil anahtar alanlarını içermelidir. Dikey parçalama, verilerin gizliliğini sağlamak için kullanılabilir.
Örneğin, bir Üniversite veritabanının aşağıdaki şemaya sahip bir Öğrenci tablosundaki tüm kayıtlı öğrencilerin kayıtlarını tuttuğunu düşünelim.
ÖĞRENCİ
Regd_No | İsim | Ders | Adres | Dönem | Ücretler | İşaretler |
Şimdi, ücret detayları hesaplar bölümünde tutulmaktadır. Bu durumda, tasarımcı veritabanını aşağıdaki gibi parçalayacaktır -
CREATE TABLE STD_FEES AS
SELECT Regd_No, Fees
FROM STUDENT;
Yatay Parçalanma
Yatay bölümleme, bir tablonun demetlerini bir veya daha fazla alanın değerlerine göre gruplandırır. Yatay parçalanma, yeniden yapılandırılabilirlik kuralını da doğrulamalıdır. Her yatay parça, orijinal temel tablonun tüm sütunlarına sahip olmalıdır.
Örneğin, öğrenci şemasında, Bilgisayar Bilimleri Kursu'ndaki tüm öğrencilerin ayrıntılarının Bilgisayar Bilimleri Okulunda korunması gerekiyorsa, tasarımcı veritabanını aşağıdaki gibi yatay olarak parçalara ayıracaktır -
CREATE COMP_STD AS
SELECT * FROM STUDENT
WHERE COURSE = "Computer Science";
Hibrit Parçalanma
Hibrit parçalamada, yatay ve dikey parçalama tekniklerinin bir kombinasyonu kullanılır. Bu, minimum gereksiz bilgi içeren parçalar ürettiği için en esnek parçalama tekniğidir. Bununla birlikte, orijinal tablonun yeniden yapılandırılması genellikle pahalı bir iştir.
Hibrit parçalama iki alternatif yolla yapılabilir -
İlk önce, bir dizi yatay parça oluşturun; daha sonra bir veya daha fazla yatay parçadan dikey parçalar oluşturun.
İlk önce, bir dizi dikey parça oluşturun; daha sonra bir veya daha fazla dikey parçadan yatay parçalar oluşturun.