बीएसओएन: Difference between revisions
(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 |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
{{Infobox file format | {{Infobox file format | ||
| screenshot = BSON website logo.svg | | screenshot = BSON website logo.svg | ||
| name = | | name = बीएसओएन | ||
|_nomimecode = | |_nomimecode = संवृत | ||
| mime = {{code|application/bson}}<ref name="mime">{{cite web |url=https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/bson-support-in-web-api-21 |title=BSON Support in ASP.NET Web API 2.1 - ASP.NET 4.x |date=2014-01-20 |website=Microsoft Docs |access-date=2010-01-12}}</ref> | | mime = {{code|application/bson}}<ref name="mime">{{cite web |url=https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/bson-support-in-web-api-21 |title=BSON Support in ASP.NET Web API 2.1 - ASP.NET 4.x |date=2014-01-20 |website=Microsoft Docs |access-date=2010-01-12}}</ref> | ||
| extension = . | | extension = .बीएसओएन | ||
| genre = | | genre = डेटा इंटरचेंज | ||
| extended from = [[ | | extended from = [[जेएसओएन]] | ||
| url = {{URL|https://bsonspec.org/}} | | url = {{URL|https://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>) | '''बीएसओएन''' ({{IPAc-en|ˈ|b|iː|s|ə|n}}<ref name="bsonspec-org">{{cite web |title=बीएसओएन (बाइनरी जेएसओएन) क्रमांकन|url=https://bsonspec.org/ |access-date=23 November 2021}}</ref>) [[कंप्यूटर]] डेटा इंटरचेंज प्रारूप है। बीएसओएन नाम [[JSON|जेएसओएन]] शब्द पर आधारित है और इसका कारण बाइनरी जेएसओएन है।<ref name="bsonspec-org" /> यह साहचर्य सरणियों (नाम-मूल्य जोड़े के रूप में भी जाना जाता है), पूर्णांक अनुक्रमित सरणियों और मौलिक स्केलर प्रकारों के सूट सहित सरल या जटिल [[डेटा संरचना]]ओं का प्रतिनिधित्व करने के लिए द्विआधारी रूप है। बीएसओएन की शुरुआत 2009 में [[MongoDB|मोंगोडीबी]] में हुई थी। कई स्केलर डेटा प्रकार मोंगोडीबी के लिए विशिष्ट रुचि के हैं और प्रारूप का उपयोग मोंगोडीबी डेटाबेस के लिए डेटा स्टोरेज और नेटवर्क ट्रांसफर प्रारूप दोनों के रूप में किया जाता है, किन्तु इसे मोंगोडीबी के बाहर स्वतंत्र रूप से उपयोग किया जा सकता है। कार्यान्वयन विभिन्न भाषाओं में उपलब्ध हैं जैसे [[सी (प्रोग्रामिंग भाषा)]], [[सी++]], सी शार्प (प्रोग्रामिंग भाषा) या सी, [[डी (प्रोग्रामिंग भाषा)]], [[डेल्फ़ी (आईडीई)]], [[एरलांग (प्रोग्रामिंग भाषा)]], गो (प्रोग्रामिंग भाषा), [[हास्केल (प्रोग्रामिंग भाषा)]], [[जावा (प्रोग्रामिंग भाषा)]], [[जावास्क्रिप्ट]], [[जूलिया (प्रोग्रामिंग भाषा)]], [[लुआ (प्रोग्रामिंग भाषा)]], [[ओकैमल]], [[पर्ल]], [[पीएचपी]], [[पायथन (प्रोग्रामिंग भाषा)]], [[रूबी (प्रोग्रामिंग भाषा)]], रस्ट (प्रोग्रामिंग भाषा), [[स्काला (प्रोग्रामिंग भाषा)]], स्मॉलटॉक, और [[स्विफ्ट (प्रोग्रामिंग भाषा)]] है।<ref>{{cite web |url=https://bsonspec.org/implementations.html |title=बीएसओएन कार्यान्वयन परियोजनाएं|access-date=2021-11-24 }}</ref> | ||
कार्यान्वयन विभिन्न भाषाओं में उपलब्ध हैं जैसे [[सी (प्रोग्रामिंग भाषा)]], [[सी++]], सी शार्प (प्रोग्रामिंग भाषा) | |||
==डेटा प्रकार और वाक्यविन्यास== | ==डेटा प्रकार और वाक्यविन्यास== | ||
बीएसओएन का प्रकाशित विनिर्देश है।<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> संरचना में सबसे ऊपरी तत्व बीएसओएन ऑब्जेक्ट प्रकार का होना चाहिए इसमें 1 या अधिक तत्व होते हैं, जहां तत्व में क्षेत्र नाम, प्रकार और मान होता है। क्षेत्र नाम स्ट्रिंग हैं. प्रकारों में सम्मिलित हैं: | |||
इसमें 1 या अधिक तत्व होते हैं, जहां | |||
* [[यूनिकोड]] स्ट्रिंग ([[UTF-8]] एन्कोडिंग का उपयोग करके) | * [[यूनिकोड]] स्ट्रिंग ([[UTF-8|यूटीएफ-8]] एन्कोडिंग का उपयोग करके) | ||
* 32 बिट पूर्णांक | * 32 बिट पूर्णांक | ||
* 64 बिट पूर्णांक | * 64 बिट पूर्णांक | ||
[[डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप]] प्रारूप (64-बिट [[आईईईई 754]] फ़्लोटिंग पॉइंट नंबर) | [[डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप]] प्रारूप (64-बिट [[आईईईई 754]] फ़्लोटिंग पॉइंट नंबर) | ||
* [[दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप]] (128-बिट [[आईईईई 754-2008]] फ़्लोटिंग पॉइंट नंबर; [[बाइनरी पूर्णांक दशमलव]] (बीआईडी) संस्करण), दशमलव-स्थान संवेदनशील वित्तीय डेटा और | * [[दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप]] (128-बिट [[आईईईई 754-2008]] फ़्लोटिंग पॉइंट नंबर; [[बाइनरी पूर्णांक दशमलव]] (बीआईडी) संस्करण), दशमलव-स्थान संवेदनशील वित्तीय डेटा और स्पष्टता के 34 दशमलव अंकों के साथ इच्छानुसार विधि से स्पष्ट संख्याओं के लिए वाहक के रूप में उपयुक्त, a अधिकतम मान लगभग 10<sup>6145</sup> का उपयोग किया जाता है | ||
* समय क्षेत्र के बिना डेटाटाइम ([[यूनिक्स युग]] के बाद से मिलीसेकंड की लंबी पूर्णांक संख्या) | * समय क्षेत्र के बिना डेटाटाइम ([[यूनिक्स युग]] के बाद से मिलीसेकंड की लंबी पूर्णांक संख्या) | ||
* बाइट सरणी ( | * बाइट सरणी (इच्छानुसार बाइनरी डेटा के लिए) | ||
* [[बूलियन डेटाटाइप]] (<code>true</code> और <code>false</code>) | * [[बूलियन डेटाटाइप]] (<code>true</code> और <code>false</code>) | ||
* [[निरर्थक प्रकार]] | * [[निरर्थक प्रकार]] | ||
Line 33: | Line 28: | ||
* जावास्क्रिप्ट कोड | * जावास्क्रिप्ट कोड | ||
* [[एमडी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> | ||
जेएसओएन के लिए महत्वपूर्ण अंतर यह है कि बीएसओएन में ऐसे प्रकार होते हैं जो जेएसओएन में उपस्थित नहीं होते हैं (उदाहरण के लिए डेटाटाइम और बाइट सरणी) और सार्वभौमिक संख्या प्रकार के अतिरिक्त कई संख्यात्मक प्रकारों के लिए टाइप-स्ट्रिक्ट हैंडलिंग प्रदान करता है। उन स्थितियों के लिए जहां इन अतिरिक्त प्रकारों को पाठ्य विधि से प्रस्तुत करने की आवश्यकता होती है, मोंगोडीबी का विस्तारित जेएसओएन प्रारूप <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> उपयोग किया जा सकता है। | |||
==दक्षता== | ==दक्षता== | ||
जेएसओएन की तुलना में, बीएसओएन को स्टोरेज स्पेस और स्कैन-स्पीड दोनों में कुशल होने के लिए डिज़ाइन किया गया है। बीएसओएन डाक्यूमेंट में बड़े तत्वों को स्कैनिंग की सुविधा के लिए लंबाई क्षेत्र के साथ उपसर्ग किया जाता है। कुछ स्थितियों में, लंबाई उपसर्गों और स्पष्ट सरणी सूचकांकों के कारण बीएसओएन जेएसओएन की तुलना में अधिक स्थान का उपयोग करता है।<ref name="bsonspec-org"/> | |||
== उदाहरण == | == उदाहरण == | ||
एक | एक डाक्यूमेंट जैसे {{code|{"hello": "world"} }} को इस प्रकार संग्रहित किया जाता है:<syntaxhighlight lang="abl"> | ||
\x16\x00\x00\x00 // total document size | |||
< | \x02 // 0x02 = type String | ||
\x16\x00\x00\x00 // | hello\x00 // field name | ||
\x02 // 0x02 = | \x06\x00\x00\x00world\x00 // field value (size of value, value, null terminator) | ||
\x00 // 0x00 = type EOO ('end of object') | |||
\x06\x00\x00\x00world\x00 // | </syntaxhighlight> | ||
\x00 // 0x00 = EOO | |||
</ | |||
== यह भी देखें == | == यह भी देखें == | ||
* [[डेटा क्रमांकन प्रारूपों की तुलना]] | * [[डेटा क्रमांकन प्रारूपों की तुलना]] | ||
* जेएसओएन | * जेएसओएन | ||
* [[सीबीओआर]] | * [[सीबीओआर]] | ||
* | * स्माइल (डेटा इंटरचेंज फॉर्मेट) (बाइनरी जेएसओएन) | ||
* उबजसन | * उबजसन | ||
* [[प्रोटोकॉल बफ़र्स]] | * [[प्रोटोकॉल बफ़र्स]] | ||
Line 61: | Line 51: | ||
* [[अपाचे थ्रिफ्ट]] | * [[अपाचे थ्रिफ्ट]] | ||
* [[संदेशपैक]] | * [[संदेशपैक]] | ||
* [[दस्तावेज़-उन्मुख डेटाबेस]] | * [[दस्तावेज़-उन्मुख डेटाबेस|डाक्यूमेंट-उन्मुख डेटाबेस]] | ||
** मोंगोडीबी | ** मोंगोडीबी | ||
* सार सिंटेक्स नोटेशन वन ( | * सार सिंटेक्स नोटेशन वन (एएसएन.1) | ||
* वायरलेस बाइनरी | * वायरलेस बाइनरी एक्सएमएल (डब्ल्यूबीएक्सएमएल) | ||
* [[कुशल XML इंटरचेंज]] | * [[कुशल XML इंटरचेंज|कुशल एक्सएमएल इंटरचेंज]] | ||
==संदर्भ== | ==संदर्भ== | ||
{{Reflist}} | {{Reflist}} | ||
== बाहरी संबंध == | == बाहरी संबंध == | ||
* {{Official website|https://bsonspec.org/}} | * {{Official website|https://bsonspec.org/}} | ||
* [https://docs.mongodb.com/database-tools/bsondump/ {{mono|bsondump}} tool included with | * [https://docs.mongodb.com/database-tools/bsondump/ {{mono|bsondump}} tool included with मोंगोडीबी] | ||
[[Category:Created On 10/07/2023]] | [[Category:Created On 10/07/2023]] | ||
[[Category:JSON]] | |||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Official website not in Wikidata]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:डेटा क्रमांकन प्रारूप]] | |||
[[Category:दस्तावेज़-उन्मुख डेटाबेस]] |
Latest revision as of 13:12, 4 August 2023
Filename extension |
.बीएसओएन |
---|---|
Internet media type | application/bson [1] |
Type of format | डेटा इंटरचेंज |
Extended from | जेएसओएन |
Website | bsonspec |
बीएसओएन (/ˈbiːsən/[2]) कंप्यूटर डेटा इंटरचेंज प्रारूप है। बीएसओएन नाम जेएसओएन शब्द पर आधारित है और इसका कारण बाइनरी जेएसओएन है।[2] यह साहचर्य सरणियों (नाम-मूल्य जोड़े के रूप में भी जाना जाता है), पूर्णांक अनुक्रमित सरणियों और मौलिक स्केलर प्रकारों के सूट सहित सरल या जटिल डेटा संरचनाओं का प्रतिनिधित्व करने के लिए द्विआधारी रूप है। बीएसओएन की शुरुआत 2009 में मोंगोडीबी में हुई थी। कई स्केलर डेटा प्रकार मोंगोडीबी के लिए विशिष्ट रुचि के हैं और प्रारूप का उपयोग मोंगोडीबी डेटाबेस के लिए डेटा स्टोरेज और नेटवर्क ट्रांसफर प्रारूप दोनों के रूप में किया जाता है, किन्तु इसे मोंगोडीबी के बाहर स्वतंत्र रूप से उपयोग किया जा सकता है। कार्यान्वयन विभिन्न भाषाओं में उपलब्ध हैं जैसे सी (प्रोग्रामिंग भाषा), सी++, सी शार्प (प्रोग्रामिंग भाषा) या सी, डी (प्रोग्रामिंग भाषा), डेल्फ़ी (आईडीई), एरलांग (प्रोग्रामिंग भाषा), गो (प्रोग्रामिंग भाषा), हास्केल (प्रोग्रामिंग भाषा), जावा (प्रोग्रामिंग भाषा), जावास्क्रिप्ट, जूलिया (प्रोग्रामिंग भाषा), लुआ (प्रोग्रामिंग भाषा), ओकैमल, पर्ल, पीएचपी, पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), रस्ट (प्रोग्रामिंग भाषा), स्काला (प्रोग्रामिंग भाषा), स्मॉलटॉक, और स्विफ्ट (प्रोग्रामिंग भाषा) है।[3]
डेटा प्रकार और वाक्यविन्यास
बीएसओएन का प्रकाशित विनिर्देश है।[4][5] संरचना में सबसे ऊपरी तत्व बीएसओएन ऑब्जेक्ट प्रकार का होना चाहिए इसमें 1 या अधिक तत्व होते हैं, जहां तत्व में क्षेत्र नाम, प्रकार और मान होता है। क्षेत्र नाम स्ट्रिंग हैं. प्रकारों में सम्मिलित हैं:
डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप प्रारूप (64-बिट आईईईई 754 फ़्लोटिंग पॉइंट नंबर)
- दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप (128-बिट आईईईई 754-2008 फ़्लोटिंग पॉइंट नंबर; बाइनरी पूर्णांक दशमलव (बीआईडी) संस्करण), दशमलव-स्थान संवेदनशील वित्तीय डेटा और स्पष्टता के 34 दशमलव अंकों के साथ इच्छानुसार विधि से स्पष्ट संख्याओं के लिए वाहक के रूप में उपयुक्त, a अधिकतम मान लगभग 106145 का उपयोग किया जाता है
- समय क्षेत्र के बिना डेटाटाइम (यूनिक्स युग के बाद से मिलीसेकंड की लंबी पूर्णांक संख्या)
- बाइट सरणी (इच्छानुसार बाइनरी डेटा के लिए)
- बूलियन डेटाटाइप (
true
औरfalse
) - निरर्थक प्रकार
- बीएसओएन ऑब्जेक्ट
- बीएसओएन सरणी
- जावास्क्रिप्ट कोड
- एमडी5 बाइनरी डेटा
- नियमित अभिव्यक्ति (पर्ल संगत रेगुलर एक्सप्रेशन (पीसीआरई) संस्करण 8.41 यूटीएफ-8 समर्थन के साथ) [6]
जेएसओएन के लिए महत्वपूर्ण अंतर यह है कि बीएसओएन में ऐसे प्रकार होते हैं जो जेएसओएन में उपस्थित नहीं होते हैं (उदाहरण के लिए डेटाटाइम और बाइट सरणी) और सार्वभौमिक संख्या प्रकार के अतिरिक्त कई संख्यात्मक प्रकारों के लिए टाइप-स्ट्रिक्ट हैंडलिंग प्रदान करता है। उन स्थितियों के लिए जहां इन अतिरिक्त प्रकारों को पाठ्य विधि से प्रस्तुत करने की आवश्यकता होती है, मोंगोडीबी का विस्तारित जेएसओएन प्रारूप [7] उपयोग किया जा सकता है।
दक्षता
जेएसओएन की तुलना में, बीएसओएन को स्टोरेज स्पेस और स्कैन-स्पीड दोनों में कुशल होने के लिए डिज़ाइन किया गया है। बीएसओएन डाक्यूमेंट में बड़े तत्वों को स्कैनिंग की सुविधा के लिए लंबाई क्षेत्र के साथ उपसर्ग किया जाता है। कुछ स्थितियों में, लंबाई उपसर्गों और स्पष्ट सरणी सूचकांकों के कारण बीएसओएन जेएसओएन की तुलना में अधिक स्थान का उपयोग करता है।[2]
उदाहरण
एक डाक्यूमेंट जैसे {"hello": "world"}
को इस प्रकार संग्रहित किया जाता है:
\x16\x00\x00\x00 // total document size
\x02 // 0x02 = type String
hello\x00 // field name
\x06\x00\x00\x00world\x00 // field value (size of value, value, null terminator)
\x00 // 0x00 = type EOO ('end of object')
यह भी देखें
- डेटा क्रमांकन प्रारूपों की तुलना
- जेएसओएन
- सीबीओआर
- स्माइल (डेटा इंटरचेंज फॉर्मेट) (बाइनरी जेएसओएन)
- उबजसन
- प्रोटोकॉल बफ़र्स
- क्रिया संदेश प्रारूप
- अपाचे थ्रिफ्ट
- संदेशपैक
- डाक्यूमेंट-उन्मुख डेटाबेस
- मोंगोडीबी
- सार सिंटेक्स नोटेशन वन (एएसएन.1)
- वायरलेस बाइनरी एक्सएमएल (डब्ल्यूबीएक्सएमएल)
- कुशल एक्सएमएल इंटरचेंज
संदर्भ
- ↑ "BSON Support in ASP.NET Web API 2.1 - ASP.NET 4.x". Microsoft Docs. 2014-01-20. Retrieved 2010-01-12.
- ↑ 2.0 2.1 2.2 "बीएसओएन (बाइनरी जेएसओएन) क्रमांकन". Retrieved 23 November 2021.
- ↑ "बीएसओएन कार्यान्वयन परियोजनाएं". Retrieved 2021-11-24.
- ↑ "BSON (Binary JSON): Specification". bsonspec.org. Retrieved 2021-11-24.
- ↑ "Introducing NoSQL and MongoDB | What Is NoSQL? | InformIT". www.informit.com. Retrieved 2018-01-17.
- ↑ "regex – Tools for representing MongoDB regular expressions — PyMongo 3.6.0 documentation". api.mongodb.com. Retrieved 2018-01-17.
- ↑ "MongoDB विस्तारित JSON दस्तावेज़ीकरण". docs.mongodb.com. Retrieved 2020-05-03.