Sunday 15 July 2012

Understanding MongoDB BSON Document size limit -


मोंगोडीबी से निश्चित गाइड:

4MB से बड़ा दस्तावेज़ (जब बीएसओएन में परिवर्तित किया गया) डेटाबेस में सहेजा नहीं जा सकता यह कुछ हद तक मनमाने सीमा है (और भविष्य में उठाया जा सकता है); यह ज्यादातर बुरे स्कीमा डिजाइन को रोकने के लिए और लगातार प्रदर्शन को सुनिश्चित करने के लिए है।

मुझे यह सीमा नहीं समझती, इसका मतलब यह है कि एक ब्लॉग पोस्ट जिसमें बहुत सारे टिप्पणियों वाले दस्तावेज हैं 4 एमबी से बड़ा होना एक दस्तावेज़ के रूप में संग्रहीत नहीं किया जा सकता है?

इसके साथ ही नेस्टेड दस्तावेजों को भी गिनती है?

क्या होगा अगर मैं एक दस्तावेज चाहता हूं जो एक मूल्य के परिवर्तनों की जांच करता है । (यह अंततः 4 एमबी सीमा से अधिक हो सकता है, हो सकता है।)

आशा है कि कोई व्यक्ति इसे सही ढंग से समझाता है।

मैंने अभी मोंगोडीबी (प्रथम नोड के डेटाबेस के बारे में सीख रहा हूँ) के बारे में पढ़ना शुरू कर दिया है।

धन्यवाद।

सबसे पहले, यह वास्तव में अगले में उठाया जा रहा है संस्करण को 8MB या 16MB ... लेकिन मैं इसे परिप्रेक्ष्य में रखने का सोचता हूं, एलियट से 10 जीन (जो मोंगोडीबी विकसित किया गया है) इसे सबसे अच्छा कहते हैं:

संपादित करें: आकार 16MB

में 'उठाया गया' है, इसलिए, आपके ब्लॉग उदाहरण पर, 4MB वास्तव में एक बहुत कुछ है .. उदाहरण के लिए, "दुनिया के युद्ध" का पूरा असंपैक्सा पाठ केवल 364k (html) है:

यदि आपके ब्लॉग पोस्ट में उस टिप्पणी के साथ बहुत समय है, तो मैं एक के लिए इसे पढ़ने के लिए नहीं जा रहा हूँ:)

ट्रैकबैक के लिए, यदि आप उन्हें 1 एमबी समर्पित करते हैं, तो आप आसानी से 10k से अधिक हो सकते हैं (शायद 20k के करीब)

वाई विचित्र स्थितियों, यह महान काम करेंगे और अपवाद के मामले या स्पैम में, मुझे नहीं लगता कि आप 20 एमबी ऑब्जेक्ट को वैसे भी चाहते हैं। मुझे लगता है कि ट्रैकबैक को 15k के रूप में कैप करना या ऐसा बहुत अधिक मायने रखता है, चाहे कोई भी प्रदर्शन के लिए न हो। या कम से कम विशेष आवरण अगर ऐसा कभी होता है।

-एलिओट

मुझे लगता है कि आप सीमा तक पहुंचने के लिए बहुत मुश्किल दबाएंगे ... और समय के साथ, यदि आप अपग्रेड करते हैं ... आपको कम और कम चिंता करना होगा।

सीमा का मुख्य बिंदु इतनी है कि आप अपने सर्वर पर सभी रैम का उपयोग न करें ( जैसा कि आपको दस्तावेज़ के सभी MB s को लोड करने की आवश्यकता होती है, जब आप इसे क्वेरी करते हैं।)

इसलिए सीमा सामान्य उपयोग के कुछ% आम प्रणाली पर रैम ... जो वर्ष पर वर्ष बढ़ते रहेंगे।

MongoDB में संग्रहित फाइलों पर ध्यान दें

यदि आपको दस्तावेज़ों को संग्रहित करने की आवश्यकता है ( या फ़ाइलें) 16MB से अधिक का उपयोग कर सकते हैं जो स्वचालित रूप से डेटा को खंडों में विभाजित कर देगा और उन्हें आपको वापस स्ट्रीम कर देगा (इस प्रकार आकार की सीमा / रैम के साथ समस्या से बचने।)

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

ग्रिडफ़िक्स फ़ाइलों को संग्रहीत करने के लिए दो संग्रह का उपयोग करता है एक संकलन फ़ाइल खंडों को संग्रहीत करता है, और अन्य स्टोर्स मेटाडेटा फ़ाइल करता है।

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


No comments:

Post a Comment