BSON क्या है और यह JSON से बिल्कुल अलग कैसे है?


158

मैं बस MongoDB के साथ शुरुआत कर रहा हूं और जिन चीजों पर मैंने ध्यान दिया है उनमें से एक यह है कि यह डेटा को आंतरिक रूप से संग्रहीत करने के लिए BSON का उपयोग करता है । हालाँकि प्रलेखन यह स्पष्ट नहीं है कि BSON क्या है और इसका उपयोग MongoDB में कैसे किया जाता है। क्या कोई मुझे यह समझा सकता है, कृपया?


: हाय इवान, इस लिंक का संदर्भ लें, यह JSON और BSON संदर्भ के बीच एक गहरी तुलना शामिल educba.com/json-vs-bson
Nuwa

@Nuwa इवान ने सवाल नहीं पूछा, वह अक्षत था
UUDdLrLrSs

जवाबों:


155

BSON , JSON- जैसे दस्तावेज़ों का बाइनरी एन्कोडिंग है जो संग्रह में दस्तावेज़ संग्रहीत करते समय MongoDB का उपयोग करता है। यह डेट्स और बाइनरी जैसे डेटा प्रकारों के लिए समर्थन जोड़ता है जो JSON में समर्थित नहीं हैं।

व्यवहार में, आपको MongoDB के साथ काम करने के दौरान BSON के बारे में अधिक जानकारी नहीं है, आपको बस दस्तावेजों के निर्माण के समय अपनी भाषा के मूल प्रकार और उसके चालक के दिए गए प्रकार (जैसे ObjectId) का उपयोग करने की आवश्यकता होती है और उन्हें मैप किया जाएगा ड्राइवर द्वारा उपयुक्त BSON प्रकार।


2
इसलिए अगर mongoDb दस्तावेज़ों को bson के रूप में संग्रहीत करता है, तो वह कौन सा प्रकार है जो डेटा बेस से क्वेरी करते समय लौटाया जाता है? क्या वे json के रूप में हैं?
अक्षत जीवन शर्मा

13
नहीं, आपकी भाषा के लिए MongoDB ड्राइवर दस्तावेज़ को आपकी भाषा के लिए उपयुक्त डेटा प्रकारों में परिवर्तित करने का ध्यान रखता है। मूल डेटा प्रकारों का यथासंभव उपयोग किया जाता है।
जॉनीएचके

2
अगर मैं से डेटा पुनः प्राप्त है कि साधन करता है, BSON का उपयोग कर दस्तावेज़ जावास्क्रिप्ट , मैं के रूप में मैं जब मैं का उपयोग कर पुनः प्राप्त मिल जाएगा किसी भी डेटाप्रकार अंतर नहीं मिलेगा C / C ++ यानी संख्या के रूप में माना जाएगा पूर्णांकों अगर यह किसी भी दशमलव नहीं है?
अभिसकप

1
जॉनीएचके के स्पष्टीकरण और मेरे हालिया अनुभव के आधार पर @abhisekp, मुझे लगता है कि आपने जो कहा वह सच है।
nxmohamad

क्या स्तंभ क्षेत्र का सटीक डेटा प्रकार BSON लौटाएगा? या तो इसे सभी प्रकारों के लिए स्ट्रिंग के रूप में लौटाएं?
mRhNs13

