Dağınık Veri Tabanları
Ne öğrenilecek Dağınık Veri Tabanlarının gerekliliği Dağınık veri tabanları, dağınık işlemler ve paralel veri tabanları Dağınık veri tabanı Yönetim Sistemlerinin yeterli ve yetersiz yönleri Dağınık Veri Tabanlarının işlevleri Dağınık Veri Tabanları Yönetim Sistemlerinin mimarisi Dağınık Veri Tabanlarının tasarımı
Kavramlar Dağınık Veri Tabanı (DVT)–bilgisayar ağı üzerinde fiziksel olarak dağıtılmış, mantıksal olarak bütünleşik ilişkili veriler kümesi Dağınık veri tabanı yönetim sistemi (VTYS)-dağınık veri tabanını yöneten yazılım sistemi; dağınıklığın kullanıcı için şeffaflığını sağlar Parça (fragment)-tek mantıksal veri tabanının bir kısmı Yerel uygulamalar- diğer düğümlerden veri alımını gerektirmez Genel uygulamalar- diğer düğümlerden veri alımını gerektirir
DVTYS nitelikleri Veritabanı mantık olarak bütündür Veri Tabloları parçalara ayrılır Parçalar bilgisayar ağının düğümleri üzere dağıtılır Parçaların tekrarlanması mümkündür Her bir düğümdeki veri, yerel VTYS denetimi altındadır Her düğümdeki VTYS özerk olarak yerel uygulamaları işleyebilir Her yerel VTYS en azından bir genel uygulamaya katılmalıdır
Merkezlemiş VTYS Dağınık İşlem- Merkezleşmiş veri tabanına ağ üzerinden erişim düğüm1 Düğüm 4 düğüm 2 Bilgisayar ağı düğüm 3 VTYS
Dağınık Veri Tabanı Yönetim Sistemi düğüm 1 Yerel VTYS düğüm 4 düğüm 2 Bilgisayar ağı düğüm 3 Yerel VTYS yerel VTYS
Paralel VTYS Paralel VTYS mimarileri: Ortak bellek VTYS , çoğu zaman, başarımı yükseltmek amacıyla işlemleri paralel yürüte bilen işlemciler ve disklerden oluşan ortamda çalışır Paralel VTYS mimarileri: Ortak bellek simetrik çoklu işlemci (SMP),RİSC Ortak disk kümeler (klasters) Hiçbir şey ortak değil çoklu paralel işlemci (massive PP-MPP)
Paralel VT mimarileri (ortak bellek) AİB AİB AİB AİB İletişim ağı bellek
Paralel VT mimarileri (ortak disk) bellek bellek bellek bellek AİB AİB AİB AİB İletişim ağı
Paralel VT mimarileri (ortak kullanım yoktur) bellek bellek AİB AİB İletişim ağı AİB AİB bellek bellek
DVTYS’lerin artı yönleri Şirket yapısına uygunluk Paylaşılabilirlik ve yerel özerklik Daha yüksek erişebilirlik Daha yüksek güvenilirlik Modülerliğin yükselmesi
DVTYS’lerin eksi yönleri Yapısal Karmaşıklık Yüksek maliyet Düşük Başarım- farklı düğümlerde yerleşen parçalardaki verileri gerektiren uygulamaların yavaşlaması Düşük güvenlik Bütünlük denetiminde zorluklar Zayıf standartlaşma Deneyim yetersizliği Veri tabanı tasarımının daha karmaşık olması
Tek türlü ve çok türlü DVTYS’ler Tek türlü sistem- tüm düğümlerde aynı VTYS ürünü kullanılıyor Çok türlü sistem- düğümlerde farklı VTYS ürünleri ve farklı veri modellerine dayalı Veri Tabanı sistemleri kullanılabilir farklı donanım farklı VTYS ürünleri farklı donanım ve farklı VTYS ürünleri Açık Veri Tabanı Erişimi (Open Data Base Access) SQL Uygulama Programları Arayüzü (API) Ortak Veri Tabanı protokolü Ortak bilgisayar ağı protokolü
Açık Sistemlerin bağlantısı Modeli -OSİ Bilgisayar Ağları Bilgisayar ağı- Birbirileriyle bilgi alış-verişinde buluna bilen, özerk çalışan ve birbirileriyle bağlanmış bilgisayarlar toplusu yerel alan ağları (LAN) genel alan aşları (WAN) protokoller Açık Sistemlerin bağlantısı Modeli -OSİ
DVTYS işlevleri Geniş iletişim hizmetleri Geniş sistem katalogu uzak düğümlere erişim, ağ üzerinden sorgu ve veri iletimi Geniş sistem katalogu verilerin dağınıklık ayrıntılarının tutulması Dağınık sorguların işlenilmesi uzak verilere erişim ve sorgu optimalleştirme Paralel işlemlerin geniş denetimi tekrarlanan verilerin tutarlığının korunması Geniş kurtarma hizmetleri düğümlerdeki ve iletişim hatlarındaki hataların hesabının yapılması
DVTYS’in Başvuru mimarisi Merkezleşmiş sistemler için ANSI_SPARS mimarisi DVTYS için uygun mimarinin doğrudan kullanımının zorluğu DVTYS’in başvuru mimarisi (reference architecture): genel dış şemalar kümesi genel kavramsal şema parçalama şeması ve yerleştirme şeması her yerel VTYS için , ANSI-SPARC üç seviyeli mimarisine uygun şemalar kümesi
DVTYS’İN şematik mimarisi (devamı) Genel dış şema S1 S1 Yerel Dönüşt şeması Yerel Kavr. şema Yerel iç. şema Genel kavr. şema Parç. şeması Yerleşt. Şeması Yerel Dönüşt şeması Yerel Kavr. şema Yerel İç şema Genel dış şema S2 S2 VT Genel dış şema Sn Yerel Dönüşt şeması Yerel Kavr. şema Yerel İç şema Sn VT
VTYS’im mimari bileşenleri Yerel VTYS (YVTYS) standart VTYS- VT bulunan düğümlerdeki yerel verilerin yönetimi Veri İletişim bileşen (Vİ) tüm düğümlerin biri-birleriyle iletişimini sağlayan yazılım Genel Sistem Katalogu (GSK) merkezleşmiş sistemdeki ile aynı işlevler; sistemin dağınıklık nitelikleri Dağınık VTYS bileşeni (DVTYS) tüm sistemin yönetimi
DVTYS bileşenleri Düğüm 1 GSK DVTYS Vİ YVTYS DVTYS Bilgisayar ağı Vİ GSK-genel sistem katalogu YVTYS-yerel veri tabanı yönetim sistemi Düğüm 2
Dağınık ilişkisel VT tasarımı Merkezleşmiş ilişkisel VT tasarımı adımları Parçalama Yerleştirme Tekrarlama Tasarım nicel ve nitel bilgilere dayanmalıdır: her uygulamanın yürütülme sıklığı uygulamanın yürütüldüğü düğümün özellikleri iş ve uygulamalar için başarım kıstasları Parçaların tanımlanması ve yerleştirilmesi stratejisi erişimlerin yerelleştirilmesi güvenilirlik ve bilgi edinebilirliğin yükseltilmesi erişebilme başarımı bellek olanaklarının dengeli kullanımı iletişim değerinin en az olması
Veri Yerleşimi Merkezleşmiş 3. Tamamen tekrarlanan Parçalanmış 4. Seçime göre tekrarlanan Erişimin yerelliği Güvenilirlik ve bilgi edinebilirlik başarım Bellek maliyeti İletişim maliyeti 1 En düşük En az Yetersiz En yüksek 2 Yüksek Birimler için az, sistem için en çok yeterli düşük 3 Okuma için en iyi Güncelleme için yüksek Okuma için düşük 4 Birim için düşük, sistem için yüksek orta
PARÇALAMA Parçalamayı gerektiren sebepler: Kullanım- genelde uygulamalar için, bütün ilişki değil, görünümler gerek oluyor; Verimlilik- verilerin, sıklıkla kullanıldıkları yere yakın bir yerde tutulması daha uygundur; yerel uygulamalar için gerekmeyen veriler uygun düğümde tutulmaz Paralellik- parçalar paylaşım birimi ise, sorgular bu parçalar üzere işlemler yapan altsorgulara bölünebilir. Bu, sistemde paralelliğin yükselmesine, uygun olarak da sorguların güvenli biçimde paralel işlenmesine olanak sağlar Güvenlik- Yerel uygulamalar için gerekli olmayan veriler uygun düğümlerde saklanmadıkları için yetkili olmayan kullanıcıların da bu verilere erişimi olasılığı düşüktür
Düzgün Parçalama Parçalama nasıl geldi değil, kurallara uygun yapılmalıdır. Üç parçalama kuralı: Tamlık- eğer R ilişkisi R1, R2, …,Rn parçalarına ayrılmışsa , R’de rast gelinen her veri birimi bu parçaların en azından birinde yer almalıdır. Bu kural parçalama zamanı veri kaybını önlemek içindir Yeniden Oluşturulabilme- R ilişkisinin, parçalarından yeniden oluşturula bilmesi için ilişkisel işlemler tanımlana bilmelidir. Bu kural işlevsel bağımlılığı korumak içindir Kesişmezlik- Eğer d1 veri birimi R1 parçasında ise, diğer parçalarda bulunamaz. Dikey parçalama bu kural dışındadır; yeniden oluşturmayı sağlamak için birincil anahtarlar tekrarlanmalıdır. Bu kural veri fazlalığını en aza indirmek içindir.
Parçalama türleri Yatay Parçalama Yatay parça- temel ilişkideki satırların altkümesinden oluşan ilişki Dikey parçalama Dikey parça- temel ilişkinin özelliklerinin altkümesinden oluşan ilişki Karışık parçalama Yatay parçanın dikey parçalanması veya dikey parçanın yatay parçalanmasından alınan ilişki Türeme parçalama yatay parçalama türü
Parçalama Türleri /devamı) Yatay parçalama Dikey parçalama Karışık parçalama Yatay parçalanmış dikey parça Dikey parçalanmış yatay parça
Bu sunuda kullanılan ilişkiler
Yatay Parçalama Yatay parçalama ilişki üzerinde seçme işlemi yapmakla gerçekleştirilir. R ilişkisi verilmişse, onun yatay parçası σ (R) olacak. P-ilişkinin bir veya birkaç özelliği üzere belirlenmiş koşuldur P1: σ (Property_for_Rent) P2: σ (Property_for_Rent) ‘Type=‘Flat’ p ‘Type=‘House’
Yatay Parçalama (devamı) P1 parçası Pno Street Area City Pcode Type Rooms Rent Cno Sno Bno PA14 16 Holhead Dee Aberdeen AB75SU House 6 650 CO46 SA9 B7 PG21 18 DaleRd Hyndland Glasgow G12 5 600 CO87 SG37 B3 P2 parçası Pno Street Area City Pcode Type Rooms Rent Cno Sno Bno PL94 6Argyll Kiburn London NW2 Flat 4 400 CO87 SL41 B5 PG4 6 Lawrence Patrick Glasgow G119QX 3 350 CO40 SG14 B3 PG36 2Manor Rd G324QX 375 CO93 SG37 PG16 5 Novar Rd Hyn dland G129AX 450
Parçalama Kurallarının uygulanması Tamlık- Temel ilişkinin her satırı P1 veya P2 parçasındadır Yeniden oluşturulabilme- Property_for_Rent ilişkisi, parçalardan birleşme işlemi ile alına bilir: P1 ⋃ P2= Property_for_Rent Kesişmezlik-Parçalar kesişmiyorlar; özellik değerleri içinde aynı zamanda hem ‘house’, hem ‘Flat’ ev türü yoktur
Dikey Parçalama Dikey parçalama ilişki üzerinde izdüşümü işlemi yapmakla gerçekleştirilir. S1: Π (Staff) S2: Π (Staff) Sno,fname, lname, address, tel_no,Bno Sno,position,dob,salary,nin
Dikey Parçalama (devamı) S1 parçası Sno Position DOB Salary NIN SL21 Manager 1-Oct-45 30 000 WK442011B SG37 Snr Asst 10-Nov-60 12 000 WL432514C SG14 Deputy 24-Mar-58 18 000 WL220658D SA9 Assistant 19-Feb-70 9 000 WM532187D SG5 3-Jun-40 24 000 WK588932E SL41 13-Jun-65 WA290573K S2 parçası Sno Fname Lname Address Tel_no Bno SL21 John White 19Taylor st,Granford,London 0171-884-5112 B5 SG37 SG14 Ann David Beech Ford 81 George st,Glasgow,PA1 2J1 63 AsSbyst, Patrick,Glasgow G11 0141-848-345 0141-339-2177 B3 SA9 SG5 SL41 Mary Susan Julie Howe Brand Lee 2 Elm P1,Aberdeen AB2 3SU 5 Gt WesternRd, Glasgow G12 28 Malvern st,Kilburn NW2 0141-334-2001 0181-554-3541 B7
Parçalama Kurallarının uygulanması Tamlık- Staff ilişkisinin her özelliği S1 veya S2 parçasındadır Yeniden oluşturabilme- Staff ilişkisi parçalardan Natural Join işlemi ile alına bilir: S1 ⋈ S2= Staff Kesişmezlik-Birincil anahtar dışında parçalar kesişmezdir.
Karışık Parçalama S21: σ (S2) S22: σ (S2) S23: σ (S2) Staff dikey parçalanmıştır: S1: Π (Staff) Sno,position,dob,salary,nin S2: Π (Staff) Sno,fname,lname,address,tel_no,bno S2’nin şubeler üzere yatay parçalanması böyle olacak: S21: σ (S2) S22: σ (S2) S23: σ (S2) Bno=‘B3’ Bno=‘B5’ Bno=‘B7’
Dikey Parçalama (devamı) S21 parçası Sno Fname Lname Address Tel_no Bno SG37 SG14 Ann David Beech Ford 81 George st,Glasgow,PA1 2J1 63 AsSbyst, Patrick,Glasgow G11 0141-848-345 0141-339-2177 B3 SG5 Susan Brand 5 Gt WesternRd, Glasgow G12 0141-334-2001 S22 parçası Sno Fname Lname Address Tel_no Bno SL21 John White 19Taylor st,Granford,London 0171-884-5112 B5 SL41 Julie Lee 28 Malvern st,Kilburn NW2 0181-554-3541 S23 parçası Sno Fname Lname Address Tel_no Bno SA9 Mary Howe 2 Elm P1,Aberdeen AB2 3SU B7
Parçalama Kurallarının uygulanması Tamlık- Staff ilişkisinin her özelliği S1 veya S21, S22, S23 parçasındadır Yeniden oluşturabilme- Staff ilişkisi, parçalardan Birleşme ve Natural Join işlemi ile alına bilir: S1 ⋈ (S21U S22U S23) = Staff Kesişmezlik-Öğle bir personel yoktur ki, birden fazla şubede çalışmış olsun ve S1 ve S2, zaruri birincil anahtar tekrarlanması dışında kesişmezdir.
Türeme yatay parçalama Türeme (alınma) parça- oğul ilişkinin, baba ilişkinin yatay parçalanmasına dayanan yatay parçası Oğul ilişki- yabancı anahtarın bulunduğu ilişki Baba ilişki- birincil anahtarın bulunduğu ilişki Türeme parça Semi-Join işlemi ile alınır. R oğul, S baba ilişki ise, R üzere türeme ilişkiler böyle olacak: Ri=R ⋈ Si Si- S ilişkisinin i yatay parçası F
Türeme Yatay Parçalama( devamı) Personel bilgileri şubeler üzere parçalanmıştır. Sorgu:Yalnız uygun şube parçalarının denetiminde olan kiralık mülkleri gösteren parçaları oluşturmalı S3: σ (Staff) S4: σ (Staff) S5: σ (Staff) Pi = Property_for_rent Si 3<=i<=5 Sno özelliği Staff ilişkisinde (baba) birincil, Propert_For_Rent ilişkisinde (oğul) yabancıl anahtardır Bno=‘B3’ Bno=‘B4’ Bno=‘B5’ sno
Türeme Yatay Parçalama (devamı) P3 parçası Pno Street Area City Pcode Type Rooms Rent Cno Sno PG4 6 Lawrence Patrick Glasgow G119QX Flat 3 350 CO40 SG14 PG36 2Manor Rd G324QX 375 CO93 SG37 PG16 5 Novar Rd Hyndland G129AX 4 450 PG21 18 DaleRd G12 House 5 600 CO87 P4 parçası Pno Street Area City Pcode Type Rooms Rent Cno Sno PL94 6Argyll Kiburn London NW2 Flat 4 400 CO87 SL41 P5 parçası Pno Street Area City Pcode Type Rooms Rent Cno Sno PA14 16Holhead Dee Aberdeen AB65SU House 6 650 CO46 SA9