PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

जेसन या जेसनबी या टेक्स्ट चुनने के लिए कौन सा डेटा प्रकार

मान लें कि आप वास्तविक, सख्त JSON के बारे में बात कर रहे हैं (बिना उद्धरण वाली कुंजियों के बिना)...

json text . से बहुत अलग नहीं है . यह JSON को सत्यापित करने . के अलावा बहुत कुछ नहीं करता है ।

jsonb इन दोनों की तुलना में एक अलग जानवर है:यह अपने स्वयं के आंतरिक प्रारूप के साथ एक पूर्ण डेटा संरचना है जिसमें खोजों में बहुत अधिक संचालन उपलब्ध हैं। उदाहरण के लिए json कोई लागू नहीं है = (समानता ऑपरेटर)। jsonb है। (text है भी, भले ही यह शब्दार्थ रूप से भिन्न है।)

यह अनुक्रमणिका के लिए अधिक समझदार है, लेकिन इसे पढ़ने और लिखने के दौरान आगे और पीछे बदलना पड़ता है।

यह देखते हुए, jsonb यहाँ एक ध्वनि विकल्प की तरह नहीं लग रहा है।

... इसलिए केवल एक ही निर्णय करना बाकी है:

क्या आप यह सुनिश्चित करना चाहते हैं कि आपके डेटाबेस में आपके कॉलम में केवल मान्य JSON मान हैं? डेटाबेस स्तर पर? या क्या आप उस डेटाबेस के प्रत्येक क्लाइंट पर भरोसा करते हैं (सर्वर ऐप्स, आमतौर पर) केवल वैध डेटा की आपूर्ति करने के लिए?

json किसी भी तरह से अपेक्षाकृत सुरक्षित विकल्प है। text का उपयोग करना सत्यापन के अभाव के कारण सैद्धांतिक रूप से एक नगण्य अंतर से प्रदर्शन में सुधार हो सकता है, लेकिन आपको बेंचमार्किंग द्वारा केवल विशिष्ट संख्याएँ प्राप्त होंगी। लेकिन इसमें गैर-JSON मूल्यों के विरुद्ध सुरक्षा नहीं होगी, और क्लाइंट में एक आकस्मिक बग किसी का ध्यान नहीं जा सकता है। जिम्मेदारी से परीक्षण करें!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Psycopg2 . का उपयोग करते समय कुछ सौ सेकंड के बाद क्वेरी के दौरान पोस्टग्रेज कनेक्शन बंद कर देता है

  2. PostgreSQL json_array_elements FROM क्लॉज में - यह कार्टेशियन जॉइन क्यों नहीं है?

  3. Django 1.8 निरीक्षणडीबी कमांड प्रलेखन के अनुसार PostgreSQL विचारों को नहीं देखता है

  4. डॉकटर कंपोज़ में पोस्टग्रेज कंटेनर सर्वर पोर्ट को बदलना

  5. मैं जावा में PostgreSQL में XML दस्तावेज़ कैसे सम्मिलित कर सकता हूँ?