romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Veritabanı Yönetimi

  • Konuyu başlatan Konuyu başlatan TruvaGame
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 18
Metin2 Pvp GM

TruvaGame

Level 23
GM
TM Üye
Katılım
23 Ocak 2016
Konular
8,370
Mesajlar
18,385
Online süresi
4mo 19d
Reaksiyon Skoru
4,080
Altın Konu
0
Başarım Puanı
506
MmoLira
39
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Veritabani Yönetimi nedir?
Veritabani yönetiminin ne oldugunu ögrenmek icin öncelikle veritabaninin ne oldugunu bilmek gerekir.Veritabani basit olarak bilgi depolayan bir yazilimdir.Bircok yazilim bilgi depolayabilir ama aradaki fark, veritabanin bu bilgiyi verimli ve hizli bir sekilde yönetip degistirebilmesidir.
Veritabani, bilgi sisteminin kalbidir ve etkili kullanmakla deger kazanir.Bilgiye gerekli oldugu zaman ulasabilmek esastir.Indeksi olmayan bir kütüphane ve bütün kitaplarin ayni kapaga sahip oldugunu düsündügünüzde kütüphane kullanicilarinin ne kadar cok isi olacagini tahmin edersiniz.
Bir veritabani bir kütüphanenin mükemmel bir indeks sistemi oldugu gibi , ayni zamanda kütüphanenin kendisidir.
Veritabani yönetimi ve veritabani yönetcisinin rolü kütüphanecininkine benzerdir.Bilgiyi olusturmak ya da elde etmekten sorumlu degiller fakat varolan bilgiyi yönetirler.
Gercek veritabani yönetimi cok sorumluluk isteyen bir istir, veritabaninin her an düzgün ve verimli calismasini saglamak ve standartlari belirleyip veritabaninin icerdigi veriyi yönetmektir.
Bircok insan veritabaninin sadece bilgiyi tutan birsey oldugunu zanneder, fakat bundan cok öte birseydir ve önceden dedigim gibi bilgi sisteminin kalbidir.
Veritabani yönceticisi ve veritabani yönetimi bundan dolayi bütün mevkilerin eksenidir.
Veritabanindaki bir problem , cok pahali sonuclar dogurabilir. Bir bankanin veritabaninin durmasi demek , her an yapilan yüzlerce belki de binlerce islemin , dolayisiyla müsterilerin beklemesi demektir.
Ayni problem bir supermarket icin de gecerlidir, müsteriler kasada kuyruk olusturur, kisaca bütün sistem durabilir.
Bundan dolayi veritabani yöneticisi ilk olarak sistemin düzgün calismasini saglamali, ikinci olarak da düzgün calismadiginda onu mümkün oldugu kadar hizli bir sekilde calisir hale getirmektir.
Sanirim veritabani yönetimi nedir sorusuna basit de olsa bir cevap olustu kafanizda.
Simdi veritabani yöneticisinin yaptigi isleri mümkün oldugu kadar genel hatlariyla anlatmaya calisalim.
Veritabani yöneticisinin görevleri
Görevleri kisaca su basliklar altinda toplanabilir :
· Veritabani Yaziliminin Kurulmasi ve upgradeler (yeni versiyonlar)
· Veritabani olusturulmasi
· Veritabani baslatma/durdurma
· Kullanicilari ekleme ve yetkilendirme
· Veritabani yedekleme ve yedekten geri dönme (backup&recovery)
· Veritabani performans ayarlari (performance tuning)
· Veritabani tablo-/indekslerin büyüme kontrolu (fragmentation control)
1. Veritabani Yaziliminin Kurulmasi ve upgradeler (yeni versiyonlar)
Veritabaninin yaziliminin kurulmasi isin genelde en basit tarafidir.Farkli Isletim Sistemlerine özgü hazir derlenmis yazilim “kurulum notlari” dikkate alinarak kurulur.
Veritabaninin yogun bir sekilde kullanilmasindan sonra bazi buglarin (hatalarin) ortaya cikmasiyla üretici firma tarafindan cikarilan yeni versiyonlarin kurulumu gerekebilir.
2. Veritabaninin olusturulmasi
Veritabanindan verileri okuyan, yazan, silen ve gerektiginde de degistiren yazilimlara “uygulama yazilimlari” denir.Bu uygulamalarin tasarimi sirasinda uygulama gelistiricilerle birlikte veritabaninin da tasarimi yapilmalidir.Iste bu noktada veritabani yöneticisi bir takim özellikleri dikkate alarak bir “veritabani modeli” ortaya cikarir.Bu esnada normalizasyon yöntemleri gibi optimizasyonlar yapilir.
Bu olusan model daha sonra fiziksel olarak, kullanilacak olan veritabani yazilimi (Oracle, Informix, MySQL, Postgresql vs. ) araciligiyla olusturulur.Veritabanini tanimlarken , verimli bir sekilde kullanimdan bahsettik. Iste bu noktada veritabanini fiziksel olarak olustururken dikkat edilmesi gereken hususlar vardir:
· Cok yogun islem görecek olan tablo-/indeksleri mümkün oldugu kadar birbirinden fiziksel olarak ayirmak gerekir. (mümkünse farkli diskler, degilse farkli tablespace’ler kullanmak gibi)
· Sort (siralama) islemleri icin bir veya birden fazla temp (gecici) alanlar tanimlanmalidir ( Oracle’da temp tablespace , Informix’te temp dbspace olarak gecer)
Not: Bir sistemdeki en yavas komponent Harddisk’ler oldugu icin (mikroislemci ve hafizaya gore) veritabaninin fiziksel dagilimi da cok büyük önem arz etmektedir.Hatta bilgi Giris/Cikis (I/O) islemini hizlandirmak icin RAID (parallel okuma özelliginden yararlanmak icin ) sistemleri kullanilir.

