7  Veritabanı türleri

7.1 Sakladıkları veri yapısına göre Veritabanı Türleri

  • İlişkisel VTYS
  • Anahtar-değer depoları
  • Belge depoları
  • Zaman Serisi VTYS
  • Çizge (Graph) VTYS
  • Arama motorları
  • Nesne yönelimli VTYS
  • RDF depoları
  • Vektör DBMS
  • Geniş sütun mağazaları
  • Çok değerli VTYS
  • Mekansal (Spatial) VTYS
  • Yerel XML DBMS
  • Etkinlik Mağazaları
  • İçerik mağazaları
  • Navigasyonel VTYS
  • Sütunlu (Columnar)

7.2 İlişkisel veritabanları

Çok sayıda veritabanı türü olmasına rağmen, ilişkisel veritabanları bu dersin odak noktası olacaktır. Nosql olarak adlandırılan ve diğer veritabanı türleri ele alınmayacaktır.

7.3 Mimariye göre veritabanı türleri

  • Sunucu-istemci
  • Dosya tabanlı
  • Hafızada
  • Gömülü

8 İstemci Sunucu veri tabanları

İstemci Sunucu çalışması

Bir çok veri tabanı sistemi istemci sunucu mimarisinda çalışır. Çalışma mantıkları aşağıdaki gibidir.

  1. İstemci uygulaması çalıştırmak istediği sorguyu istek (request) olarak gönderir.
  2. Bu sql sorgu isteği bir bağlantı kütüphanesi tarafından sunucu’ya iletilir.
  3. Sunucu tarafında gönderilen sorgu isteğini bunun için ayrılmış bir işlem (process) karşılar.
  4. Bu işlem ihtiyaç duyduğu veri tabanı dosyalarını okuyarak değiştirerek cevap hazırlar. Bu sırada arka planda bir çok başka işlem çalışıyor olabilir.
  5. SQL sorgusunun cevabı (response) geri döndürülür. Bu cevap kaç satırın etkilendiği, bir sonuç seti veya bir hata mesajı olabilir.
  6. İstemci yine bağlantı kütüphanesini kullanarak cevabı yorumlar.

8.1 Dosya tabanlı

Dosya tabanlı mimaride, veritabanı olarak yerel bir dosya kullanılır. Sunucu yoktur, her şey istemci bilgisayarda yapılır. Sqlite ve Microsoft Access iyi bilinen dosya tabanlı veritabanlarıdır. Düz dosya tabanlı veri tabanları CSV gibi yine bu tür veri tabanı sayılırlar. Gömülü veri tabanları dosya veri tabanlarının daha gelişmiş halidir.

8.2 Hafızada çalışan

Her şey bellekte saklanır. Bu nedenle, istemci bağlantısı sona erdiğinde, veritabanı içeriği de kaybolur. Bellek içi veritabanları test ve önbellekleme için kullanılır. Sqlite hafıza veritabanı olarak çalışabilir.

8.3 Gömülü

Gömülü veri tabanları bazen dosya tabanlı veri tabanları olarakta adlandırılırlar.

Gömülü bir veritabanı, istemci sunucu mimarisinin tersine uygulamaya entegre edilmiş bir veritabanı yönetim sistemidir

  • Ayrı bir sunucu yoktur. Bu durum ağ iletişimini ortadan kaldırdığı için uygulamayı hızlandırır ve dağıtımı (deployment) basitleştirir. Bu durum ayrıca yönetimide kolaylaştırır.

  • Hafiflik: Gömülü veritabanları az kaynak kullanımı düşünelerek tasarlanmıştır.

  • yerel depolama: veri tabanı dosyaları çalıştığı ortamda tutulur. Örneğin çalıştığı telefon.

Gömülü veri tabanlarına SQLite, H2, Derby ve Microsoft Access verilebilir.

Gömülü veri tabanları özellikle aşağıdaki durumlarda kullanılırlar.

  • Mobil uygulamalar
  • Gömülü sistemler mesela drone, IoT cihazları.
  • Masaüstü uygulamaları
  • Uygulama Testi

Kısıtlamalar

Gömülü veri tabanları, dosya tabanlı oldukları için eşzamanlı erişim (Concurrency) problemleri vardır. Bundan dolayı ölçeklenme ile ilgili sorunları olabilir. Genel olarak normal istemci sunucu mimarisinde veri tabanlarından daha az özelliğe sahiptirler.