• Sonuç bulunamadı

Veri tabanı yöneticisinin kısaca iki görevi vardır; ilk olarak sistemin düzgün çalıĢmasını sağlamalı, ikinci olarak da düzgün çalıĢmadığında onu mümkün olduğu kadar hızlı bir Ģekilde çalıĢır hale getirmektir.

Veri tabanı yöneticisinin görevlerini daha kapsamlı olarak açıklamak gerekirse aĢağıdaki gibi sıralayabiliriz.

2.4.1. Veritabanı Yazılımının Kurulması Ve Upgrade'ler (Yeni Versiyonlar)

Veritabanının yazılımının kurulması için genelde en basit tarafıdır. Farklı ĠĢletim Sistemlerine özgü hazır derlenmiĢ yazılım “kurulum notları” dikkate alınarak kurulur.

Veritabanının yoğun bir Ģekilde ve ekstra özelliklerinin kullanılması sonrası bazı hataların (bug'ların) ortaya çıkmasıyla veya yazılımın eksikliğinden kaynaklanan hataların düzeltilmesi için üretici firma tarafından çıkarılan yeni versiyonların veya eklentilerin (patch) kurulumu gerekebilir (www.teknohaber.net/makale.php?id=31007).

2.4.2. Veritabanının OluĢturulması

Veritabanından verileri okuyan, yazan, silen ve gerektiğinde de değiĢtiren yazılımlara “uygulama yazılımları” denir. Bu uygulamaların tasarımı sırasında uygulama geliĢtiricilerle birlikte Veritabanının da tasarımı yapılmalıdır. ĠĢte bu noktada veritabanı yöneticisi bir takım özellikleri dikkate alarak bir “veritabanı modeli” ortaya çıkarır. Bu esnada normalizasyon yöntemleri gibi optimizasyonlar yapılır.

Bu oluĢan model daha sonra fiziksel olarak, kullanılacak olan veritabanı yazılımı (Oracle, MSSQL, Informix, MySQL, Postgresql vs.) aracılığıyla oluĢturulur. Veritabanını fiziksel olarak oluĢtururken dikkat edilmesi gereken hususlar vardır:

Çok yoğun iĢlem görecek olan tablo-indeksleri mümkün olduğu kadar birbirinden fiziksel olarak ayırmak gerekir. Bilgisayar teknolojisinde en yavaĢ çalıĢan parça disktir bu yüzden mümkünse farklı diskler kullanılması avantaj sağlar.

Sıralama (sort) iĢlemleri için bir veya birden fazla geçici (temp) alanlar tanımlanmalıdır ( Oracle‟da temp tablespace, Informix‟te temp dbspace olarak geçer).

GiriĢ / ÇıkıĢ (I/O) iĢlemini hızlandırmak için RAID (paralel okuma özelliği ) sistemleri kullanılabilir.

Bunun gibi hazırlanacak veritabanının özellik ve isteklerine göre veritabanını hızlandırmak için gerekli ayarlama ve optimizasyonlar yapılır. Kâğıt üzerinde oluĢturulan veritabanı alanları, tabloları, indeksleri, viewleri, kullanıcıları ve yetkilendirmeleri oluĢturmak için genelde bir program (script) yazılır ve bu program çalıĢtırıldığında sırayla bunlar oluĢturulur. Bu program ayni veritabanı modeli baĢka bir bilgisayara kurulacağı zaman çok büyük kolaylık sağlar (www.teknohaber.net/makale.php?id=31007).

2.4.3. Veritabanı BaĢlatma/Durdurma

Veritabanı baĢlatma/durdurma iĢlemi önemli bir konudur, özellikle de durdurma iĢlemi verilerin bütünlüğünün sağlanması acısından çok önemlidir. ÇeĢitli durdurma yöntemleri vardır:

- Veritabanına bağlı bütün oturumların kendiliğinden sona ermesini bekleyen durdurma (gracefully shutdown),

- Veritabanına bağlı bütün oturumlar durdurma komutu verildikten hemen sonra sona erdirme seklinde durdurma (immediate shutdown),

- Bir de veritabanı processlerini hemen sona erdiren durdurma ( abort shutdown).

Durdurmanın Ģekli, asıl veritabanı baĢlatılırken önem kazanır. Her baĢlatma iĢleminde veritabanı sunucusu yarım kalan iĢlerin olup olmadığını kontrol etmektedir (fast recovery). Çünkü yarım kalan iĢlemler (transaction) gerektiğinde geri alınabilir (commit görmemiĢse, rollback) gerektiğinde de veritabanına iĢlenenebilir (commit görmüĢse, rollforward). Bu Ģekilde veritabanındaki verilerin bütünlüğü sağlanmaktadır.

Bir de bazen bilgisayarın (Veritabanının üzerinde çalıĢtığı sunucu ) yeniden baĢlatılması sırasında (reboot) Veritabanının otomatik olarak

baĢlatılması isteniyorsa, bu iĢlemi yapan ufak bir program yazmak gerekebilir (www.teknohaber.net/makale.php?id=31007).

2.4.4. Kullanıcı Ekleme ve Yetkilendirme

Veritabanında yapılan iĢlemler çok çeĢitli olabildiği için mutlaka belirli yetkileri olan kullanıcılar tanımlanmalıdır. Veritabanı yazılımları genellikle kendi kullanıcı tanımlama ve yetkilendirme sistemine sahiptir. Veritabanını sahibi onu oluĢturan kiĢidir ve yetkilendirmeyi de bu kullanıcı yapabilir.

Yetkilendirme çeĢitleri veritabanı yazılımına bağlıdır, ama genellikle tablo bazında, okuma, yazma, silme ve kayıt ekleme, tablo oluĢturabilme, indeks ekleme iĢlemleri her veritabanı yazılımında mevcuttur. Bütün kullanıcıların sınırsız yetkiye sahip olmasını, özellikle de büyük veritabanlarında böyle bir yetkiyi bir kiĢiye veya birden çok kiĢiye vermek çeĢitli yetki karmaĢalarına ve güvenlik açığına neden olabilir (www.teknohaber.net/makale.php?id=31007).

2.4.5. Veritabanı Yedekleme/Yedekten Geri Dönme ( Backup & Recovery).

Veritabanında oluĢabilecek hatalar (bug). , yanlıĢlıkla silinen kayıt ya da tablolar, donanımsal hatalardan kaynaklanan (genelde hard disk). problemler, yangın gibi felaketler veritabanındaki bilgilerin ya bozulmasına ya da tamamen kaybolmasına yol açabilir. Tabi bu istenmeyen bir durumdur ve de her gün olan bir olay değildir. Veritabanındaki bilgilerin değeri tasarlanacak olan yedekleme stratejisini büyük ölçüde belirleyecektir. Yedekleme stratejileri çok çeĢitlidir ve bu konuda veritabanı yazılımları kendi yedekleme programlarını sunmaktadır. Alınabilecek önlemler ya da yedekler genelde Ģu Ģekilde sıralanabilir (www.teknohaber.net/makale.php?id=31007):

 Veritabanındaki değiĢikliklerin bire bir baĢka bir sunucuya iletilmesi (replication, cluster gibi çözümler).

 Veritabanının bulunduğu diskleri birebir kendi üzerinde yedeğini almak yani aynalamak (mirroring yani RAID-1 sistemleri).

 Düzenli aralıklarla Veritabanının yedeklenmesi (baĢka bir diske, ya da bant aygıtına (tape device)) iĢlemine genelde export denir.

 Tablo bazında ASCII formatında yedek almayı sağlayan veritabanlarında, önemli tabloları düzenli aralıklarla yedeklemek.

GeliĢen teknolojiyle birlikte veri kaybını önleme yazılım ya da donanımları hızla çoğalmaktadır.

Bazı büyük veritabanları (Terabyte‟lar seviyesinde) yedeklemek günlerce süreceğinden sadece donanım olarak güvenlik önlemleri alınıyor. Çünkü yedeği günler süren bir veritabanını yedekten geri dönmek (recovery) daha fazla zaman alacağı için çok kritik veritabanları yedeklemeyi ya ek bir sunucuyu replication olarak ya da diskleri gerektiği kadar aynalayarak (mirroring) gerçekleĢtirmektedirler (www.teknohaber.net/makale.php?id=31007).

2.4.6. Veritabanı Performans Ayarlaması ( Performance Tuning).

Her veritabanı baĢlatılırken okuduğu bir konfigürasyon dosyası (oracle‟da init<db>.ora , informix‟te onconfig, postgresql‟de postgresql.conf) vardır. Bu dosyada, sistemden alacağı hafıza miktarı (memory allocation), oluĢturacağı process adeti, veritabanı sistem bilgilerinin yeri, yedekleme yeri ve türü, hatalarını yazdığı dosya adi (error log file), gibi bir çok ayrıntı vardır.Bu değerlerin her birine parametre (parameter) denir. Bu değerler bazen cevre değiĢkeni (environment variable) aracılığıyla veritabanı baĢlatılırken etkin kılınabilir ya da veritabanı çalıĢıyorken online de yapılabilir. Genelde bu değerler veritabanı kullanıcı sayısına, veri miktarına ya da yoğunluğuna ve iĢletim sistemine bağlı olarak sonradan ayarlamayı gerektirir.

Örneğin zaman içinde kullanıcı sayısının ya da veri giriĢ/çıkısının artmasıyla birlikte kullanacağı kaynaklar da artacağından gerekli parametreleri değiĢtirmek gerekir.

Tabi her parametrenin kriterleri vardır. Bu kriterleri veritabanındaki sistem tablolarından okuyarak anlamlı bir Ģekilde gösteren hazır yazılımlar olduğu gibi bu tür programlar kolaylıkla veritabanıyla haberleĢecek bir programlama diliyle programlanabilir (www.teknohaber.net/makale.php?id= 31007).

2.4.7. Veritabanı Tablo Ġndekslerin Büyüme Kontrolü

Veritabanı tablo ya da indeks eklerken veritabanından ilk baĢta tahsis edeceği miktar (initial size) ve bu alan dolduktan sonra tahsis edeceği miktar (next size) belirtilebilir. Belirtilmezse Veritabanının default olarak verdiği miktar (genelde 8 Kbyte) kullanılır. Tablolar ilk basta bos olarak oluĢturulacağı için bunlar fiziksel olarak yan yana olacaklardır ve kayıtlar eklendikçe bunlar büyüyeceklerdir. AĢağıdaki sekil bunu güzel bir Ģekilde açıklamaktadır.

ġeklin tamamının hard disk olduğunu varsayarsak içindeki tabloların büyüdükçe rastgele yerlerden alan tahsis ettiğini görüyoruz. Bu kutuların her birine extent deniliyor ve istenmeyen bir durumdur. Bir tabloya ait bütün alanların toplu hale getirilmesi performans acısından çok önemlidir, en yavaĢ donanım olan hard disk kafasının bir tablonun bütün kayıtlarını okuması için mümkün olduğu kadar az hareket etmesi gerekir. Bundan dolayı tablo ilk oluĢturulurken özellikle kayıt sayısının çok arttığı tablolarda büyük bir alan tahsis etmemiz gerekir. Zamanla tabloların bu Ģekilde dağılması olayına “fragmentation” , tabloların dağınık halden toplu hale getirilmesine de “reorganisation” ya da “defragmentation” denir.

Konuyu toparlayacak olursak oluĢabilecek hataları önceden gören ve ona göre tedbir alınması gerektiği için, veritabanı yönetiminin çok planlı yapılması gerekir. Veritabanı yönetimini kolaylaĢtıran hazır yazılımlar vardır. Bunlar genelde Windows tabanlı görsel uygulamalardır ve veritabanı sunucusunu genel hatlarıyla gözlemleme için faydalıdır. Bazı geliĢmiĢ olanlarında veritabanı, tablo, indeks, kullanıcı oluĢturma gibi iĢlemler çok daha kolay bir Ģekilde yapılabilmektedir. Oracle yazılımıyla birlikte gelen “Oracle Enterprise Manager” , Postgrsql için PgAdmin, Informix için Informix System Administrator bu tür yazılımlara örnektir. Verinin değerine göre yedekleme stratejisi bir kaçınılmazdır çünkü yedeğin önemi ancak ihtiyaç duyulduğu zaman ortaya çıkar1

(www.teknohaber.net/makale.php?id=31007).

Benzer Belgeler