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.
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