Kagit üzerinde olusturulan veritabani alanlari, tablolari, indeksleri, viewlari , kullanicilari ve yetkilendirmeleri olusturmak icin genelde bir program (script) yazilir ve bu program calistirildiginda sirayla bunlar olusturulur.
Bu program mantiksal kod olarak genelde su sekildedir :
-veritabani olusturma
-depolama alanlari tanimlama
-kullanici ve yetkilerini tanimlama
-tablo, indeks, view, vs objeleri olusturma
Bu program ayni veritabani modeli baska bir bilgisayara kurulacagi zaman cok büyük kolaylik saglar.
3. Veritabani baslatma /durdurma
Veritabani baslatma/durdurma islemi önemli bir konudur, özellikle de durdurma islemi verilerin bütünlügünün saglanmasi acisindan cok önemlidir.Cesitli durdurma yöntemleri vardir :
· Veritabanina bagli bütün oturumlarin kendiliginden sona ermesini bekleyen durdurma (gracefully shutdown)
· Veritabanina bagli bütün oturumlar durdurma komutu verildikten hemen sonra sona erdirme seklinde durdurma (immediate shutdown)
· Bir de veritabani processlerini hemen sona erdiren durdurma ( abort shutdown)
Durdurmanin sekli , asil veritabani baslatilirken önem arz ediyor.Her baslatma isleminde veritabani sunucusu yarim kalan islerin olup olmadigini kontrol eder (fast recovery). Cünkü yarim kalan islemler (transaction) gerektiginde geri aliniyor (commit görmemisse ,rollback) gerektiginde de veritabanina isleniyor (commit görmüsse, rollforward).Bu sekilde veritabanindaki verilerin bütünlügü saglanmis oluyor.
Bir de bazen bilgisayarin (veritabaninin üzerinde calistigi sunucu ) yeniden baslatilmasi sirasinda (reboot) veritabaninin otomatik olarak baslatilmasi isteniyorsa , bu islemi yapan ufak bir program yazmak gerekebiliyor.
4. Kullanici ekleme ve yetkilendirme
Veritabaninda yapilan islemler cok cesitli olabildigi icin mutlaka belirli yetkileri olan kullanicilar tanimlanmalidir.Veritabani yazilimlari genellikle kendi kullanici tanimlama ve yetkilendirme sistemine sahiptir.Veritabanini sahibi onu olusturan kisidir ve yetkilendirmeyi de bu kullanici yapar.
Yetkilendirme cesitleri veritabani yazilimina baglidir , ama genellikle tablo bazinda, okuma, yazma, silme ve kayit ekleme , tablo olusturabilme, indeks ekleme islemleri her veritabani yaziliminda mevcuttur. Bütün kullanicilarin sinirsiz yetkiye sahip olmasini , özellikle de büyük veritabanlarinda bekleyemeyiz herhalde.
5. Veritabani yedekleme/yedekten geri dönme (backup&recovery)
Veritabaninda olusabilecek hatalar (bug) , yanlislikla silinen kayit ya da tablolar, donanimsal hatalardan kaynaklanan (genelde harddisk) problemler, yangin gibi felaketler veritabanindaki bilgilerin ya bozulmasina ya da tamamen kaybolmasina yol acabilir. Tabi bu istenmeyen bir durumdur ve de her gün olan bir olay degildir. Veritabanindaki bilgilerin degeri tasarlanacak olan yedekleme startejisini büyük ölcüde belirleyecektir. Yedekleme stratejileri cok cesitlidir ve bu konuda veritabani yazilimlari kendi yedekleme programlarini sunmaktadir. Alinabilecek önlemler ya da yedekler genelde su sekilde siralanabilir :
-Veritabanindaki degisikliklerin bire bir baska bir sunucuya iletilmesi (replication, cluster gibi cözümler)
-Veritabaninin bulundugu diskleri aynalamak (mirroring yani RAID sistemleri).
-Düzenli araliklarla veritabaninin yedeklenmesi (baska bir diske, ya da bant aygitina (tape device)). Buna genelde export deniliyor.
-Tablo bazinda ASCII formatinda yedek almayi saglayan veritabanlarinda , önemli tablolari düzenli araliklarla yedeklemek.
Gelisen tekonolojiyle birlikte veri kaybini önleme yazilim ya da donanimlari hizla cogalmaktadir.
Bazi büyük veritabanlari (Terabyte’lar seviyesinde) yedeklemek günlerce süreceginden sadece donanim olarak güvenlik önlemleri aliniyor. Cünkü yedegi günler süren bir veritabanini yedekten geri dönmek (recovery) daha fazla zaman alacagi icin cok kritik veritabanlari yedeklemeyi ya ek bir sunucuyu replication olarak ya da diskleri gerektigi kadar aynalayarak gerceklestirmektedirler.
6. Veritabani performans ayarlamasi ( performance tuning)
Her veritabani baslatilirken okudugu bir konfigurasyon dosyasi (oracle’da init<db>.ora , informix’te onconfig, postgresql’de postgresql.conf) vardir. Bu dosyada , sistemden alacagi hafiza miktari (memory allocation), olusturacagi process adeti, veritabani sistem bilgilerinin yeri, yedekleme yeri ve türü, hatalarini yazdigi dosya adi (error log file), gibi bir cok ayrinti vardir.Bu degerlerin her birine parametre (parameter) denir.Bu degerler bazen cevre degiskeni (environment variable) araciligiyla veritabani baslatilirken etkin kilinabilir ya da veritabani calisiyorken online de yapilabilir. Genelde bu degerler veritabani kullanici sayisina, veri miktarina ya da yogunluguna ve isletim sistemine bagli olarak sonradan ayarlamayi gerektirir.
Örnegin zaman icinde kullanici sayisinin ya da veri giris/cikisinin artmasiyla birlikte kullanacagi kaynaklar da artacagindan gerekli parametreleri degistirmek gerekir.
Tabi her parametrenin kriterleri vardir. Bu kriterleri veritabanindaki sistem tablolarindan okuyarak anlamli bir sekilde gösteren hazir yazilimlar oldugu gibi bu tür programlar kolaylikla veritabaniyla haberlesecek bir programlama diliyle programlanabilir.
7. Veritabani tablo-/indekslerin büyüme kontrolu
Veritabani tablo ya da indeks eklerken veritabanindan ilk basta tahsis edecegi miktar (initial size) ve bu alan dolduktan sonra tahsis edecegi miktar (next size) belirtilebilir. Belirtilmezse veritabaninin default olarak verdigi miktar (genelde 8 Kbyte) kullanilir. Tablolar ilk basta bos olarak olusturulacagi icin bunlar fiziksel olarak yanyana olacaklardir ve kayitlar eklendikce bunlar büyüyeceklerdir. Asagidaki sekil bunu güzel bir sekilde aciklamaktadir.

