Parser BSON

BSON (Binary JSON) e o formato de serializacao binaria usado pelo MongoDB para armazenar documentos. Ele estende JSON com tipos adicionais como ObjectId, Date, Binary e Decimal128. Esta ferramenta analisa arquivos BSON e exibe o conteudo como JSON com informacoes de tipo.

Especificacoes

Casos de Uso Comuns

  • Inspecionar arquivos de dump do MongoDB (.bson)
  • Depurar dados BSON em filas de mensagens ou caches
  • Analisar capturas do protocolo wire do MongoDB
  • Converter BSON para JSON para ferramentas externas
  • Auditar estrutura e tipos de documentos

Funcionalidades

  • Analisar arquivos binarios BSON via arrastar-e-soltar ou selecao de arquivo
  • Decodificar dados BSON codificados em hexadecimal
  • Exibir todos os tipos BSON incluindo ObjectId, Date, Binary, Regex, Decimal128
  • Converter para JSON com notacao JSON estendida
  • Mostrar metadados do documento (tamanho, contagem de campos, profundidade maxima)
  • Listar todos os ObjectIds e datas encontrados no documento
  • Exibir tamanhos de campos binarios e tipos de extensao
  • Visualizador hexadecimal para inspecao binaria bruta

Exemplos

Documento BSON Simples

Experimente →

Um documento BSON minimo com um unico campo: {"hello":"world"}

16 00 00 00 02 68 65 6c 6c 6f 00 06 00 00 00 77 6f 72 6c 64 00 00

BSON Codificado em Hex

Experimente →

Um documento BSON com string, numero e booleano: {"name":"Alice","age":30,"active":true}

27 00 00 00 02 6e 61 6d 65 00 06 00 00 00 41 6c 69 63 65 00 10 61 67 65 00 1e 00 00 00 08 61 63 74 69 76 65 00 01 00

Dicas

  • Voce pode colar dados BSON codificados em hexadecimal diretamente para analisa-los.
  • Arquivos BSON podem ser criados com: mongoexport --collection=users --out=users.bson
  • ObjectIds contem um timestamp; extraia com: new ObjectId().getTimestamp()
  • BSON suporta mais tipos que JSON: datas, binarios, regex e decimais.
  • O tamanho maximo de documento BSON no MongoDB e 16MB.

Entendendo Parser BSON

BSON (Binary JSON) e o formato de serializacao binaria usado internamente pelo MongoDB para armazenar e transmitir documentos. Enquanto JSON representa todos os dados como strings, numeros, booleanos, arrays e objetos, BSON estende isso com tipos adicionais que bancos de dados precisam: ObjectId (um identificador unico de 12 bytes), Date (timestamps com precisao de milissegundos), Binary (arrays de bytes arbitrarios), Decimal128 (aritmetica decimal exata) e expressoes regulares.

Documentos BSON sao prefixados com comprimento, o que significa que cada documento e documento incorporado comeca com um campo de tamanho de 4 bytes. Isso permite que parsers pulem documentos sem decodifica-los completamente, habilitando varredura e indexacao eficientes. Cada elemento e marcado com um byte de tipo, seguido pelo nome do campo como uma C-string, seguido pelo valor em uma codificacao especifica do tipo.

O MongoDB armazena documentos como BSON internamente, os transmite pelo protocolo wire e os exporta com mongodump como arquivos .bson. Entender BSON e essencial para depurar aplicacoes MongoDB, analisar arquivos de dump e trabalhar com o protocolo wire. O formato JSON estendido fornece uma representacao legivel por humanos que preserva informacoes de tipo BSON.

BSON nem sempre e menor que JSON. Strings curtas e numeros pequenos podem na verdade ser maiores em BSON devido ao byte de tipo e ao overhead do prefixo de comprimento. A vantagem do BSON nao e tamanho, mas velocidade — o formato prefixado com comprimento habilita travessia rapida e os tipos estendidos fornecem suporte nativo para datas, dados binarios e decimais de alta precisao sem convencoes de codificacao.

ObjectId e um tipo BSON de 12 bytes usado como _id padrao em documentos MongoDB. Ele contem um timestamp de 4 bytes (segundos desde a epoca), 5 bytes de valor aleatorio (unico por maquina/processo) e um contador incremental de 3 bytes. Este design garante unicidade entre servidores distribuidos sem nenhuma coordenacao. O timestamp incorporado significa que voce pode extrair o horario de criacao de um documento com ObjectId.getTimestamp().

Arquivos de dump do MongoDB (.bson) criados pelo mongodump sao documentos BSON brutos concatenados. Voce pode colar dados BSON codificados em hexadecimal nesta ferramenta para analisar documentos individuais. Alternativamente, o utilitario bsondump (incluido com MongoDB Database Tools) pode converter arquivos .bson para JSON na linha de comando para inspecao em massa.

← Voltar para todas as ferramentas