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, tam sayı 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 tam sayı
 64 bit tam sayı
 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 

Kategori:Belge tabanlı veritabanları
Kategori:Serileştirme
Kategori:JSON