Root > Documents > Veritabani Yönetim Sistemleri > Veritabanı Yöneticisinin Görevleri
Cyber-Warrior.Org \ Doküman \ Veritabani Yönetim Sistemleri > Veritabanı Yöneticisinin Görevleri
Madde
  Yazar : CwX
  Date : 26.11.2015 14:28:41
 
# Veritabanı Yöneticisinin Görevleri
 

Veritabani yöneticisinin rutin bir sekilde yerine getirmesi gereken çesitli görevler vardir. Bu görevlere veritabani tasarimi, performansi izleme ve düzenleme, veritabanina erisilebilirlik, güvenlik, yedek alma ve geri yükleme, veri bütünlügünün saglama, veritabanin konumu degistirme sayilabilir.

Veritabani Tasarimi

Veritabani yöneticisi RDMS (Iliskisel Veritabani Yönetim Sistemi) de veritabani olustururken, olusturacagi veritabaninin hem teorisini hemde belirgin uygulamasini bilmek zorundadir.
Veritabani yöneticisi mantiksal veri modelini fiziksel veri modeline dönüstürebilir. Veritabani yöneticisi istemci ve uygulama tarafindan kullanilan veritabanini tasarlayabileme ve uygulayabilmelidir.

Performansi Izleme ve Düzenleme

Performans, veritabaninin ayarlariyla veritabanindan beklenenlerin karsiligini almakla ilgili bir durumu gösterir. Yani donanim, yazilim ve ayarlamalar açisindan yetersiz bir sistemden, hiz ve daha fazla kapasite beklemek yanlis olacaktir. Veritabani performansini etkileyen 5 faktor vardir.

Bunlar;
· Workload(Is Yükü)
· Throughput(Üretilen is)
· Resources(Kaynaklar),
· Optimization(Iyi hale getirme)
· Contention(Mücadele) dir.

Workload(Is Yükü), DBMS de tanimli istekleri tanimlar. Workload; online transaction, batch job, ad hoc query, data warehousing(veri ambarlama), analytical queries(analitik sorgular) ve herhangi bir zamanda sistem tarafindan çalistirilan komutlari içerir. Workload gün gün, saat saat, dakika dakika hatta saniye saniye çok siddetli dalgalanabilir. Bazen de periyodik olarak dalgalanabilir.

Throughput, bilgisayar, donanim ve yaziliminin toplam yeteneklerini belirler. Throughput, I/O hizi, CPU hizi, makinanin paralel verimliligi, sistem yaziliminin ve isletim sisteminin etkinligini içerir.

Sistem bazinda donanim ve yazilim araçlari resources(kaynaklar) olarak bilinir. Örnek olarak veritabani çekirdegi, bos disk alani, önbellek denetleyicileri sayilabilir.

Optimization, veriye etkin bir sekilde erismek için sorgu maliyet formülleri ile veritabani taleplerini analiz etme anlamina gelir. Bütün sistem tipleri optimization kullanabilir. Fakat iliskisel sorgular DBMS’de birincil derede benzersiz oldugu için optimization benzersizdir. Yine de birçok faktör veritabanini en iyi sekilde kullanicisini ulastirmak için en verimli erisim yollari yaratmaya ihtiyaç duyar. Örnek olarak SQL kodlama, veritabani parametreleri, verimli bir sekilde programlama sayilabilir.

Belirli kaynaklar üzerinde is yükünün yüksek oldugu zamanlarda contention olusur. Herhangi bir kaynagi birden çok bilesen veya kisi kullandigi anda Contention olusur. Örnegin ayni veriye iki kisinin güncelleme yapmaya çalismasi gibi. Contention artigi durumlarda workload artar.

Performansi düzenleme ve birçok görev ve becerileri, veritabanlarinda etkili bir sekilde yapabilmek için veritabani yöneticileri gerekir. Bu beceriler uygun indeksleri olusturmak, yeteri kadar tampon bellek olusturmak, veritabanini ve uygulamalari izlemek, veritabanini yeniden düzenlemek olarak sayilabilir.

Kullanilabilirlik(Availability)

