BSON
Изображение логотипа
Расширение .bson
MIME-тип application/bson[1]
Тип формата Обмен данными
Расширен из JSON
Сайт bsonspec.org (англ.)

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

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

править

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

Примечания

править
  1. BSON Support in ASP.NET Web API 2.1
  2. 1 2 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.

Ссылки

править

📚 Artikel Terkait di Wikipedia

Список MIME-типов

application/EDIFACT: EDI EDIFACT (RFC 1767) application/json: JavaScript Object Notation JSON (RFC 8259) application/javascript: JavaScript (RFC 4329) application/octet-stream:

Finale

формат файла Finale[вд], Enigma Binary File 1[вд], Enigma Binary File 2[вд], Finale Performance Assessment[вд] и Finale Notation File 2014+[вд] Создаваемые

Нумерованная нотная запись

a set of Microsoft Word macros for adding numbered notation to documents XunScore Music Notation Editor Архивная копия от 14 февраля 2023 на Wayback

Сложение

их Скрытых Сил = Enlightening Symbols: A Short History of Mathematical Notation and Its Hidden Powers. — Princeton University Press, 2014. — 321 с. — ISBN

Первоапрельские RFC

Информационный Передача электроэнергии по протоколу IP 1 апреля 2002 RFC 3252 Binary Lexical Octet Ad-hoc Transport H. Kennedy Информационный 1 апреля 2003 RFC

Visualization Toolkit

file format[вд], MotionFX motion definition file[вд], CGM, CFD General Notation System[вд], Dyna database file format[вд], Tabulat data file format[вд]

Точечная группа в трёхмерном пространстве

ISBN 0-387-09212-9. John Horton Conway, Daniel H. Huson. The Orbifold Notation for Two-Dimensional Groups // Structural Chemistry. — Springer Netherlands

Java Architecture for XML Binding

Object xsd: anySimpleType (для атрибутов этого типа) java.lang.String xsd: duration javax.xml.datatype.Duration xsd:NOTATION javax.xml.namespace.QName