Nisan 08, 2017

Veritabanı Yönetimi


  Günümüzde veritabanı sistemleri bankacılıktan otomotiv sektörüne, sağlık bilgi sistemlerinden şirket yönetimine, telekomünikasyon sistemlerinden hava taşımacılığına, çok geniş alanlarda kullanılan bilgisayar sistemlerinin alt yapısını oluşturmaktadır. Veritabanı fiziksel olarak bilgileri tutarken mantıksal bir sisteme de sahiptir. Veritabanı sistemlerinin kurulumu, konfigürasyonu, tasarımı, sorgulaması, güvenliği ve denetiminin karmaşık bir hal alması veritabanı yöneticiliği kavramının oluşmasına neden olmuştur.







Veritabanı Yönetim Sistemleri:


✅ Formlar oluşturur ve formları işler,

✅ Sorgular oluşturur ve sorgular iletilir,

✅ Raporlar oluşturur ve raporları işletir,

✅ Uygulama mantığını gerçekleştirir,

✅ Uygulamayı kontrol eder.


Veri Yönetimi Faydaları

  • İhtiyaç durumunda aranan veriyi hızlıca bulabilmek ve faydalanarak bilgi üretebilmek.
  • Gereksiz veri kirliliğinden kurtulmak.
  • Kurumu ileriye taşıyacak kararlarda destek sağlamak.
  • Sonuçları doğrulamak, sağlamlığı arttırmak.
  • Kurumsal hafızayı korumak ve dijitalleşmek.
  • Operasyonel mükemmeliyete ulaşmak.

Veritabanı Yöneticisinin Görevleri
  
   Veritabanı yöneticisinin rutin bir şekilde yerine getirmesi gereken çeşitli görevler vardır. Bu görevlere veritabanı tasarımı, performansı izleme ve düzenleme, veri tabanına erişilebilirlik, güvenlik, yedek alma ve geri yükleme, veri bütünlüğünün sağlama, veri tabanın konumu değiştirme sayılabilir.

Veritabanı Tasarımı

Veritabanı yöneticisi RDMS (İlişkisel Veritabanı Yönetim Sistemi) de veritabanı oluştururken, oluşturacağı veritabanının hem teorisini hem de belirgin uygulamasını bilmek zorundadır. Veritabanı yöneticisi mantıksal veri modelini fiziksel veri modeline dönüştürebilir. Veritabanı yöneticisi istemci ve uygulama tarafından kullanılan veritabanını tasarlayabileme ve uygulayabilmelidir.

Performansı İzleme Ve Düzenleme

     Performans, veritabanının ayarlarıyla veritabanından beklenenlerin karşılığını almakla ilgili bir durumu gösterir. Yani donanım, yazılım ve ayarlamalar açısından yetersiz bir sistemden, hız ve daha fazla kapasite beklemek yanlış olacaktır. Veritabanı performansını etkileyen 5 faktör vardır.

Bunlar;

  • Workload(İş Yükü)
  • Throughput(Üretilen İş)
  • Resources(Kaynaklar)
  • Optimization(İyi Hale Getirme)
  • Contention(Mücadele)


     Workload(İş Yükü), DBMS de tanımlı istekleri tanımlar. Workload; online transaction,
batch job, ad hoc query, data warehousing(veri ambarlama), analytical queries(analitik sorgular) ve herhangi bir zamanda sistem tarafından çalıştırılan komutları içerir. Workload gün gün, saat saat, dakika dakika hatta saniye saniye çok şiddetli dalgalanabilir. Bazen de periyodik olarak dalgalanabilir.

     Throughput, bilgisayar, donanım ve yazılımının toplam yeteneklerini belirler. Throughput, I/O hızı, CPU hızı, makinenin paralel verimliliği, sistem yazılımının ve işletim sisteminin etkinliğini içerir.

     Sistem bazında donanım ve yazılım araçları resources(kaynaklar) olarak bilinir. Örnek olarak veritabanı çekirdeği, boş disk alanı, önbellek denetleyicileri sayılabilir.

   Optimization, veriye etkin bir şekilde erişmek için sorgu maliyet formülleri ile veritabanı taleplerini analiz etme anlamına gelir. Bütün sistem tipleri optimization kullanabilir. Fakat ilişkisel sorgular DBMS’de birincil derede benzersiz oldugu için optimization benzersizdir. Yine de birçok faktör veritabanını en iyi şekilde kullanıcısını ulaştırmak için en verimli erişim yolları yaratmaya ihtiyaç duyar. Örnek olarak SQL kodlama, veritabanı parametreleri, verimli bir şekilde programlama sayılabilir.

Belirli kaynaklar üzerinde iş yükünün yüksek olduğu zamanlarda contention oluşur. Herhangi bir kaynağı birden çok bileşen veya kişi kullandığı anda Contention oluşur. Örneğin aynı veriye iki kişinin güncelleme yapmaya çalışması gibi. Contention artığı durumlarda workload artar.

Performansı düzenleme ve birçok görev ve becerileri, veritabanlarında etkili bir şekilde yapabilmek için veritabanı yöneticileri gerekir. Bu beceriler uygun indeksleri oluşturmak, yeteri kadar tampon bellek oluşturmak, veritabanını ve uygulamaları izlemek, veritabanını yeniden düzenlemek olarak sayılabilir.

Veritabanı Güvenliği ve Yetkilendirilmesi


     Veritabanı tasarlandıktan ve programlandıktan sonra kullanıcıların veritabanındaki veriye erişmesi ve değiştirmesi gerekir. Ama kullanıcılar uygun olmayan veya yasak olan veriye erişmemelidirler. Kullanıcılar sadece izni ve yetkisi olduğu veriye erişip onu kullanabilmelidirler. İşte veritabanı yöneticileri uygun olan veriye kullanıcıların erişmesini sağlar.