Kullanilabilirlik(Availability) ilk bileseni DBMS’yi yüksek tutmak ve çalistirmaktir. DBMS’nin hizmet disi kalmamasi için otamatik uyarilar olusturmak ve sürekli izlemek gerekir.

Bireysel veritabanlarinin sürekli açik ve çalisir olmasi gerekir. Veritabani yöneticisi karisikliklari en aza indirger ve çakismalarin en az olmasini saglar. Bir veritabani yöneticisi, çakismalari en aza indirmek için clustering(kümeleme) gibi teknolojileri kullanabilir.

Veritabani Güvenligi ve Yetkilendirilmesi

Veritabani tasarlandiktan ve programlandiktan sonra kullanicilarin veritabaninda ki veriye erismesi ve degistirmesi gerekir. Ama kullanicilarin uygun olmayan veya yasak olan veriye erismemelidirler. Kullanicilar sadece izni ve yetkisi oldugu veriye erisip onu kullanabilmelidirler. Iste veritabani yöneticileri uygun olan veriye kullanicilarin erismesini saglar.

Veritabani yöneticileri DBMS içerisinde güvenligi saglamak için, SQL(Structured Query Language) içerisinden Grant, Deny, Revoke deyimlerini kullanir.

Güvenlik birçok veritabani gereksinimleri için gereklidir. Bunlar;

· Veritabani objelerini olusturmak için. Bunlar databases(veritabani), tables(tablo), views gibi.
· Veritabani objelerini düzenlemek için.
· Sistem Kataloguna erismek için.
· Tablo içerindeki verilere erismek ve degistirmek için.
· Kullanici tanimli veri tipleri ve fonksiyonlar yaratmak için.
· Stored Procedure çalistirmak için.
· Veritabanini durdurmak veya çalistirmak için.
· DBMS parametrelerini ayarlamak veya düzenlemek için.
· LOAD, RECOVER, REORG gibi veritabani yardimci komutlarini çalistirir.

Güvenlik bazi yollarla güçlendirilebilir. Örnegin olusturulmus bir view’e son kullanicilar ve programcilar tarafindan bir giris blogu konulabilir.

Ayrica veritabanlarina harici(herhangi bir programlama dilinden veya uygulamalardan) güvenlik metodlari da uygulanabilir.

Yedek Alma ve Kurtarma(Geri Alma)

Veritabani yöneticisi herhangi bir sorun karsisinda kurtarma bilgisine sahip olmalidir. Sorun sistem sorunlari veya program hatasi olabilir. Bugün hemen hemen bütün sorunlar uygulama hatalari veya kullanici hatalari olarak karsimiza çikmaktadir.

Yapilan, analist tahminleri, uygulama hatalarinin 80%’inin, yazilim basarisizliklari ve insan hatasi yüzünden oldugunu gösterir. Veritabani yöneticisi çikan sorunlara en kisa zamanda müdahale edebilmelidir.

Genellikle veri kurtarmanin ilk tipi, büyük bir kapatmadan dolayi olusan varsayilan kurtarmadir(recover to current). Bu sonuç yapilan en son islemin veya güncel islemin basariyla gerçeklesmemesinden kaynaklanabilir. Geri alimi tamamlanincaya kadar uygulamalar kullanilmazlar.

Diger bir kurtarma tipi Point-in-time recovery’dir. Point-in-time recovery genellikle uygulama düzeyi sorunlarla ugrasir. Bir Point-in-time geri alimini yapmak için, geleneksel teknikler belirgin bir Point-in-time oldugu sürece tüm is yapmanin etkilerini kaldirir.

Transaction recovery üçüncü tipteki kurtarmadir. Transaction recovery, ariza süresi ve veri kaybi durumlarinda kullanilan kurtarma modelidir. Böylece transaction recovery belirli bir esnada belirli islerinin etkilerinin, veritabanindan kaldirilmadan gerçeklesecegi bir uygulamadir. Bu yüzden ki bazen uygulama kirici olarak da basvurulur.

