BSON

BSON, bir bilgisayar veri değişim biçimidir. "BSON" adı, JSON terimine dayanmaktadır ve "Binary JSON" anlamına gelir. İlişkisel diziler, tamsayı indeksli diziler ve bir dizi temel skaler tip dahil olmak üzere basit veya karmaşık veri yapılarını temsil etmek için ikili bir şekildir. BSON, 2009 yılında MongoDB'de ortaya çıktı. Çeşitli skaler veri türleri MongoDB için özel ilgi alanıdır ve biçim, MongoDB veri tabanı için hem veri depolama hem de ağ aktarım biçimi olarak kullanılır, ancak MongoDB olmadan da bağımsız bir şekilde kolaylıkla kullanılabilir. C, C++, C#, D, Delphi, Erlang, Go, Haskell, Java, JavaScript, Julia, Lua, OCaml, Perl, PHP, Python, Ruby, Rust, Scala, Smalltalk ve Swift gibi çeşitli programlama dillerinde uyarlamaları bulunmaktadır.

Veri türleri ve sözdizimi 
BSON'un yayınlanmış bir belirtimi vardır. Yapıda en üstteki öğe, BSON nesnesi türünde olmalıdır ve 1 veya daha fazla öğe içermelidir; burada bir öğe, alan adı, tür ve değerden oluşur. Alan adları metinseldir. Türler şunları içerir:

 Unicode dizesi (UTF-8 kodlamasını kullanarak)
 32 bit tamsayı
 64 bit tamsayı
 Kayan nokta
 decimal128
 tarih saat dilimi
 bayt dizisi
 boole (doğru ve yanlış)
 hükümsüz
 BSON nesnesi
 BSON dizisi
 JavaScript kodu
 MD5 ikili veri
 Düzenli ifade 

BSON'un, JSON'dan önemli bir farkı, JSON'da bulunmayan veri türlerini içermesidir.

Yeterlik 
JSON ile karşılaştırıldığında BSON, hem depolama alanı hem de tarama hızı açısından daha verimli olacak şekilde tasarlanmıştır. Bir BSON belgesindeki büyük öğelerin önüne, taramayı kolaylaştırmak için bir uzunluk alanı eklenir. Bazı durumlarda BSON, uzunluk önekleri ve belirtilmiş dizi indeksleri nedeniyle JSON'dan daha fazla yer kaplar.

Örnek 
BSON, } gibi bir JSON belgesini aşağıdaki şekilde saklayacaktır:\x16\x00\x00\x00          // total document size
\x02                      // 0x02 = type String
hello\x00                 // field name
\x06\x00\x00\x00world\x00 // field value (size of value, value, null terminator)
\x00                      // 0x00 = type EOO ('end of object')

Kaynakça

Dış bağlantılar 

 
  tool included with MongoDB 

Belge tabanlı veritabanları
Serileştirme
JSON