Vergleichen
BSON vs. MessagePack
BSON und MessagePack können binäre, dokumentähnliche Daten darstellen. BSON ist jedoch eine mit MongoDB verbundene typisierte Dokumentdarstellung, MessagePack ein allgemeines Objektserialisierungsformat.
Welches Format sollten Sie wählen?
Verwenden Sie BSON für MongoDB-Dokumente und BSON-spezifische Werte wie ObjectId und Datumsangaben. MessagePack eignet sich für kompakten Objektaustausch außerhalb von MongoDB; vereinbaren Sie Erweiterungstypen und deren Unterstützung.
Geeignet für BSON
MongoDB-Dokumente serialisieren · Dokumente zwischen BSON-fähigen Werkzeugen austauschen
- Typen wie Datumswerte und Binärdaten erhalten
- Treiber und Werkzeuge verwenden, die BSON lesen und schreiben
Geeignet für MessagePack
JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen
- JSON-artige Arrays, Maps und Grundwerte binär codieren
- Erweiterungswerte und Zeitstempel zwischen kompatiblen Bibliotheken austauschen
Grundlegende Informationen
| Merkmal | BSON | MessagePack |
|---|---|---|
| Dateiendung | .bson | .msgpack, .mpk |
| MIME-Typ | application/bson | application/octet-stream |
| Häufige Verwendung | MongoDB-Dokumente serialisieren · Dokumente zwischen BSON-fähigen Werkzeugen austauschen | JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen |
| Öffnen | Lesen Sie die Datei mit mongorestore oder einem BSON-fähigen Werkzeug beziehungsweise einer Bibliothek. Zur Prüfung des Inhalts können Sie BSON in Extended JSON oder eine andere lesbare Darstellung umwandeln. Bearbeiten Sie die Binärdatei nicht im Texteditor. | Lesen Sie die Datei mit einer MessagePack-fähigen Bibliothek oder einem Decoder. Zur Prüfung eignen sich Diagnose-Notation oder eine JSON-ähnliche Ansicht. Achten Sie darauf, wie Binärdaten und Erweiterungen angezeigt werden. |
| Exportieren oder konvertieren | Bei einer Umwandlung in JSON benötigen Datumswerte, ObjectId und Binärwerte möglicherweise Extended-JSON-Notation oder eine anwendungsspezifische Darstellung, da Standard-JSON keine passenden Typen hat. Wählen Sie für eine verlustarme Hin- und Rückumwandlung ein Verfahren, das Typinformationen erhält, und testen Sie echte Daten. | Bei einer Umwandlung in JSON benötigen Binärdaten und Erweiterungen möglicherweise Arrays, Zeichenfolgen oder werkzeugspezifische Hüllen, da Standard-JSON keine direkten Entsprechungen hat. Testen Sie für Hin- und Rückumwandlungen echte Werte, Zahlenbereiche, Zeitstempel, Map-Schlüssel und Erweiterungstypen. |
Nach Einsatzzweck wählen
Typen wie Datumswerte und Binärdaten erhalten
MongoDB-Dokumente serialisieren · Dokumente zwischen BSON-fähigen Werkzeugen austauschen
BSONTreiber und Werkzeuge verwenden, die BSON lesen und schreiben
MongoDB-Dokumente serialisieren · Dokumente zwischen BSON-fähigen Werkzeugen austauschen
BSONJSON-artige Arrays, Maps und Grundwerte binär codieren
JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen
MessagePackErweiterungswerte und Zeitstempel zwischen kompatiblen Bibliotheken austauschen
JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen
MessagePackWichtiger Punkt 1
BSON definiert längenpräfixierte Dokumente und Arrays mit expliziten Typen wie Datum, ObjectId und Decimal128. MessagePack bietet allgemeine Maps, Arrays, Zahlen, Text, Binärwerte und anwendungsspezifische Erweiterungen.
Unterschiede im DetailWichtiger Punkt 2
BSON passt zum MongoDB-Dokumentmodell und seinen Werkzeugen; MessagePack dient der allgemeinen Serialisierung ohne bestimmte Datenbank.
Unterschiede im DetailUnterschiede im Detail
Wählen Sie BSON bei benötigten MongoDB-kompatiblen Dokumenttypen und MessagePack für ein datenbankunabhängiges Binärobjektprotokoll. Ordnen Sie vor der Konvertierung Datum, Ganzzahlbreite, Dezimalzahl, ObjectId und Erweiterungen zu und testen Sie den Rundlauf.
- Beide Formate sind binär, unterscheiden sich aber in Struktur und Typsystem und sind nicht direkt gegenseitig lesbar.
- BSON definiert dokumentbezogene Typen und Konventionen. Bei MessagePack muss die Anwendung die Bedeutung von Erweiterungscodes festlegen.
- Eine Konvertierung kann Datumsangaben, Zahlenbereiche, Dezimalwerte oder Identifikatorsemantik ändern. Dokumentieren Sie Zuordnungen und validieren Sie Werte beim Empfänger.
Häufige Fragen
Kann ich eine BSON-Datei einfach in MessagePack umbenennen?
Nein. Eine andere Endung konvertiert weder Binärstruktur noch Typen; nötig sind Dekodierung und erneute Serialisierung mit expliziten Feldzuordnungen.