Veri Tabanı Yönetim Sistemleri Hangi İşi Üstlenir?

Haberci

SEO UZMANI
Yönetici
Katılım
21 May 2023
Mesajlar
777
Tepki
17
Puan
18
1048




Veriyi bir dosyaya yazmak da mümkün. İşin içine aynı anda çalışan onlarca kullanıcı, yarıda kalan işlemler ve elektrik kesintisi girince o dosya bir sistem gerektiriyor.

Aşağıda veri tabanı yönetim sistemlerinin hangi görevleri üstlendiğini, istemci-sunucu düzeninin nasıl kurulduğunu, işlemlerin neyi güvenceye aldığını ve ilişkisel olmayan sistemlerin bu tablodaki yerini üreticilerin kendi belgelerine bakarak topluyoruz.

Sistem neyi devralıyor?​


Veri tabanı yönetim sistemi, kısaca VTYS, veriyi saklamak ve ona erişimi düzenlemek üzere yazılmış yazılım. Uygulamanın yaptığı iş sorguyu göndermek; sırayı, kilidi, tutarlılığı ve kalıcılığı yöneten taraf ise bu sistem.

PostgreSQL'in mimari temeller bölümü düzeni tarif ediyor: sistem istemci-sunucu modelini kullanıyor ve bir oturum, işbirliği yapan süreçlerden oluşuyor.

Sunucu sürecinin görevleri sayılmış: veri tabanı dosyalarını yönetiyor, istemci uygulamalardan gelen bağlantıları kabul ediyor ve istemciler adına veri tabanı işlemlerini gerçekleştiriyor.

İstemci tarafı ise çeşitli olabiliyor: metin tabanlı bir araç, grafik arayüzlü bir uygulama, sayfaları göstermek için veri tabanına erişen bir web sunucusu ya da özel bir bakım aracı.

Aynı anda gelen bağlantılar​


Belge eşzamanlılığın nasıl karşılandığını da yazıyor: sunucu birden çok eşzamanlı bağlantıyı işleyebiliyor ve bunu her bağlantı için yeni bir süreç başlatarak yapıyor.

Bu noktadan sonra istemci ile yeni sunucu süreci, ilk süreç araya girmeden haberleşiyor. Denetleyici sunucu süreci ise her zaman çalışır durumda kalıp yeni bağlantıları bekliyor.

Bir uyarı daha var: istemci ile sunucu farklı makinelerde olabiliyor, bu durumda TCP/IP ağı üzerinden haberleşiyorlar. Yani istemci makinesinde erişilebilen bir dosya, sunucu makinesinde erişilebilir olmayabiliyor.

  • Sunucu: Dosyaları yönetir, bağlantı kabul eder, işlemleri yürütür.
  • İstemci: Sorguyu gönderen uygulama; araç, site ya da betik.
  • Eşzamanlılık: Her bağlantı için ayrı süreç.

Sunucu kavramının kendisini sunucu yazımızda ele almıştık; veri tabanı sunucusu da bu rollerden biri.

İşlem ne güvenceye alıyor?​


VTYS'yi düz dosyadan ayıran asıl kavram işlem (transaction). Belgenin işlemler bölümü tanımı net veriyor: işlemler bütün veri tabanı sistemlerinin temel kavramı ve özü, birden çok adımı tek bir "ya hep ya hiç" işleminde toplamak.

İki güvence sayılıyor. Birincisi ara durumların diğer eşzamanlı işlemlere görünmemesi; ikincisi işlemi tamamlanmaktan alıkoyan bir hata olursa adımların hiçbirinin veri tabanını etkilememesi.

Belgenin örneği banka hesapları üzerinden kuruluyor: bir hesaptan düşülen tutarın öbürüne eklenmesi birden çok güncelleme gerektiriyor ve bankanın istediği şey ya hepsinin gerçekleşmesi ya da hiçbirinin. İşleme atomik denmesinin nedeni bu; diğer işlemler açısından ya tamamen oluyor ya da hiç olmuyor.

