बीएसओएन

From Vigyanwiki
Revision as of 14:14, 16 July 2023 by alpha>Neetua08
BSON
BSON website logo.svg
Filename extension
.bson
Internet media typeapplication/bson[1]
Type of formatData interchange
Extended fromJSON
Websitebsonspec.org

बीएसओएन (/ˈbsən/[2]) कंप्यूटर डेटा इंटरचेंज प्रारूप है। BSON नाम JSON शब्द पर आधारित है और इसका मतलब बाइनरी JSON है।[2]यह साहचर्य सरणियों (नाम-मूल्य जोड़े के रूप में भी जाना जाता है), पूर्णांक अनुक्रमित सरणियों और मौलिक स्केलर प्रकारों के सूट सहित सरल या जटिल डेटा संरचनाओं का प्रतिनिधित्व करने के लिए द्विआधारी रूप है। BSON की शुरुआत 2009 में MongoDB में हुई थी। कई स्केलर डेटा प्रकार MongoDB के लिए विशिष्ट रुचि के हैं और प्रारूप का उपयोग MongoDB डेटाबेस के लिए डेटा भंडारण और नेटवर्क ट्रांसफर प्रारूप दोनों के रूप में किया जाता है, लेकिन इसे MongoDB के बाहर स्वतंत्र रूप से उपयोग किया जा सकता है। कार्यान्वयन विभिन्न भाषाओं में उपलब्ध हैं जैसे सी (प्रोग्रामिंग भाषा), सी++, सी शार्प (प्रोग्रामिंग भाषा)|सी#, डी (प्रोग्रामिंग भाषा), डेल्फ़ी (आईडीई)आईडीई), एरलांग (प्रोग्रामिंग भाषा), गो (प्रोग्रामिंग भाषा), हास्केल (प्रोग्रामिंग भाषा), जावा (प्रोग्रामिंग भाषा), जावास्क्रिप्ट, जूलिया (प्रोग्रामिंग भाषा), लुआ (प्रोग्रामिंग भाषा), ओकैमल, पर्ल, पीएचपी, पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), रस्ट (प्रोग्रामिंग भाषा), स्काला (प्रोग्रामिंग भाषा), स्मॉलटॉक, और स्विफ्ट (प्रोग्रामिंग भाषा)[3]


डेटा प्रकार और वाक्यविन्यास

BSON का प्रकाशित विनिर्देश है।[4][5] संरचना में सबसे ऊपरी तत्व BSON ऑब्जेक्ट प्रकार का होना चाहिए इसमें 1 या अधिक तत्व होते हैं, जहां तत्व में फ़ील्ड नाम, प्रकार और मान होता है। फ़ील्ड नाम स्ट्रिंग हैं. प्रकारों में शामिल हैं:

  • यूनिकोड स्ट्रिंग (UTF-8 एन्कोडिंग का उपयोग करके)
  • 32 बिट पूर्णांक
  • 64 बिट पूर्णांक

डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप प्रारूप (64-बिट आईईईई 754 फ़्लोटिंग पॉइंट नंबर)

JSON के लिए महत्वपूर्ण अंतर यह है कि BSON में ऐसे प्रकार होते हैं जो JSON में मौजूद नहीं होते हैं (उदाहरण के लिए डेटाटाइम और बाइट सरणी) और सार्वभौमिक संख्या प्रकार के बजाय कई संख्यात्मक प्रकारों के लिए टाइप-स्ट्रिक्ट हैंडलिंग प्रदान करता है। उन स्थितियों के लिए जहां इन अतिरिक्त प्रकारों को पाठ्य तरीके से प्रस्तुत करने की आवश्यकता होती है, MongoDB का विस्तारित JSON प्रारूप[7] इस्तेमाल किया जा सकता है।

दक्षता

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


उदाहरण

एक दस्तावेज़ जैसे {"hello": "world"} को इस प्रकार संग्रहित किया जाएगा:

<पूर्व> \x16\x00\x00\x00 // कुल दस्तावेज़ आकार \x02 // 0x02 = स्ट्रिंग टाइप करें नमस्ते\x00 // फ़ील्ड का नाम \x06\x00\x00\x00world\x00 // फ़ील्ड मान (मान का आकार, मान, शून्य टर्मिनेटर) \x00 // 0x00 = EOO टाइप करें ('ऑब्जेक्ट का अंत') </पूर्व>

यह भी देखें

संदर्भ

  1. "BSON Support in ASP.NET Web API 2.1 - ASP.NET 4.x". Microsoft Docs. 2014-01-20. Retrieved 2010-01-12.
  2. 2.0 2.1 2.2 "बीएसओएन (बाइनरी जेएसओएन) क्रमांकन". Retrieved 23 November 2021.
  3. "बीएसओएन कार्यान्वयन परियोजनाएं". Retrieved 2021-11-24.
  4. "BSON (Binary JSON): Specification". bsonspec.org. Retrieved 2021-11-24.
  5. "Introducing NoSQL and MongoDB | What Is NoSQL? | InformIT". www.informit.com. Retrieved 2018-01-17.
  6. "regex – Tools for representing MongoDB regular expressions — PyMongo 3.6.0 documentation". api.mongodb.com. Retrieved 2018-01-17.
  7. "MongoDB विस्तारित JSON दस्तावेज़ीकरण". docs.mongodb.com. Retrieved 2020-05-03.


बाहरी संबंध