BSON

Da Wikipedia, l'enciclopedia libera.
BSON
Estensione .bson
Tipo MIME none[1]
Tipo Scambio dati
Estensione di JSON
Standard Standardizzazione RFC non operata
Sito web bsonspec.org/

BSON è un formato informatico di scambio dati utilizzato principalmente come magazzino dati e formato di trasferimento di rete nel database MongoDB. Si tratta di un formato binario per rappresentare strutture dati semplici e array associativi (chiamati oggetti o documenti in MongoDB). Il nome "BSON" è basato sul termine JSON e significa "JSON Binario" (Binary JSON)[2]

Tipi di dati e Sintassi[modifica | modifica sorgente]

I documenti BSON (oggetti) consistono in liste ordinate di elementi. Ciascun elemento consiste in un nome di campo, un tipo e un valore. I nomi di campo sono stringhe. I tipi includono:

  • stringhe
  • interi (32- o 64-bit)
  • double (numeri a virgola mobile a 64-bit, standard IEEE 754)
  • date (numeri interi in millisecondi dal'epoca Unix come riferimento, 1 gennaio 1970)
  • byte array (dati binari)
  • booleani (true e false)
  • NULL
  • oggetto BSON
  • array BSON
  • espressioni regolari
  • codice JavaScript

I tipi BSON sono, nominalmente, un superset dei tipi JSON (JSON non include tipi data o byte array, per citarne alcuni)[3]), con la differenza notabile rappresentata dall'assenza di un tipo "numerico" universale, incluso in JSON.

Efficienza[modifica | modifica sorgente]

Comparato a JSON, BSON è progettato per essere efficiente sia per lo spazio richiesto dai dati, sia per la velocità di ricerca. Gli elementi estesi, in un documento BSON, sono dotati di un campo lunghezza di estensione prefissata, al fine di facilitare la ricerca delle informazioni. In alcuni casi, BSON utilizza più spazio di JSON a causa delle lunghezze fisse imposte e degli indici espliciti degli array.[2]

Voci correlate[modifica | modifica sorgente]

Note[modifica | modifica sorgente]

  1. ^ MIME Media Types - The Internet Assigned Numbers Authority
  2. ^ a b BSON Specification
  3. ^ JSON Specification

Collegamenti esterni[modifica | modifica sorgente]