BSON

редактировать
BSON
Filenam e extension .bson
Тип Интернет-носителя application / bson
Тип форматаОбмен данными
Расширенный изJSON
Веб-сайтbsonspec.org

BSON () - это формат обмена данными компьютер. Название «BSON» основано на термине JSON и означает «двоичный JSON». Это двоичная форма для представления простых или сложных структур данных, включая ассоциативные массивы (также известные как пары имя-значение), целочисленные индексированные массивы и набор фундаментальных скалярных типов. BSON возник в 2009 году на MongoDB. Некоторые скалярные типы данных представляют особый интерес для MongoDB, и этот формат используется как формат хранения данных и сетевой передачи для базы данных MongoDB, но его можно использовать независимо за пределами MongoDB. Реализации доступны на различных языках, таких как C, C ++, C#, D, Delphi, Erlang, Go, Haskell, Java, JavaScript, Джулия, Lua, OCaml, Perl, PHP, Python, Ruby, Rust, Scala, Smalltalk и Swift.

Содержание
  • 1 Типы данных и синтаксис
  • 2 Эффективность
  • 3 Пример
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Типы данных и синтаксис

Спецификация BSON опубликована. Самый верхний элемент в структуре должен относиться к типу объекта BSON и содержать 1 или несколько элементов, причем элемент состоит из имени поля, типа и значения. Имена полей - это строки. Типы включают:

  • Unicode строка (с использованием кодировки UTF-8 )
  • 32-битное целое число
  • 64-битное целое
  • double (64-битное IEEE 754 число с плавающей запятой)
  • decimal128 (128-битное IEEE 754-2008 число с плавающей запятой; вариант двоичного целого десятичного (BID)), подходит в качестве носителя для конфиденциальных финансовых данных с десятичными знаками и числовых значений произвольной точности с точностью 34 десятичных знака, максимальное значение приблизительно 10
  • datetime без часового пояса (длинное целое число миллисекунд с момента Эпоха Unix )
  • байтовый массив (для произвольных двоичных данных)
  • логическое (истинаи ложь)
  • null
  • объект BSON
  • BSON массив
  • Код JavaScript
  • MD5 двоичные данные
  • Регулярное выражение (Perl совместимые регулярные выражения ("PCRE ") версия 8.41 с поддержкой UTF-8)

Важным отличием от JSON является то, что BSON содержит типы, не представленные в JSON (например, datetime и массив байтов), и предлагает строгую обработку типов f или несколько числовых типов вместо универсального «числового» типа. Для ситуаций, когда эти дополнительные типы необходимо представить в текстовом виде, можно использовать расширенный формат JSON MongoDB.

Эффективность

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

Пример

Будет сохранен такой документ, как {"hello": "world"} как:

Bson: \ x16 \ x00 \ x00 \ x00 // общий размер документа \ x02 // 0x02 = type String hello \ x00 // имя поля \ x06 \ x00 \ x00 \ x00world \ x00 // значение поля ( размер значения, значение, нулевой ограничитель) \ x00 // 0x00 = тип EOO ('конец объекта')
См. также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-11 04:09:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте