Professional Documents
Culture Documents
Ders 9
Trakya niversitesi
Bilgisayar Mhendislii Blm
Datk Veritaban
Her biri farkl ilemciler tarafndan eriilebilen farkl
saklama birimlerini kullanan veritabanna "datk
veritaban: distributed database" denir.
Saklama birimlerinin her biri birer bilgisayar olabilir ve bu
bilgisayarlar ayn ortamda bulunabilecei gibi, bilgisayar a
ile haberleen uzak noktalarda konumlanm ta olabilirler.
Kme (cluster) yaps kullanldndan eriilen verinin hangi
dmde sakland erien istemci tarafndan bilinmez.
Kme: Dardan tek bir sunucuymu gibi alglanan ama aslnda
ok ok sunuculu olan yap
Fiziksel bileenlerini (CPU, RAM, HDD) paylaan paralel
sistemler zerinde kurulu VT'ler genellikle "datk" olarak
dnlmez.
Datk Veritaban
Tek bir sunucu zerinde alan veritaban kullanlmak
yerine veritabann birok sunucuya datarak
kullanmann (sharding) faydalar:
zellikle sunucularn farkl ortamlarda (bina, ehir)
sakland durumlarda eer birisinde g kesintisi veya
donanm problemi meydana gelirse sistemin dieri
tarafndan devam ettirilmesi salanr.
Yk paylam yaplarak, daha ok kullancya daha ksa
srelerde yant verilebilmesi salanr.
Daha fazla depolama kapasitesi elde edilir.
Bir sunucuda disk arzas olmas durumunda verilerin
kaybolmamas salanr (ayn sunucuda replica kullanlmas
ile de bu salanabilir).
Datk Veritabanlar
Baz kaynaklarda* datk veritaban sistemi terimi
birbirine balanabilen ve birbirlerindeki nesneleri
kullanabilen farkl veritaban sistemlerinin btn
olarak kullanlr.
Sistemdeki tm veritabannn ayn tipte olduu
durum homojen sistem, farkl VTYS'ler bulunmas
durumu ise heterojen sistem olarak adlandrlr.
Heterojen sistemlerde farkl VTYS'ler aras haberleme
"gateway" ad verilen arayzler ile salanr
* http://docs.oracle.com/database/121/ADMIN/ds_concepts.htm
Veritaban Ba (Database Link)
ki fiziksel veritaban sunucusu arasndaki tek ynl iletiim
yoludur.
A veritabanna bal olan bir kullanc bu veritabannn veri
szlne eklenen bir ba (dblink) ile B veritabanndaki bilgilere
ulaabilir. Ama ayn balant kullanlarak B veritabanndan A
veritabanna ulalamaz (B veritabannn szlne de A'ya
ulaabilmek iin yeni bir ba eklenmelidir).
Bulunulan veritabanndaki tm kullanclarn vt1 veritabanna
balanabilmesi iin:
CREATE PUBLIC DATABASE LINK vt1 USING 'vt1';
Bulunulan veritabanndaki tm kullanclarn vt1'e, o
veritabanndaki bir kullancnn zerinden balanabilmesi iin:
CREATE DATABASE LINK vt1
CONNECT TO ahmet IDENTIFIED BY abc123 USING 'vt1';
Dier veritabanndaki personel tablosunu sorgulamak iin ba @ kullanlarak belirtilir:
SELECT * FROM personel@vt1;
Veriyi datma nasl yaplacak?
Eer kme yaps kullanyorsak farkl dmdeki tablo iin DBLink
ismi vermeye gerek yoktur (kmeye balanan istemciler sistemi tek
VT olarak grr).
ster kme, ister oklu VT yaps kullanyor olalm, tablonun
tamamn baka bir dme tayarak veriyi datmak uygun bir
zm olmayabilir.
ok sorgu gnderilen bir tablonun kopyalarn farkl dmlerde
saklamak ve yk dengeleme* kullanmak hz kazandrabilir.
Fakat veride deiiklik olduu zaman tm dier kopyalarda ilgili
gncellemenin yaplmas da zaman alc olacaktr.
Tabloyu bir btn olarak ayrmak yerine, satr ve stun baznda
paralamak, sorgularn ve DML ilemlerinin ilgili paralar zerinde
yaplmasn salamak ou zaman daha etkili bir zm olacaktr.
* http://tr.wikipedia.org/wiki/Yk_dengeleme
Fragmentation (Paralama)
Partitioning (Blmlendirme)
Verinin farkl saklama dmlerine gnderilmek
zere nasl paralanaca belirlenirken 3 farkl
yntemden biri tercih edilebilir:
Dikey paralama: Tablonun stunlarnn farkl
dmlerde olacak ekilde paralanmas
Yatay paralama: Belirli bir kriter ile kaytlarn
paralanmas
Hibrit paralama: Belirli stunlardaki verilerden
seilen kritere gre kaytlarn paralanmas
Replication (Yineleme)
Her para sistemdeki tm sunucularda saklanabilir veya
seilmi paralar, seilmi sunucularda saklanabilir.
stemcinin bir sunucu zerinde yapt deiikliin dier
sunuculara da yanstlmas gereklidir.
Replication ilemi datk veritabannda deiiklikler
arayan zel bir yazlm kullanmay gerektirir.
Deiiklikler tespit edildikten sonra, Replication ilemi
tm sunucularn ayn olmasn salar.
Replication datk veritabanlarnn boyutuna ve
saysna bal olarak karmak ve zaman alc olabilir
(bilgisayar kaynaklarn ok kullanabilir).
Partial Replication (Ksmi Yineleme)
seilmi paralar,
seilmi sunucularda
saklanr
letiim A
Duplication (Kopyalama)
Duplication ileminde master olarak tanmlanan bir
veritaban, belirli zaman aralklar ile replica olarak
bilinen dier veritabanlarna kopyalanr.
Bu ilemde, istemciler yalnzca master veritaban
zerinde deiiklik yapabilir. Bu nedenle DML
ilemlerinde yk dengeleme yoktur.
Sorgularda replicalar kullanlabildii iin yk
dengeleme vardr.
Master'dan replica'lara doru tek ynl bir
gncelleme yapld iin ilem basit ve hzldr.
Distributed Join
Datk veriyi sorgularda birletirmek iin farkl
yaklamlar kullanlabilir.
R ve S tablolarnn Y alan zerinden ilikili olduunu
dnelim; R'yi S'nin tarafna veya S'yi Y'nin tarafna
gndermek ve JOIN ilemi uygulamak gnderilecek
olan verinin hacmi dnldnde pahal bir ilemdir.
Storage
Network
Shared
Storage
Cache Fusion
nceki slaytta grdmz gibi her dmn kendine ait
bir instance' vardr.
Bir instance veriyi hafzaya kardnda, baka bir instance
tarafndan da bu verinin kullanlabilmesi iin Cache Fusion
adnda bir yap tm instance'larda yer alan Database Buffer
Cache'lerin ortaklaa kullanlmasn salar.
Bu yap, ihtiyac olan dier instance'lara gereken bloklar
transfer ederken her zaman zel a (interconnect) kullanr.
Cache Fusion'un ilgili veri aktarmlarnda sknt yaamamas
iin RAC dmlerindeki SGA bykl, tek bana alan
Oracle VT'lerde olduundan daha fazla olmaldr.
Global Cache Service (GCS)
Global Enqueue Service (GES)
Her instance'n sorguyu veya hareketi yrtmek
iin ihtiyac olan bloklar en hzl ekilde elde
etmesini ve veri btnln salamak iin
kullanlan servislerdir.
Temel olarak, Cache Fusion kaynaklarna eriimi
idare etmek iin kullanlrlar.
Bu servisler Global Resource Directory (GRD)
kullanarak, her veri dosyasnn ve her bellek
blounun durumlarn muhafaza eder.
GRD'ye aktif olan tm instance'lar eriebilir.
Oracle RAC Arkaplan lemleri
ACMS (Atomic Controlfile to Memory Service)
ki aamal commit ile atomicity salayan servis
GTX0-j (Global Transaction Process)
Global hareket ilemede effaflk destei salar
LMON (Global Enqueue Service Monitor)
Global ilem kuyruunu idare eder ve gerektiinde recovery yapar
LMD (Global Enqueue Service Daemon) = GES
Her instance iinde dardan gelen kaynak isteklerine yant verir
LMS (Global Cache Service Process) = GCS
LCK0 (Instance Enqueue Process)
Cache Fusion ile ilgili olmayan kaynak isteklerine yant verir
RMSn (Oracle RAC Management Processes)
Kmeye yeni bir dm eklendiinde, veya kmeden dm
karldnda yaplacak ilemleri idare eder
Oracle RAC Kurulumu
Oracle web sitesinden Grid Infrastructure (Clusterware)
indirilip kurulmaldr.
Grid Infrastructure sadece Linux ve Solaris iletim
sistemlerine kurulabilecei iin istenirse bu iletim
sistemleri de ayn adresten indirilebilir.
Eer Windows iletim sistemi zerinde sanal makine
oluturarak kurulum yaplacak ise VM VirtualBox indirilip
kurulabilir.
Ayrca Oracle VT 10g, 11g, 12c srmlerinden biri gereklidir.
Kurulum ile ilgili ilem admlarn gsteren aadaki
video'lardan faydalanlabilir:
https://www.youtube.com/watch?v=x80QP-0HchI
https://www.youtube.com/watch?v=sNu50xI0nXQ