BSON

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
BSON
Расширение

.bson

Тип формата

Обмен данными

BSON (англ. Binary JavaScript Object Notation) это компьютерный формат обмена данными. Это бинарная форма представления простых структур данных и ассоциативных массивов (которые называют объектами или документами). Имя «BSON» основано на определении JSON и значит «Binary JSON» (бинарный JSON). Формат является надмножеством JSON, включая дополнительно регулярные выражения, двоичные данные и даты[1].

Типы данных и синтаксис[править | править вики-текст]

BSON документы (объекты) состоят из сортированных списков элементов. Каждый элемент состоит из имени поля, типа и значения. Имена полей — это строки. Типы включают:

  • string — строка
  • int — целое число
  • double — число с плавающей запятой двойной точности
  • DateTime — дата
  • byte[] — массив байт (бинарные данные)
  • bool — булевые (Истина и Ложь)
  • null — «ничего» (специальное значение)
  • BsonObject — BSON объект
  • BsonObject[] — массив BSON объектов

Номинально, это надмножество JSON типов (JSON, например, не имеет массива с типом «бинарные данные»), но из-за ограничений по длине некоторые действительные значения JSON (такие как очень длинные строки) не являются действительными значениями BSON.

Эффективность[править | править вики-текст]

В сравнении с JSON, BSON является эффективным как в плане размера хранения данных, так и сканирования. Большие элементы в документе BSON имеют префикс с длиной документа для облегчения сканирования.

BSON во многом аналогичен Protocol Buffers (или, коротко, protobuf) — реализацией языково- и платформно-независимого формата для обмена данными, но BSON является более свободным от схемы данных. Тем самым, бо́льшая гибкость BSON уменьшает преимущества в производительности в случае, когда схема определена[1].

См. также[править | править вики-текст]

  • Apache Thrift
  • MongoDB — документо-ориентированная база данных

Примечания[править | править вики-текст]

  1. 1 2 Tiwari, 2011, Chapter 4: Understanding the Storage Architecture > Document Store Internals

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]