Я только начинаю с MongoDB, и одна из вещей, которые я заметил, это то, что он использует BSON для внутреннего хранения данных. Однако в документации не совсем ясно, что такое BSON и как он используется в MongoDB. Может кто-нибудь объяснить мне, пожалуйста?
Что такое BSON и как он отличается от JSON?
Ответ 1
BSON - это двоичная кодировка JSON-подобных документов, которые MongoDB использует при хранении документов в коллекциях. Он добавляет поддержку типов данных, таких как Date и двоичные файлы, которые не поддерживаются в JSON.
На практике вам не нужно много знать о BSON при работе с MongoDB, вам просто нужно использовать собственные типы вашего языка и поставляемые типы (например, ObjectId) своего драйвера при построении документов, и они будут сопоставляемый драйвером с соответствующим типом BSON.
Ответ 2
-
Что BSON?
BSON [bee · sahn], сокращенный для двоичного JSON, является двоично-кодированным сериализация JSON-подобных документов.
-
Как он отличается от JSON?
BSON спроектирован так, чтобы быть эффективным в космосе, но в некоторых случаях не намного эффективнее, чем JSON. В некоторых случаях BSON использует еще больше места, чем JSON. Причиной этого является еще одна из целей проектирования BSON: проходимость. BSON добавляет некоторую "дополнительную" информацию в документы, такие как длина строк и подобъектов. Это ускоряет ход.
BSON также предназначен для быстрого кодирования и декодирования. Например, целые числа хранятся в виде 32 (или 64) битовых целых чисел, поэтому их не нужно анализировать и из текста. Это использует больше места, чем JSON для небольших целых чисел, но гораздо быстрее разбирается.
В дополнение к компактности BSON добавляет дополнительные типы данных, недоступные в JSON, в частности типы данных BinDatastrong > и Дата.
Ответ 3
MongoDB представляет собой документы JSON в двоично-кодированном формате BSON за кулисами. BSON расширяет модель JSON, чтобы предоставить дополнительные типы данных и быть эффективными для кодирования и декодирования на разных языках.
Ответ 4
MongoDB представляет документы JSON в двоичном формате, поэтому мы называем его BSON за кулисами.
BSON расширяет модель JSON, предоставляя дополнительные типы данных, такие как Date и двоичные, которые не поддерживаются в JSON, также предоставляют упорядоченные поля, чтобы обеспечить эффективность кодирования и декодирования в различных языки.
Другими словами, мы можем сказать, что BSON - это просто двоичный JSON(расширенный набор JSON с некоторыми другими типами данных, наиболее важным является двоичный байтовый массив).
Mongodb использует в качестве формата сериализации JSON, включая формат кодирования для хранения и доступа к документам. просто мы можем сказать, что BSON - это двоично-закодированный формат для данных JSON.
для более mongoDB статьи: https://om9x.com/blog/bson-vs-json/
Ответ 5
Используя BSON-кодирование поверх JSON, MongoDB получает возможность создавать индексы поверх значений, которые находятся внутри документа JSON в необработанном формате. Это помогает использовать эффективные аналитические запросы, поскольку система NoSQL известна тем, что не поддерживает индексы.
Ответ 6
Ключевые различия между JSON и BSON
Оба BSON против JSON являются популярным выбором на рынке; Давайте обсудим некоторые основные различия между JSON и BSON:
BSON - это формат кодирования формата сериализации для JSON, в основном используемый для хранения и доступа к документам, тогда как JSON - это читаемый человеком стандартный формат файлов, в основном используемый для передачи данных в форме пар атрибутов ключ-значение.
BSON спроектирован так, что он занимает меньше места, но он не очень эффективен, чем JSON. В действительности BSON в некоторых случаях использует больше места, чем JSON. Причиной этого является возможность прохождения, что означает, что BSON добавляет некоторую дополнительную информацию в документы, например длину строки и подобъекты, что, в свою очередь, ускоряет прохождение.
BSON также разработан таким образом, что он имеет сравнительно более быстрый метод кодирования и декодирования. Например, все эти целые числа хранятся как 32-разрядные целые числа, чтобы они не анализировались с ними в тексте и из него. Поэтому он использует больше места по сравнению с JSON для меньших целых чисел, но BSON в любом случае намного быстрее анализируется.
В дополнение к вышеупомянутым пунктам, BSON использует дополнительные типы данных, такие как типы данных BinData и Date, которые недоступны в JSON.BSON, расширяет модель типов JSON, чтобы предоставить дополнительные типы данных для более эффективного кодирования и декодирования на разных языках. тогда как в случае JSON такое положение не предусмотрено. Это облегчает обмен данными и наряду с XML, который является главным форматом. Все основные типы данных, о которых вы можете думать, поддерживаются JSON, такие как числа, строки и другие логические значения. Он также поддерживает типы данных, такие как хэши и массивы. Формат типа JSON используется BSON для хранения данных в форме документов точно так же, как данные хранятся в форме строк и столбцов в реляционной базе данных.