BSON, "Binary JSON" (ikili JSON) anlamına gelen bir veri serilleştirme formatıdır.

BSON, "Binary JSON" (ikili JSON) anlamına gelen bir veri serilleştirme formatıdır. JSON yapısını koruyarak ikili (binary) formata dönüştürerek veri depolamayı ve iletişimi daha hızlı ve verimli hale getirir. Özellikle MongoDB gibi modern NoSQL veritabanlarının temel veri formatı olarak işlev görür.

4 dk okuma
BSON

BSON, "Binary JSON" (ikili JSON) anlamına gelen bir veri serilleştirme formatıdır. JSON yapısını koruyarak ikili (binary) formata dönüştürerek veri depolamayı ve iletişimi daha hızlı ve verimli hale getirir. Özellikle MongoDB gibi modern NoSQL veritabanlarının temel veri formatı olarak işlev görür.

BSON Nasıl Çalışır?

BSON, JSON'un insan tarafından okunabilir metin formatından farklı olarak, ikili (binary) formatta veri depolar. Her veri elemanı, türüne göre etiketlenir ve belirli bir bayt sayısı ile saklanır. Bu yapı sayesinde:

  • Daha hızlı ayrıştırma: Metin parse etmeye gerek yoktur; veriler doğrudan okunabilir.
  • Kompakt depolama: Sayılar, tarihler ve diğer ikili veri türleri daha az yer kaplar.
  • Tür bilgisi: Her değerle birlikte veri türü bilgisi saklanır, bu da tür dönüşümünü otomatikleştirir.
  • Sıralı indekslem: Verilerin sıralı depolanması, sorguların daha verimli çalışmasını sağlar.

BSON'un Avantajları

  • Verimli depolama: JSON'a kıyasla daha az alan kullanır.
  • Hızlı işleme: Verileri ayrıştırma süresi çok kısadır.
  • Genişletilmiş veri türleri: Integer, Long, Double, Decimal128, Date, Binary, ObjectId gibi çeşitli türleri destekler.
  • Veritabanı ile uyum: MongoDB ve benzeri veritabanlarla sorunsuz entegrasyon.
  • Platformlar arası uyumlu: Farklı programlama dilleri arasında veri aktarımında tutarlılık sağlar.

BSON'un Dezavantajları

  • İnsan tarafından okunamaz: İkili format olduğu için ham dosyayı açıp okuyamazsınız.
  • Ek işlem gerektirir: Serileştirme ve deserileştirme için ek bilgisayar işlemesi gerekir.
  • Daha büyük başlık: Tür bilgileri nedeniyle bazı küçük veri sets için JSON'dan daha ağır olabilir.
  • Sınırlı browser desteği: Web tarayıcılarında doğrudan kullanılamaz; JSON'a dönüştürülmesi gerekir.

BSON Nerede Kullanılır?

BSON başta MongoDB olmak üzere birçok modern teknolojide yer alır:

  • MongoDB: NoSQL veritabanının yerel veri formatıdır.
  • Apache CouchDB: Belge tabanlı veritabanı olarak BSON desteği sunar.
  • RethinkDB: Gerçek zamanlı veritabanı çözümü.
  • Mikro hizmetler mimarisi: Servisler arasında veri iletişiminde kullanılır.
  • Mobil uygulamalar: Firebase ve benzeri backend çözümlerde.
  • IoT cihazları: Sınırlı kaynaklar olan cihazlarda verimli veri depolamak için ideal.

BSON ve JSON Karşılaştırması

Özellik JSON BSON
Format Metin (text) İkili (binary)
Okunabilirlik İnsan tarafından okunabilir İnsan tarafından okunamaz
İşlem hızı Daha yavaş (parse gerekir) Daha hızlı
Dosya boyutu Daha büyük Daha küçük
Veri türleri String, Number, Boolean, Null, Array, Object 30+ tür (Date, Binary, ObjectId vb.)
Browser desteği Doğrudan desteklenir Dönüştürme gerekir

BSON Veri Türleri

BSON, JSON'dan çok daha geniş bir veri türü yelpazesi sunar. İşte en yaygın türler:

  • Sayısal türler: Int32, Int64, Double, Decimal128
  • Metin: String
  • Binary: Binary Data (resim, video, şifreli veri)
  • Tarih/Saat: Date (UNIX zamanından itibaren milisaniye)
  • ObjectId: MongoDB'nin benzersiz tanımlayıcı formatı
  • Boolean: Doğru/Yanlış
  • Null: Boş değer
  • Array: Sıralı değer listesi
  • Embedded Document: İç içe geçmiş belgeler
  • Regular Expression: Düzenli ifade desenleri
  • JavaScript: Kod parçacıkları

BSON'un Tarihçesi

BSON, 2009 yılında MongoDB'nin geliştiricileri tarafından tanıtılmıştır. Amacı, JSON'un esnekliğini koruyarak veritabanı performansını artırmaktı. JSON'un popülaritesi ve modern web teknolojilerinin gereksinimleri göz önünde bulundurularak tasarlanmıştır. Bugün, NoSQL ekosisteminin standart veri formatı haline gelmiş durumdadır.

"BSON, JSON'un gücünü ikili formatın verimliliğiyle birleştirerek modern veritabanı çözümlerinin temelini oluşturur."
Sık Sorulan Sorular
BSON ve JSON arasındaki fark nedir?+
JSON metin tabanlı ve insan tarafından okunabilirken, BSON ikili formattır ve daha hızlı işlenir. BSON ayrıca Date, Binary ve ObjectId gibi ek veri türlerini destekler; JSON ise temel türlerle sınırlıdır.
BSON hangi programlama dillerinde kullanılabilir?+
BSON, Python, Java, JavaScript/Node.js, C#, Go, Ruby, PHP gibi hemen hemen tüm modern programlama dillerinde desteklenir. Her dil için MongoDB sürücüleri BSON serileştirmesini otomatik olarak yönetir.
MongoDB neden JSON yerine BSON kullanır?+
MongoDB, BSON'u seçerek veritabanı performansını artırmıştır. BSON daha hızlı ayrıştırma, daha kompakt depolama ve daha zengin veri türü desteği sağlar. Bu, milyonlarca belgeyi verimli şekilde işlemek için kritik öneme sahiptir.
BSON dosyasını insan tarafından okuyabilir miyim?+
Hayır, BSON ikili bir formattır ve doğrudan okunamaz. Okunabilir hale getirmek için JSON'a dönüştürülmesi gerekir. MongoDB komut satırında BSON verilerini JSON olarak görüntüleyebilirsiniz.
BSON belge boyutunun bir sınırı var mı?+
Evet, MongoDB'de varsayılan BSON belge boyutu sınırı 16 MB'tır. Bu sınır, veritabanının verimli çalışmasını sağlamak için tasarlanmıştır. Daha büyük veriler için GridFS teknolojisi kullanılmalıdır.

B harfindeki diğer terimler