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.