बीएसओएन: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Computer data interchange format}} {{Infobox file format | screenshot = BSON website logo.svg | name = BSON |_nomimecode = on | mime = {{code|app...")
 
No edit summary
Line 11: Line 11:
}}
}}


बीएसओएन ({{IPAc-en|ˈ|b|iː|s|ə|n}}<ref name="bsonspec-org">{{cite web |title=बीएसओएन (बाइनरी जेएसओएन) क्रमांकन|url=https://bsonspec.org/ |access-date=23 November 2021}}</ref>) एक [[कंप्यूटर]] डेटा इंटरचेंज प्रारूप है। BSON नाम [[JSON]] शब्द पर आधारित है और इसका मतलब बाइनरी JSON है।<ref name="bsonspec-org" />यह साहचर्य सरणियों (नाम-मूल्य जोड़े के रूप में भी जाना जाता है), पूर्णांक अनुक्रमित सरणियों और मौलिक स्केलर प्रकारों के एक सूट सहित सरल या जटिल [[डेटा संरचना]]ओं का प्रतिनिधित्व करने के लिए एक द्विआधारी रूप है।
बीएसओएन ({{IPAc-en|ˈ|b|iː|s|ə|n}}<ref name="bsonspec-org">{{cite web |title=बीएसओएन (बाइनरी जेएसओएन) क्रमांकन|url=https://bsonspec.org/ |access-date=23 November 2021}}</ref>) [[कंप्यूटर]] डेटा इंटरचेंज प्रारूप है। BSON नाम [[JSON]] शब्द पर आधारित है और इसका मतलब बाइनरी JSON है।<ref name="bsonspec-org" />यह साहचर्य सरणियों (नाम-मूल्य जोड़े के रूप में भी जाना जाता है), पूर्णांक अनुक्रमित सरणियों और मौलिक स्केलर प्रकारों के सूट सहित सरल या जटिल [[डेटा संरचना]]ओं का प्रतिनिधित्व करने के लिए द्विआधारी रूप है।
BSON की शुरुआत 2009 में [[MongoDB]] में हुई थी। कई स्केलर डेटा प्रकार MongoDB के लिए विशिष्ट रुचि के हैं और प्रारूप का उपयोग MongoDB डेटाबेस के लिए डेटा भंडारण और नेटवर्क ट्रांसफर प्रारूप दोनों के रूप में किया जाता है, लेकिन इसे MongoDB के बाहर स्वतंत्र रूप से उपयोग किया जा सकता है।
BSON की शुरुआत 2009 में [[MongoDB]] में हुई थी। कई स्केलर डेटा प्रकार MongoDB के लिए विशिष्ट रुचि के हैं और प्रारूप का उपयोग MongoDB डेटाबेस के लिए डेटा भंडारण और नेटवर्क ट्रांसफर प्रारूप दोनों के रूप में किया जाता है, लेकिन इसे MongoDB के बाहर स्वतंत्र रूप से उपयोग किया जा सकता है।
कार्यान्वयन विभिन्न भाषाओं में उपलब्ध हैं जैसे [[सी (प्रोग्रामिंग भाषा)]], [[सी++]], सी शार्प (प्रोग्रामिंग भाषा)|सी#, [[डी (प्रोग्रामिंग भाषा)]], [[डेल्फ़ी (आईडीई)]]आईडीई), [[एरलांग (प्रोग्रामिंग भाषा)]], गो (प्रोग्रामिंग भाषा), [[हास्केल (प्रोग्रामिंग भाषा)]], [[जावा (प्रोग्रामिंग भाषा)]], [[जावास्क्रिप्ट]], [[जूलिया (प्रोग्रामिंग भाषा)]], [[लुआ (प्रोग्रामिंग भाषा)]], [[ओकैमल]], [[पर्ल]], [[पीएचपी]], [[पायथन (प्रोग्रामिंग भाषा)]], [[रूबी (प्रोग्रामिंग भाषा)]], रस्ट (प्रोग्रामिंग भाषा), [[स्काला (प्रोग्रामिंग भाषा)]], स्मॉलटॉक, और [[स्विफ्ट (प्रोग्रामिंग भाषा)]]।<ref>{{cite web |url=https://bsonspec.org/implementations.html |title=बीएसओएन कार्यान्वयन परियोजनाएं|access-date=2021-11-24 }}</ref>
कार्यान्वयन विभिन्न भाषाओं में उपलब्ध हैं जैसे [[सी (प्रोग्रामिंग भाषा)]], [[सी++]], सी शार्प (प्रोग्रामिंग भाषा)|सी#, [[डी (प्रोग्रामिंग भाषा)]], [[डेल्फ़ी (आईडीई)]]आईडीई), [[एरलांग (प्रोग्रामिंग भाषा)]], गो (प्रोग्रामिंग भाषा), [[हास्केल (प्रोग्रामिंग भाषा)]], [[जावा (प्रोग्रामिंग भाषा)]], [[जावास्क्रिप्ट]], [[जूलिया (प्रोग्रामिंग भाषा)]], [[लुआ (प्रोग्रामिंग भाषा)]], [[ओकैमल]], [[पर्ल]], [[पीएचपी]], [[पायथन (प्रोग्रामिंग भाषा)]], [[रूबी (प्रोग्रामिंग भाषा)]], रस्ट (प्रोग्रामिंग भाषा), [[स्काला (प्रोग्रामिंग भाषा)]], स्मॉलटॉक, और [[स्विफ्ट (प्रोग्रामिंग भाषा)]]।<ref>{{cite web |url=https://bsonspec.org/implementations.html |title=बीएसओएन कार्यान्वयन परियोजनाएं|access-date=2021-11-24 }}</ref>
Line 17: Line 17:


==डेटा प्रकार और वाक्यविन्यास==
==डेटा प्रकार और वाक्यविन्यास==
BSON का एक प्रकाशित विनिर्देश है।<ref>{{Cite web|url=https://bsonspec.org/spec.html|title=BSON (Binary JSON): Specification|website=bsonspec.org|access-date=2021-11-24}}</ref><ref>{{Cite web|url=https://www.informit.com/articles/article.aspx?p=2247310&seqNum=4%20api.mongodb.com/python/current/api/bson/regex.html|title=Introducing NoSQL and MongoDB {{!}} What Is NoSQL? {{!}} InformIT|website=www.informit.com|access-date=2018-01-17}}</ref> संरचना में सबसे ऊपरी तत्व BSON ऑब्जेक्ट प्रकार का होना चाहिए
BSON का प्रकाशित विनिर्देश है।<ref>{{Cite web|url=https://bsonspec.org/spec.html|title=BSON (Binary JSON): Specification|website=bsonspec.org|access-date=2021-11-24}}</ref><ref>{{Cite web|url=https://www.informit.com/articles/article.aspx?p=2247310&seqNum=4%20api.mongodb.com/python/current/api/bson/regex.html|title=Introducing NoSQL and MongoDB {{!}} What Is NoSQL? {{!}} InformIT|website=www.informit.com|access-date=2018-01-17}}</ref> संरचना में सबसे ऊपरी तत्व BSON ऑब्जेक्ट प्रकार का होना चाहिए
इसमें 1 या अधिक तत्व होते हैं, जहां एक तत्व में फ़ील्ड नाम, एक प्रकार और एक मान होता है। फ़ील्ड नाम स्ट्रिंग हैं. प्रकारों में शामिल हैं:
इसमें 1 या अधिक तत्व होते हैं, जहां तत्व में फ़ील्ड नाम, प्रकार और मान होता है। फ़ील्ड नाम स्ट्रिंग हैं. प्रकारों में शामिल हैं:


* [[यूनिकोड]] स्ट्रिंग ([[UTF-8]] एन्कोडिंग का उपयोग करके)
* [[यूनिकोड]] स्ट्रिंग ([[UTF-8]] एन्कोडिंग का उपयोग करके)
Line 24: Line 24:
* 64 बिट पूर्णांक
* 64 बिट पूर्णांक
[[डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप]] प्रारूप (64-बिट [[आईईईई 754]] फ़्लोटिंग पॉइंट नंबर)
[[डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप]] प्रारूप (64-बिट [[आईईईई 754]] फ़्लोटिंग पॉइंट नंबर)
* [[दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप]] (128-बिट [[आईईईई 754-2008]] फ़्लोटिंग पॉइंट नंबर; [[बाइनरी पूर्णांक दशमलव]] (बीआईडी) संस्करण), दशमलव-स्थान संवेदनशील वित्तीय डेटा और सटीकता के 34 दशमलव अंकों के साथ मनमाने ढंग से सटीक संख्याओं के लिए एक वाहक के रूप में उपयुक्त, ए अधिकतम मान लगभग 10<sup>6145</sup>
* [[दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप]] (128-बिट [[आईईईई 754-2008]] फ़्लोटिंग पॉइंट नंबर; [[बाइनरी पूर्णांक दशमलव]] (बीआईडी) संस्करण), दशमलव-स्थान संवेदनशील वित्तीय डेटा और सटीकता के 34 दशमलव अंकों के साथ मनमाने ढंग से सटीक संख्याओं के लिए वाहक के रूप में उपयुक्त, ए अधिकतम मान लगभग 10<sup>6145</sup>
* समय क्षेत्र के बिना डेटाटाइम ([[यूनिक्स युग]] के बाद से मिलीसेकंड की लंबी पूर्णांक संख्या)
* समय क्षेत्र के बिना डेटाटाइम ([[यूनिक्स युग]] के बाद से मिलीसेकंड की लंबी पूर्णांक संख्या)
* बाइट सरणी (मनमाना बाइनरी डेटा के लिए)
* बाइट सरणी (मनमाना बाइनरी डेटा के लिए)
Line 33: Line 33:
* जावास्क्रिप्ट कोड
* जावास्क्रिप्ट कोड
* [[एमडी5]] बाइनरी डेटा
* [[एमडी5]] बाइनरी डेटा
* [[ नियमित अभिव्यक्ति ]] (पर्ल संगत रेगुलर एक्सप्रेशन ([[पीसीआरई]]) संस्करण 8.41 यूटीएफ-8 समर्थन के साथ)<ref>{{Cite web|url=https://api.mongodb.com/python/current/api/bson/regex.html|title=regex – Tools for representing MongoDB regular expressions — PyMongo 3.6.0 documentation|website=api.mongodb.com|access-date=2018-01-17}}</ref>
* [[ नियमित अभिव्यक्ति | नियमित अभिव्यक्ति]] (पर्ल संगत रेगुलर एक्सप्रेशन ([[पीसीआरई]]) संस्करण 8.41 यूटीएफ-8 समर्थन के साथ)<ref>{{Cite web|url=https://api.mongodb.com/python/current/api/bson/regex.html|title=regex – Tools for representing MongoDB regular expressions — PyMongo 3.6.0 documentation|website=api.mongodb.com|access-date=2018-01-17}}</ref>
JSON के लिए एक महत्वपूर्ण अंतर यह है कि BSON में ऐसे प्रकार होते हैं जो JSON में मौजूद नहीं होते हैं (उदाहरण के लिए डेटाटाइम और बाइट सरणी) और सार्वभौमिक संख्या प्रकार के बजाय कई संख्यात्मक प्रकारों के लिए टाइप-स्ट्रिक्ट हैंडलिंग प्रदान करता है। उन स्थितियों के लिए जहां इन अतिरिक्त प्रकारों को पाठ्य तरीके से प्रस्तुत करने की आवश्यकता होती है, MongoDB का विस्तारित JSON प्रारूप<ref>{{Cite web|url=https://docs.mongodb.com/manual/reference/mongodb-extended-json/|title=MongoDB विस्तारित JSON दस्तावेज़ीकरण|website=docs.mongodb.com|access-date=2020-05-03}}</ref> इस्तेमाल किया जा सकता है।
JSON के लिए महत्वपूर्ण अंतर यह है कि BSON में ऐसे प्रकार होते हैं जो JSON में मौजूद नहीं होते हैं (उदाहरण के लिए डेटाटाइम और बाइट सरणी) और सार्वभौमिक संख्या प्रकार के बजाय कई संख्यात्मक प्रकारों के लिए टाइप-स्ट्रिक्ट हैंडलिंग प्रदान करता है। उन स्थितियों के लिए जहां इन अतिरिक्त प्रकारों को पाठ्य तरीके से प्रस्तुत करने की आवश्यकता होती है, MongoDB का विस्तारित JSON प्रारूप<ref>{{Cite web|url=https://docs.mongodb.com/manual/reference/mongodb-extended-json/|title=MongoDB विस्तारित JSON दस्तावेज़ीकरण|website=docs.mongodb.com|access-date=2020-05-03}}</ref> इस्तेमाल किया जा सकता है।


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




Line 74: Line 74:
* {{Official website|https://bsonspec.org/}}
* {{Official website|https://bsonspec.org/}}
* [https://docs.mongodb.com/database-tools/bsondump/ {{mono|bsondump}} tool included with MongoDB]
* [https://docs.mongodb.com/database-tools/bsondump/ {{mono|bsondump}} tool included with MongoDB]
{{Data Exchange}}
[[Category: JSON]] [[Category: डेटा क्रमांकन प्रारूप]] [[Category: दस्तावेज़-उन्मुख डेटाबेस]]  
[[Category: JSON]] [[Category: डेटा क्रमांकन प्रारूप]] [[Category: दस्तावेज़-उन्मुख डेटाबेस]]  



Revision as of 14:14, 16 July 2023

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.


बाहरी संबंध