2017-05-09 8 views
5

मैं कुछ ऐप बना रहा हूं जहां इसका हिस्सा बहुत अधिक संरचित और बदलता डेटा होगा जो मैं जेएसओएन के रूप में डंप करना चाहता हूं। एक प्राथमिक डीबी के रूप में मैं PostgreSQL का उपयोग कर रहा हूँ। मैंने JSON फ़ील्ड प्रकार का कभी भी उपयोग नहीं किया है, लेकिन पहले मोंगोडीबी का उपयोग किया है। मुझे किसी भी फैंसी की ज़रूरत नहीं है, 99% समय यह जेएसओएन के कुछ क्षेत्रों द्वारा डेटा संग्रह और पूछताछ करेगा और यह एक पैमाने का है कि PostgreSQL का एक उदाहरण संभाल सकता है, महाकाव्य नहीं।PostgreSQL JSON फ़ील्ड प्रकार बनाम MongoDB

मेरा सवाल है, PostgreSQL JSON फ़ील्ड MongoDB का उपयोग करने के लिए तुलनीय है? क्या इस के लिए PosgresSQL चुनने से पहले मुझे कोई सीमा या ठोकरें ब्लॉक करनी चाहिए? बोनस सवाल: वहाँ देख सकते हैं और हाथ से कि JSON फ़ील्ड संपादित की तरह मैं यह कर सकते हैं जब MongoDB के लिए स्टूडियो 3T एप्लिकेशन का उपयोग करने का एक आसान तरीका है (मैं जानता हूँ कि PostgreSQL डीबी क्षुधा किसी कारण के लिए सबसे बड़ा नहीं हैं ..)

उत्तर

1

? आपके जेसन डेटा के लिए पोस्टग्रेस का उपयोग करके आपको कोई समस्या नहीं होगी। Postgres में जेसन और सरणी कार्यों में उपयोग करने में कुछ समय लगता है, लेकिन वे बहुत अच्छे हैं और आपकी अधिकांश ज़रूरतों को पूरा करेंगे। पोस्टग्रेस में जेसन समर्थन परिपक्व और भयानक है।

हालांकि, जेसन फ़ील्ड में डेटा संग्रहीत करने से पहले कड़ी मेहनत करने का प्रयास करें। यह एक आसान तरीका है, लेकिन यदि आपका डेटा वास्तव में संबंधपरक है तो यह वापस आ सकता है और आपको काट सकता है। अच्छे पुराने सामान्य रूप आज भी सच हैं।

मैंने कुछ परियोजनाओं में मोंगोडीबी का उपयोग किया है और मुझे संदेह है कि मैं इसे फिर से उपयोग करूंगा। मुझे लगता है कि वास्तविक दुनिया के उपयोग के मामले वास्तव में संबंधपरक हैं। पोस्टग्रेस ने जेसन के लिए महान समर्थन के साथ संबंधपरक और दस्तावेजों के बीच एक पूर्ण संतुलन (मेरे विचार में) मारा है।

यदि आप सिर्फ जेसन डेटा के "ब्लॉब" को स्टोर करना चाहते हैं तो आप जेसन डेटाटाइप का उपयोग कर सकते हैं। लेकिन अगर आपको पता है कि आपको ऑब्जेक्ट्स में हेरफेर करना होगा या उनसे मूल्यों को फेंकना होगा, तो आपको jsonb का उपयोग करना चाहिए। जेसनबी आपके जेसन डेटा की वैधता भी जांचेंगे। मुझे यह भी लगता है कि जेसनबी सूचकांक के लिए अधिक कुशल है।

पोस्टग्रेस कार्यों में इनपुट पैरामीटर के रूप में जेसन डेटाटाइप या जेसन की सरणी का उपयोग शानदार आईएमओ है। मुझे अक्सर अपने एपीआई सर्वर से जेसन मिलता है जिसे डेटा को रिलेशनल के रूप में स्टोर करने की आवश्यकता होती है, जब छोटे peaces में तोड़ने की जरूरत होती है। पोस्टग्रेस में यह आसानी से किया जाता है। मैं इसे कभी-कभी अन्य तरीकों से भी उपयोग करता हूं, यानी पोस्टग्रेस फ़ंक्शन रिलेशनशिप डेटा को संकलित करता है और इसे आउटपुट के लिए आरईएसटी फ्रेंडली जेसन ऑब्जेक्ट्स में अच्छी तरह से पैकेज करता है। इस तरह से मैं इस तथ्य को छुपा सकता हूं कि मैं वास्तव में डेटा को सामान्यीकृत डेटाबेस में संग्रहीत करता हूं।

संबंधित मुद्दे