İkinci güvence kalıcılıkla ilgili: bir işlem tamamlanıp sistem tarafından onaylandığında, hemen ardından bir çökme yaşansa bile kalıcı olarak kaydedilmiş sayılıyor.

Püf nokta' Alıntı:
Para, stok ve sipariş gibi alanlarda çok adımlı güncellemeleri tek işleme sarmak, bir tercih değil zorunluluk.

Yedeğin gerçekten geri yüklenip yüklenmediğini yedekleme yazımızda sınamıştık; kalıcılık güvencesi yedeğin yerini tutmuyor.

İlişkisel olmayanlar​


Bütün veri tabanı yönetim sistemleri tabloya dayanmıyor. MongoDB'nin belgeler ve koleksiyonlar sayfası farklı bir modeli tarif ediyor: sistem veri kayıtlarını koleksiyonlar içinde belge olarak saklıyor ve bir veri tabanı bir ya da daha çok koleksiyon barındırıyor.

Şema tarafındaki fark da yazılı: varsayılan olarak bir koleksiyondaki belgeler ortak bir şema paylaşmıyor, alanlar ve veri türleri belgeden belgeye değişebiliyor. İstenirse ekleme ve güncelleme işlemlerinde şema doğrulama kuralları uygulanabiliyor.

Seçim de buradan çıkıyor: alanları önceden tanımlı ve ilişkileri sıkı veri için ilişkisel model, biçimi değişken kayıtlar için belge modeli gündeme geliyor. Tablo yapısını kurmayı veritabanı yazımızda göstermiştik.

Sık Sorulan Sorular​


Veri tabanı yönetim sistemleri ne yapar?
Veriyi saklar, erişimi düzenler, eşzamanlı bağlantıları yönetir ve işlemlerin bütünlüğünü güvenceye alır.

İstemci-sunucu modeli ne demek?
Sunucu süreci dosyaları yönetip bağlantıları kabul ediyor, istemci uygulama ise sorguyu gönderiyor; ikisi farklı makinelerde olabiliyor.

Eşzamanlı bağlantılar nasıl karşılanıyor?
PostgreSQL örneğinde sunucu, her bağlantı için yeni bir süreç başlatıyor ve denetleyici süreç yeni bağlantıları beklemeye devam ediyor.

İşlem (transaction) neden önemli?
Birden çok adımı tek bir ya hep ya hiç işlemine topluyor; hata hâlinde adımların hiçbiri veri tabanını etkilemiyor.

İlişkisel olmayan sistemler nasıl saklıyor?
MongoDB örneğinde kayıtlar koleksiyonlarda belge olarak duruyor ve belgeler varsayılan olarak ortak şema paylaşmıyor.

Özetle​


Veri tabanı yönetim sistemi, veriyi tutmakla kalmıyor; bağlantıları karşılıyor, eşzamanlı istekleri sıraya koyuyor ve çok adımlı güncellemeleri tek parça hâline getiriyor. İstemci-sunucu düzeni işi ikiye ayırıyor, işlem kavramı ise yarıda kalmış güncellemelerin veriyi bozmasını engelliyor. İlişkisel olmayan sistemlerde model değişiyor, ama sorulacak soru aynı kalıyor: veriniz sabit alanlı mı, değişken biçimli mi?

Uygulamanızdaki çok adımlı güncellemeler tek bir işlem içinde mi çalışıyor?

Güncelleme: 5 Eylül 2026. PostgreSQL belgelerinin mimari temeller ile işlemler bölümleri ve MongoDB belgeler-koleksiyonlar sayfası kontrol edildi.



Dijital Dünyanıza Yön Veren Pusula
 

Ekli dosyalar

  • banner_04.jpg
    banner_04.jpg
    7.1 KB · Görüntüleme: 1
Geri
Üst