Gibson Explorer
- 1 year ago
- 0
- 0
BSON ( англ. Binary JavaScript Object Notation ) — формат электронного обмена цифровыми данными, бинарная форма представления простых структур данных и ассоциативных массивов (которые в контексте обмена называют объектами или документами). Является надмножеством JSON , включая дополнительно регулярные выражения , двоичные данные и даты .
BSON-документы (объекты) состоят из сортированных списков элементов. Каждый элемент состоит из имени поля, типа и значения. Имена полей — это строки. Типы включают:
string
— строка,
int
— целое число,
double
— число с плавающей запятой двойной точности,
DateTime
— дата,
byte[]
— массив байтов (бинарные данные),
bool
—
булевые
(
True
и
False
),
null
— «
Null
» (специальное значение),
BsonObject
— BSON-объект,
BsonObject[]
— массив BSON-объектов.
Не все эти типы доступны в JSON , в котором, например, нет массива с типом «бинарные данные», но из-за ограничений по длине некоторые действительные значения JSON (такие как очень длинные строки) не являются действительными значениями BSON [ уточнить ] .
В сравнении с JSON, BSON спроектирован и для эффективного в отношении занимающего дискового пространства хранения данных, и скорости сканирования. Большие элементы в документе BSON имеют префикс с собственной длиной для облегчения сканирования.
BSON во многом аналогичен Protocol Buffers — реализации языково- и платформно-независимого формата для обмена данными, но BSON является более свободным от схемы данных. Тем самым, бо́льшая гибкость BSON уменьшает преимущества в производительности в случае, когда схема определена .