Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Yan Yana Banner
Katılım
7 Nis 2025
Konular
367
Mesajlar
780
Çözümler
1
Tepkime puanı
121
Puan
93
Konum
İstanbul
Web sitesi
forumagel.com
Bir veritabanından veri çektiğimizde (Bölüm 2) veya bir servisten diğerine veri gönderdiğimizde, bu verinin belirli bir düzende olması gerekir. Uygulamanın belleğindeki veri yapılarının veya veritabanındaki satır/sütun formatının ağ üzerinden doğrudan gönderilmesi genellikle mümkün veya verimli değildir. Bu nedenle, verinin ağ üzerinden iletilmek veya bir dosyaya yazılmak üzere belirli bir metin veya ikili (binary) formata dönüştürülmesi işlemine Serileştirme (Serialization) denir. Veriyi alan taraf ise bu formatlanmış veriyi tekrar kendi bellek yapılarına dönüştürür, bu da Deserializasyon'dur.

Serileştirme için kullanılan farklı Veri Formatları bulunur ve bu formatlar, verinin nasıl yapılandırılacağını, temsil edileceğini ve ayrıştırılacağını belirler. Seçilen format, veri boyutu, hız, okunabilirlik ve kullanım kolaylığı gibi faktörleri etkiler.

Yaygın Veri Formatları

Veritabanlarından alınan veya veritabanlarına aktarılan veriler için yaygın olarak kullanılan bazı formatlar şunlardır:

  1. JSON (JavaScript Object Notation):
    • Nedir?: İnsanlar tarafından kolayca okunup yazılabilen ve makineler tarafından kolayca ayrıştırılabilen hafif bir veri değişim formatıdır. Anahtar-değer çiftleri ve dizilerden oluşur.
    • Kullanım Alanları: Web servisleri ve API'lerde (REST API'ler gibi) en yaygın kullanılan formattır. Modern uygulamaların veritabanları (hem ilişkisel hem NoSQL belge veritabanları) ile etkileşiminde sıklıkla kullanılır. Veritabanları JSON verisini doğrudan saklayabilir ve sorgulayabilir (Örn: PostgreSQL JSONB, SQL Server JSON desteği).
    • Avantajları: Okunabilir, yaygın desteklenir, esnek yapı.
    • Dezavantajları: Metin tabanlı olduğu için ikili formatlara göre daha fazla yer kaplar ve daha yavaş olabilir.
  2. XML (Extensible Markup Language):
    • Nedir?: Hem insanlar hem de makineler tarafından okunabilen, veriyi etiketler kullanarak yapılandıran bir formattır. Daha hiyerarşik bir yapıya sahiptir.
    • Kullanım Alanları: Geçmişte web servislerinde (SOAP) yaygın olarak kullanılırdı. Kurumsal sistem entegrasyonlarında ve belge odaklı verilerde hala kullanılır. Bazı veritabanları XML verisini doğrudan saklayabilir ve sorgulayabilir (Örn: SQL Server XML tipi).
    • Avantajları: Yapılandırılmış, genişletilebilir.
    • Dezavantajları: JSON'a göre daha fazla yer kaplar ve daha karmaşıktır, ayrıştırması genellikle daha yavaştır.
  3. İkili (Binary) Formatlar: (Örn: Protocol Buffers, Apache Avro, Apache Parquet)
    • Nedir?: Metin tabanlı formatların aksine, veriyi ikili kod (byte dizileri) olarak temsil ederler. İnsan tarafından doğrudan okunamazlar.
    • Kullanım Alanları: Yüksek performanslı sistemlerde, mikroservisler arası iletişimde (verinin hızlı ve kompakt iletilmesi gerektiğinde) ve Büyük Veri (Big Data) depolama ve işleme senaryolarında (özellikle Parquet gibi kolonsal ikili formatlar - Bölüm 34) kullanılırlar.
    • Avantajları: Metin formatlarına göre çok daha kompakt ve hızlıdır, ağ trafiğini ve depolama alanını azaltır. Şema evrimini genellikle daha iyi yönetirler (ProtoBuf, Avro).
    • Dezavantajları: İnsan tarafından okunamaz, hata ayıklaması zordur, kullanılacak dil ve platform için özel kütüphaneler gerektirir.
Format Seçimi ve Veritabanları[/B]

Hangi veri formatının seçileceği, kullanım senaryosuna bağlıdır:

  • API'ler ve Web Uygulamaları: Genellikle JSON tercih edilir (yaygınlık, kolay kullanım).
  • Kurumsal Entegrasyon ve Eski Sistemler: XML hala kullanılabilir.
  • Yüksek Performanslı Mikroservisler veya Büyük Veri: İkili formatlar tercih edilir (hız, boyut).
Veritabanları, veriyi bu formatlarda saklayarak (yerel JSON/XML tipleri) veya veriyi bu formatlara dönüştüren fonksiyonlar sunarak (SQL sorgu sonuçlarını JSON'a dönüştürme gibi) bu veri ekosisteminin bir parçası olurlar. ETL süreçleri (Bölüm 25) de genellikle veriyi farklı formatlar arasında dönüştürme işlemini içerir.

Bir programlama dilinde bu formatlarla çalışmak için her dilin kendi standart kütüphaneleri veya üçüncü taraf kütüphaneleri (JSON ayrıştırıcılar, XML ayrıştırıcılar, ProtoBuf/Avro serileştiriciler) bulunur.

Veritabanlarından alınan veriyi farklı sistemlere taşırken veya uygulamalar arası veri alışverişi yaparken bu veri formatlarını anlamak, performans, uyumluluk ve geliştirme kolaylığı açısından önemlidir.

Bu bölümde, veritabanları ile etkileşimde ve veri transferinde kullanılan yaygın veri formatlarına kısa bir bakış attık.

Oldukça uzun ve detaylı bir seriyi tamamladık. Veritabanları ve SQL'in temel taşlarından başlayıp, ileri SQL, programlama, tasarım, kapsamlı yönetim görevleri, farklı modeller/ortamlar (NoSQL, Bulut, Kolonsal, Graf) ve hatta verinin fiziksel saklanma yapısı ve taşıma formatları gibi çok çeşitli konulara derinlemesine baktık.

Bu serinin, veritabanları ve SQL dünyasına olan bakış açınızı önemli ölçüde genişlettiğini ve bu alandaki ileri öğrenme yolculuğunuz için size çok sağlam bir temel sunduğunu umuyorum. Öğrenme ve keşfetme yolculuğunuz devam etsin!

Bu, serimizin bu aşamadaki ve kapsamdaki son bölümüdür.

Bu uzun soluklu ve detaylı seriyi takip ettiğiniz için hepinize içtenlikle teşekkür ederim! Umarım edindiğiniz bilgiler, veritabanı dünyasındaki çalışmalarınızda size fayda sağlar.


 

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri