यह इस बात पर निर्भर करता है कि जब आप "डेटा प्रकार" कहते हैं तो आपका क्या मतलब है। PostgreSQL जैसे कुछ डेटाबेस में एक JSON डेटा प्रकार होता है जो डेटा तक पहुंचने के लिए पूर्ण पाठ खोज, एक बाइनरी स्टोरेज मैकेनिज़्म, इंडेक्सिंग और ऑपरेटरों के पूर्ण सूट की अनुमति देता है। मारिया के पास अभी तक ऐसा नहीं है। डेटा प्रकार विशेष रूप से MDEV-9144 द्वारा ट्रैक किया जा रहा है ।
हालांकि, एक बग अनुरक्षक से MySQL के लिए एक बहुत ही सीमित प्रकार लाता है ,
JSON डेटा प्रकार सीधे SQL मानक का विरोध करता है, जो कहता है, कि JSON_ * फ़ंक्शन एक तर्क के रूप में एक स्ट्रिंग लेता है। इसके अलावा, स्पीड-वार
मारबीडीबी को द्विआधारी JSON की आवश्यकता नहीं है, हमारे बेंचमार्क के अनुसार, हमारे JSON पार्सर बाइनरी JSON पर MySQL के रूप में टेक्स्ट JSON पर तेज़ है। यही कारण है कि MariaDB में JSON के लिए VARCHAR या TEXT हो सकता है। यदि एक सत्यापन की आवश्यकता होती है, तो कोई इसे CHECK बाधा के साथ कर सकता है:
my_json_column TEXT CHECK (JSON_VALID(my_json_column))
हम MySQL संगतता के लिए JSON "प्रकार" जोड़ेंगे, यद्यपि।
मेरे पढ़ने से, कि बाइनरी JSON की बात बिल्कुल नहीं है चलो MySQL डॉक्स को देखें
बाइनरी प्रारूप को संरचित किया जाता है ताकि सर्वर को दस्तावेज़ में पहले या बाद में सभी मानों को पढ़े बिना कुंजी या सरणी इंडेक्स द्वारा सीधे सब -जेक्ट्स या नेस्टेड मानों को देखने में सक्षम किया जा सके।
फिर, PostgreSQL केjsonb
करता है एक बहुत है कि अधिक से अधिक।
jsonb डेटा को एक विघटित बाइनरी प्रारूप में संग्रहीत किया जाता है, जो अतिरिक्त रूपांतरण ओवरहेड के कारण इनपुट के लिए थोड़ा धीमा बनाता है, लेकिन प्रक्रिया में तेजी से होता है, क्योंकि किसी भी रिपार्सिंग की आवश्यकता नहीं होती है। jsonb इंडेक्सिंग का भी समर्थन करता है, जो एक महत्वपूर्ण लाभ हो सकता है।
tldr; मारिया DB के पास अभी तक JSON प्रकार नहीं है। यहां तक कि जब यह "प्रकार" हो जाता है, तो यह केवल पाठ-सत्यापन (जैसे PostgreSQL के json
प्रकार) पर एक पतली आवरण है । द्विआधारी JSON प्रकार (जैसे PostgreSQL jsonb
) के लिए कोई योजना नहीं है क्योंकि डेवलपर्स को प्रतीत होता है कि फायदे समझ में नहीं आते हैं।