45
  • BSON क्या है ?

    BSON [bee · sahn], बाइनरी JSON के लिए छोटा है, JSON जैसे दस्तावेज़ों का एक द्विआधारी-एन्कोडेड क्रमांकन है।

  • यह JSON से कैसे अलग है ?

    BSON को अंतरिक्ष में कुशल बनाया गया है, लेकिन कुछ मामलों में JSON से अधिक कुशल नहीं है। कुछ मामलों में BSON JSON से भी अधिक स्थान का उपयोग करता है। इसका कारण BSON डिजाइन लक्ष्यों में से एक है: ट्रैवर्सिबिलिटी। BSON दस्तावेजों में कुछ "अतिरिक्त" जानकारी जोड़ता है, जैसे कि तार की लंबाई और उप-विषय। इससे ट्रैवर्सल तेज होता है।

    BSON को सांकेतिक शब्दों में बदलना और डिकोड करने के लिए तेज़ बनाया गया है। उदाहरण के लिए, पूर्णांक 32 (या 64) बिट पूर्णांक के रूप में संग्रहीत किए जाते हैं, इसलिए उन्हें पाठ से पार्स करने की आवश्यकता नहीं है। यह छोटे पूर्णांक के लिए JSON से अधिक स्थान का उपयोग करता है, लेकिन पार्स करने के लिए बहुत तेज़ है।

    कॉम्पैक्टनेस के अलावा, BSON JSON में अतिरिक्त डेटा प्रकार उपलब्ध नहीं है, विशेष रूप से BinData और Date डेटा प्रकार।

स्रोत: http://bsonspec.org/


क्या यह डेटा प्रकार jsonb के समान है जो बाइनरी JSON डेटा के लिए है, जो पोस्टग्रैसेक्ल में विघटित है?
पाइरेटऐप

13

MongoDB दृश्यों के पीछे BSON नामक बाइनरी-एन्कोडेड प्रारूप में JSON दस्तावेजों का प्रतिनिधित्व करता है। BSON अतिरिक्त डेटा प्रकार प्रदान करने और विभिन्न भाषाओं में एन्कोडिंग और डिकोडिंग के लिए कुशल होने के लिए JSON मॉडल का विस्तार करता है।


12

MongoDB बाइनरी-एन्कोडेड प्रारूप में JSON दस्तावेज़ों का प्रतिनिधित्व करता है इसलिए हम इसे परदे के पीछे BSON कहते हैं

BSON, JSON मॉडल को अतिरिक्त डेटा प्रकार जैसे कि Date और बाइनरी प्रदान करने के लिए प्रदान करता है जो JSON में समर्थित नहीं हैं, विभिन्न भाषाओं में एन्कोडिंग और डिकोडिंग के लिए कुशल होने के लिए आदेशित फ़ील्ड भी प्रदान करते हैं। 

दूसरे शब्दों में हम कह सकते हैं कि   BSON केवल बाइनरी JSON  (कुछ और डेटा प्रकारों के साथ JSON का सुपरसेट, सबसे महत्वपूर्ण बाइनरी बाइट सरणी) है।

JSON के क्रमांकन प्रारूप के रूप में उपयोग करने वाले Mongodb में दस्तावेजों को संग्रहीत करने और एक्सेस करने के लिए एन्कोडिंग प्रारूप के साथ शामिल हैं । बस हम कह सकते हैं कि BSON JSON डेटा के लिए एक द्विआधारी एन्कोडेड प्रारूप है।

अधिक mongoDB के लिए अनुच्छेद: https://om9x.com/blog/bson-vs-json/


लिंक टूट गया है
PlsWork

5

JSON के शीर्ष पर BSON एन्कोडिंग का उपयोग करके, MongoDB कच्चे मान में JSON दस्तावेज़ के अंदर रहने वाले मूल्यों के शीर्ष पर अनुक्रमित बनाने की क्षमता प्राप्त करता है। यह कुशल विश्लेषणात्मक प्रश्नों को चलाने में मदद करता है क्योंकि NoSQL सिस्टम इंडेक्स के लिए कोई समर्थन नहीं होने के लिए जाना जाता था।


1

यह अपेक्षाकृत छोटा लेख BSON और JSON की एक बहुत अच्छी व्याख्या देता है: यह JSON के साथ कुछ समस्याओं के बारे में बात करता है, BSON का आविष्कार क्यों किया गया, JSON की तुलना में यह किन समस्याओं का हल करता है और यह आपको कैसे फायदा पहुंचा सकता है।

https://www.compose.com/articles/from-json-to-bson-and-back/

मेरे उपयोग के मामले में उस लेख ने मुझे बताया कि JSON के लिए धारावाहिक बनाना मेरे लिए काम करेगा और मुझे BSON को क्रमबद्ध करने की आवश्यकता नहीं थी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.