Geri alma’nin herhangi bir tipini hazirlamak için, Veritabani Yöneticisi olarak verinin, yazilim, donanim, veya elle yapilan bir islemde bir hata halinde kaybolmadigini garanti etmesi için stratejinin oldugu bir yedegi gelistirmeye ihtiyaç duyar. Bu strateji uygulanabilir bir islem olarak(veritabani için bir yedek dosya olarak kopyalar, / Geri alma plani günlügüne kaydeder) veritabanini dosyalarinin kopyasini alir.

Veri Bütünlügü

Bir veritabani tasarlarken veri zarar görmemesi ve bozulmamasi için verinin dogru bir biçimde girilip saklanmasi gerekir. Veritabani yöneticisin bu islemi yerine getirmek için bütünlügü DBMS’nin kurallariyla(rule) yerine getirir.

Veri bütünlügünü, 3 bakis açisiyla saglayabiliriz. Bunlar fiziksel(physical), anlamsal(semantic), ve içsel(internal) olarak sayabiliriz. Fiziksel DBMS de veri tipleri ve alanlari sayabiliriz. Veritabani yöneticisi her bir tablonun her sütunu için uygun bir veri tipi seçer. Böylece o alan için uygun verinin girilmesi saglanir. Örnegin sütunun veri tipi integer olarak tanimlanmissa, o sütuna sadece nümerik bilgiler girilmesi saglanir. Kullanici metinsel veya nümerik olmayan bir bilgi girdiginde veritabani hata üretir. Çogu iliskisel DBMS türleri asagidaki constraint(kisit) tiplerini destekler:

Referential constraint : Belirli sütunlarla tablolar arasinda iliski kurmak için tanimlanir. Herhangi bir sütuna girilen verinin baska bir tablodaki diger bir sütunu etkilemesidir.

Unique constraint : Bir tablo içerisinde varolan bir sütunun içerisine benzersiz verilerin girilmesini saglar. Örnegin, Ögrenci adinda bir tabloda Ögrenci No diye bir sütunumuz olsun. Ögrenci No sütunun Unique (benzersiz) olarak belirlediginizde ayni Ögrenci No nun girilmemesini saglarsiniz.

Check constraint : Bir tablonun sütunlarinda veya bir sütununda girilen bilgilerin kisitlanmasini saglar. Örnegin Ögrenci adinda bir tabloda Cinsiyet diye bir sütunumuz olsun. Bu sütuna cinsiyeti sadece Bay veya Bayan olarak yazdirmak istiyorsak bunun için bir Check constraint tanimlamak gerekir.

Anlamsal (semantic), kontrol olarak da tanimlanma olarak da digerlerine göre daha zordur. Anlamsal (semantic) bütünlüge örnek olarak veritabanindaki verinin kalitesini verebilirim. Veritabaninda belirli olan fiziksel bütünlük yada kisit tanimlari herhangi bir veriyi sadece depolamak için yeterli degildir. Veri kalitesini garanti etmek yerlesimde olmasi için yordam ve pratik ihtiyacidir. Örnegin, kayitli olan müsterinin 25%’inde yanlis bir adres veya telefon numarasi içeren bir müsteri veritabani, yetersiz kalitesiyle bir veritabaninin bir örnegidir.

Bütünlügün son yönü, iç DBMS olusturur. DBMS iç bütünlügünü, asagidaki çözümlerle saglar.

Index Tutarliligi. Bir index veritabaninda ekstradan yer kaplayan ve veritabani içerisindeki tablolarin içerigini düzenli bir yapida tutan yer göstericilerdir. Indexler, herhangi bir veriyi sorgulararken tüm tablonun içerigini taramaktansa gerekli verilerin taranmasini saglayarak performansi artirir.

Pointer Tutarliligi. Bazen büyük miktardaki çoklu nesneleri ayni fiziksel ortamda saklamayiz. Bu yüzden büyük miktardaki bu verileri saklamak için Pointer’a ihtiyaç duyariz.

Backup Tutarliligi. Çogu DBMS ürünleri bazen recovery için etkin olarak kullanilamayan gereksiz veritabani yedekleri alir. Bu senaryo bu eylemleri tanimak ve düzeltici hareketleri almak için gereklidir.

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©