Güvenlik birçok veritabanı gereksinimleri için gereklidir. Bu gereksinimler;
• Veritabanı objelerini oluşturmak (Databases(veritabanı), tables(tablo)
views gibi)
• Veritabanı objelerini düzenlemek, 
• Sistem kataloğuna erişmek, 
• Tablo içerindeki verilere erişmek ve değiştirmek, 
• Kullanıcı tanımlı veri tipleri ve fonksiyonlar yaratmak,
• Stored Procedure çalıştırmak,
• Veritabanını durdurmak veya çalıştırmak ve
• DBMS parametrelerini ayarlamak veya düzenlemektir.
     Güvenlik bazı yollarla güçlendirilebilir. Örneğin oluşturulmuş bir view’e son kullanıcılar ve programcılar tarafından bir giriş bloğu konulabilir.Ayrıca veritabanlarına harici (herhangi bir programlama dilinden veya uygulamalardan) güvenlik metotları da uygulanabilir.


Yedek Alma ve Kurtarma (Geri Alma)

     Veritabanı yöneticisi herhangi bir sorun karşısında kurtarma bilgisine sahip olmalıdır. Sorun sistem sorunları veya program hatası olabilir. Bugün hemen hemen bütün sorunlar uygulama hataları veya kullanıcı hataları olarak karşımıza çıkmaktadır.
     Yapılan, analist tahminleri, uygulama hatalarının 80%’inin, yazılım başarısızlıkları ve insan hatası yüzünden olduğunu gösterir. Veritabanı yöneticisi çıkan sorunlara en kısa zamanda müdahale edebilmelidir.
     Genellikle veri kurtarmanın ilk tipi, büyük bir kapatmadan dolayı oluşan varsayılan kurtarmadır. Bu sonuç yapılan en son işlemin veya güncel işlemin başarıyla gerçekleşmemesinden kaynaklanabilir. Geri alımı tamamlanıncaya kadar uygulamalar kullanılmazlar.
     Diğer bir kurtarma tipi Point-in-time recovery’dir. Point-in-time recovery genellikle uygulama düzeyi sorunlarla uğraşır. Bir Point-in-time geri alımını yapmak için, geleneksel teknikler belirgin bir Point-in-time oldugu sürece tüm iş yapmanın etkilerini kaldırır.
     Transaction recovery üçüncü tipteki kurtarmadır. Transaction recovery, arıza süresi ve veri kaybı durumlarında kullanılan kurtarma modelidir. Böylece transaction recovery belirli bir esnada belirli işlerinin etkilerinin, veritabanından kaldırılmadan gerçekleşeceği bir uygulamadır. Bu yüzden ki bazen uygulama kırıcı olarak da başvurulur.
     Geri almanın herhangi bir tipini hazırlamak için, veritabanı yöneticisi olarak verinin, yazılım, donanım, veya elle yapılan bir işlemde bir hata halinde kaybolmadığını garanti etmesi için stratejinin olduğu bir yedeği geliştirmeye ihtiyaç duyar. Bu strateji uygulanabilir bir işlem olarak veritabanının dosyalarının kopyasını alır.



Veri Bütünlüğü

     Bir veritabanı tasarlarken verinin, zarar görmemesi ve bozulmaması, için doğru bir biçimde girilip saklanması gerekir. Veritabanı yöneticisin bu işlemi yerine getirmek için bütünlüğü DBMS’nin kurallarıyla yerine getirir.
     Veri bütünlüğünü, 3 bakış açısıyla sağlayabiliriz. Bunlar fiziksel(physical), anlamsal(semantic), ve içsel(internal) olarak sayabiliriz. Fiziksel DBMS de veri tipleri ve alanları sayabiliriz. Veritabanı 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 sağlanır. Örneğin sütunun veri tipi integer olarak tanımlanmışsa, o sütuna sadece nümerik bilgiler girilmesi sağlanır. Kullanıcı metinsel veya nümerik olmayan bir bilgi girdiğinde veritabanı hata üretir.

     Anlamsal, kontrol olarak da tanımlanma olarak da diğerlerine göre daha zordur. Anlamsal bütünlüğe örnek olarak veritabanındaki verinin kalitesi verilebilir. Veritabanında belirli olan fiziksel bütünlük ya da kısıt tanımları herhangi bir veriyi sadece depolamak için yeterli değildir. Veri kalitesini garanti etmek yerleşimde olması için yordam ve pratik ihtiyacıdır. Örneğin, kayıtlı olan müşterinin 25%’inde yanlış bir adres veya telefon numarası içeren bir müşteri veritabanı, yetersiz kalitesiyle bir veritabanının bir örneğidir.
     Bütünlüğün son yönü, iç DBMS oluşturur. DBMS iç bütünlüğünü, aşağıdaki çözümlerle sağlar.


Index Tutarlılığı. Bir index veritabanında ekstradan yer kaplayan ve veritabanı içerisindeki tabloların içerigini düzenli bir yapıda tutan yer göstericilerdir. Indexler, herhangi bir veriyi sorgulararken tüm tablonun içerigini taramaktansa gerekli verilerin taranmasını saglayarak performansı artırır.


Pointer Tutarlılığı. Bazen büyük miktardaki çoklu nesneleri aynı fiziksel ortamda saklamayız. Bu yüzden büyük miktardaki bu verileri saklamak için Pointer’a ihtiyaç duyarız.


Backup Tutarlılığı. Çogu DBMS ürünleri bazen recovery için etkin olarak kullanılamayan gereksiz veritabanı yedekleri alır. Bu senaryo bu eylemleri tanımak ve düzeltici hareketleri almak için gereklidir.

Hiç yorum yok:

Yorum Gönder