BSON

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
BSON
Расширение bson
Тип формата Обмен данными
Расширен из JSON

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

Типы данных и синтаксис

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 уменьшает преимущества в производительности в случае, когда схема определена[1].

Примечания

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

Литература

  • Shashank Tiwari. Professional NoSQL. — Packt Publishing, 2011. — 384 p. — ISBN 978-0-470-94224-6.

Ссылки