Seklin tamamininin harddisk oldugunu varsayarsak icindeki tablolarin büyüdükce rasgele yerlerden alan tahsis ettigini görüyoruz.Bu kutularin her birine extent deniliyor ve istenmeyen bir durumdur. Bir tabloya ait bütün alanlarin toplu hale getirilmesi performans acisindan cok önemlidir, en yavas donanim olan harddisk kafasinin bir tablonun bütün kayitlarini okumasi icin mümkün oldugu kadar az hareket etmesi gerekir.Bundan dolayi tablo ilk olusturulurken özellikle kayit sayisinin cok arttigi tablolarda büyük bir alan tahsis etmemiz gerekir. Zamanla tablolarin bu sekilde dagilmasi olayina “fragmentation” , tablolarin daginik halden toplu hale getirilmesine de “reorganisation” ya da “defragmentation” denir.
Konuyu toparlayacak olursak olusabilecek hatalari önceden gören ve ona gore tedbir alinmasi gerektigi icin, veritabani yönetiminin cok planli yapilmasi gerekir.Veritabani yönetimini kolaylastiran hazir yazilimlar vardir.Bunlar genelde windows tabanli görsel uygulamalardir ve veritabani sunucusunu genel hatlariyla gözlemle icin faydalidir.Bazi gelismis olanlarinda veritabani , tablo, indeks, kullanici olusturma gibi islemler cok daha kolay bir sekilde yapilabilmektedir.Oracle yazilimiyla birlikte gelen “Oracle Enterprise Manager” , Postgrsql icin PgAdmin , Informix icin Informix System Administrator (ISA) bu tür yazilimlara örnektir.
Verinin degerine gore yedekleme stratejisi bir kacinilmazdir cünkü yedegin önemi ancak ihtiyac duyuldugu zaman ortaya cikar.
06.09.2003
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst