Что такое BSON и чем он отличается от JSON?

Я только начинаю с MongoDB, и одна из вещей, которые я заметил, это то, что он использует BSON сохранить данные. Однако в документации не совсем ясно, что такое BSON и как он используется в MongoDB. Кто-нибудь объяснит мне, пожалуйста?

5 ответов


BSON - двоичная кодировка JSON-подобных документов, которую MongoDB использует при хранении документов в коллекциях. Он добавляет поддержку типов данных, таких как Date и binary, которые не поддерживаются в JSON.

на практике вам не нужно много знать о BSON при работе с MongoDB, вам просто нужно использовать собственные типы вашего языка и предоставленные типы (например, ObjectId) его драйвера при создании документов, и они будут отображаться в соответствующий BSON введите драйвер.


  • что это BSON?

    BSON [bee * sahn], сокращение от Binary JSON, является двоичным кодом сериализация JSON-подобных документов.

  • чем это отличается от JSON?

BSON разработан, чтобы быть эффективным в пространстве, но в некоторых случаях не намного эффективнее, чем JSON. В некоторых случаях BSON использует даже больше места, чем JSON. Причина это еще одна из целей дизайна БСЫНА: traversability. BSON добавляет некоторую "дополнительную" информацию в документы, например длину строк и подобъектов. Это делает обход быстрее.

BSON также предназначен для быстрого кодирования и декодирования. Например, целые числа хранятся как 32 (или 64) битные целые числа, поэтому их не нужно анализировать в текст и из текста. Это использует больше места, чем JSON для небольших целых чисел, но намного быстрее для анализа.

в дополнение к компактности, BSON добавляет дополнительные типы данных, недоступные в JSON, в частности BinData и дата типы данных.

от http://bsonspec.org/


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


используя кодировку BSON поверх JSON, MongoDB получает возможность создавать индексы поверх значений, которые находятся внутри документа JSON в формате raw. Это помогает в выполнении эффективных аналитических запросов, поскольку система NoSQL известна отсутствием поддержки индексов.


в MongoDB представляет документы JSON на двоично-кодированном формате Так что мы называем BSON за кулисами.

BSON расширяет модель JSON для обеспечения дополнительные типы данных, такие как Date и binary которых не было поддерживается в JSON также укажите упорядоченные поля.

Он должен быть эффективным для кодирования и декодирования в разных языках. 

другими словами, мы можем скажи BSON - это просто двоичный JSON (надмножество JSON с некоторыми другими типами данных, самое главное двоичный байтовый массив).

Mongodb, используя в качестве формата сериализации JSON С формат кодирования для хранения и доступа к документам. просто мы можем сказать, что BSON-это двоичный кодированный формат для данных JSON.

для дополнительной статьи mongoDB:https://om9x.com/blog/bson-vs-json/