En İyi Sorular
Zaman Çizelgesi
Sohbet
Bakış Açıları
BSON
Vikipedi'den, özgür ansiklopediden
Remove ads
BSON, bir bilgisayar veri değişim biçimidir. "BSON" adı, JSON terimine dayanmaktadır ve "Binary JSON" anlamına gelir.[2] İ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.[3]
Remove ads
Veri türleri ve sözdizimi
BSON'un yayınlanmış bir belirtimi vardır.[4][5] 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 [6]
BSON'un, JSON'dan önemli bir farkı, JSON'da bulunmayan veri türlerini içermesidir.
Remove ads
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.[2]
Örnek
BSON, {"hello": "world"} 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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads