Parser BSON

BSON (Binary JSON) adalah format serialisasi biner yang digunakan oleh MongoDB untuk menyimpan dokumen. Ia memperluas JSON dengan tipe tambahan seperti ObjectId, Date, Binary, dan Decimal128. Alat ini mengurai file BSON dan menampilkan isinya sebagai JSON dengan informasi tipe.

Spesifikasi

Kasus Penggunaan Umum

  • Memeriksa file dump MongoDB (.bson)
  • Debug data BSON dalam antrian pesan atau cache
  • Menganalisis tangkapan protokol wire MongoDB
  • Mengonversi BSON ke JSON untuk alat eksternal
  • Mengaudit struktur dan tipe dokumen

Fitur

  • Mengurai file biner BSON melalui seret-dan-lepas atau pemilihan file
  • Mendekode data BSON yang dienkode hex
  • Menampilkan semua tipe BSON termasuk ObjectId, Date, Binary, Regex, Decimal128
  • Mengonversi ke JSON dengan notasi extended JSON
  • Menampilkan metadata dokumen (ukuran, jumlah field, kedalaman maksimum)
  • Mencantumkan semua ObjectId dan tanggal yang ditemukan dalam dokumen
  • Menampilkan ukuran field biner dan tipe ekstensi
  • Hex viewer untuk inspeksi biner mentah

Contoh

Dokumen BSON Sederhana

Coba →

Dokumen BSON minimal dengan satu field: {"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 Enkode Hex

Coba →

Dokumen BSON dengan string, angka, dan boolean: {"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

Tips

  • Anda dapat menempelkan data BSON yang dienkode hex langsung untuk mengurainya.
  • File BSON dapat dibuat dengan: mongoexport --collection=users --out=users.bson
  • ObjectId mengandung timestamp; ekstrak dengan: new ObjectId().getTimestamp()
  • BSON mendukung lebih banyak tipe daripada JSON: tanggal, biner, regex, dan desimal.
  • Ukuran maksimum dokumen BSON di MongoDB adalah 16MB.

Pemahaman Parser BSON

BSON (Binary JSON) adalah format serialisasi biner yang digunakan secara internal oleh MongoDB untuk menyimpan dan mentransmisikan dokumen. Sementara JSON merepresentasikan semua data sebagai string, angka, boolean, array, dan objek, BSON memperluasnya dengan tipe tambahan yang dibutuhkan database: ObjectId (pengenal unik 12-byte), Date (timestamp presisi milidetik), Binary (array byte arbitrer), Decimal128 (aritmatika desimal eksak), dan ekspresi reguler.

Dokumen BSON menggunakan awalan panjang, artinya setiap dokumen dan dokumen tertanam dimulai dengan field ukuran 4-byte. Ini memungkinkan parser melewati dokumen tanpa mendekodenya sepenuhnya, memungkinkan pemindaian dan pengindeksan yang efisien. Setiap elemen ditandai dengan byte tipe, diikuti nama field sebagai C-string, diikuti nilai dalam encoding khusus tipe.

MongoDB menyimpan dokumen sebagai BSON secara internal, mentransmisikannya melalui protokol wire, dan mengekspornya dengan mongodump sebagai file .bson. Memahami BSON sangat penting untuk debugging aplikasi MongoDB, menganalisis file dump, dan bekerja dengan protokol wire. Format extended JSON menyediakan representasi yang dapat dibaca manusia yang mempertahankan informasi tipe BSON.

BSON tidak selalu lebih kecil dari JSON. String pendek dan angka kecil mungkin sebenarnya lebih besar dalam BSON karena overhead byte tipe dan awalan panjang. Keuntungan BSON bukan ukuran tetapi kecepatan — format berawalan panjang memungkinkan traversal cepat dan tipe yang diperluas menyediakan dukungan native untuk tanggal, data biner, dan desimal presisi tinggi tanpa konvensi encoding.

ObjectId adalah tipe BSON 12-byte yang digunakan sebagai _id default dalam dokumen MongoDB. Ia mengandung timestamp 4-byte (detik sejak epoch), 5 byte nilai acak (unik per mesin/proses), dan counter inkremental 3-byte. Desain ini memastikan keunikan di seluruh server terdistribusi tanpa koordinasi apapun. Timestamp yang tertanam berarti Anda dapat mengekstrak waktu pembuatan dokumen dengan ObjectId.getTimestamp().

File dump MongoDB (.bson) yang dibuat oleh mongodump adalah dokumen BSON mentah yang digabungkan bersama. Anda dapat menempelkan data BSON yang dienkode hex ke alat ini untuk mengurai dokumen individual. Sebagai alternatif, utilitas bsondump (termasuk dalam MongoDB Database Tools) dapat mengonversi file .bson ke JSON di baris perintah untuk inspeksi massal.

← Kembali ke semua alat