अपने 10k टेक्स्ट डेटा को स्टोर करने के तरीके हैं, लेकिन यह स्वीकार्य होगा कि आपको स्टोर करने की आवश्यकता है और आप इसका उपयोग करने की योजना कैसे बना सकते हैं।
यदि आपको मनमाने ढंग से बड़े डेटा (विशेष रूप से बाइनरी डेटा) को स्टोर करने की आवश्यकता है तो S3 फ़ाइल सूचक आकर्षक हो सकता है। इस परिदृश्य में SimpleDB जो मान जोड़ता है वह वह है जिसे आप SimpleDB में संग्रहीत फ़ाइल मेटाडेटा के विरुद्ध क्वेरी चलाने की क्षमता रखते हैं।
10k तक सीमित टेक्स्ट डेटा के लिए मैं इसे सरल डीबी में सीधे संग्रहीत करने की अनुशंसा करता हूं। यह आसानी से एक ही आइटम में फिट होगा लेकिन आपको इसे कई विशेषताओं में फैलाना होगा। कुछ ड्रॉ बैक के साथ इसे करने के लिए मूल रूप से दो तरीके हैं।
एक तरीका अधिक लचीला और खोज अनुकूल है लेकिन आपको अपने डेटा को छूने की आवश्यकता है। आप अपने डेटा को लगभग 1000 बाइट्स के हिस्सों में विभाजित करते हैं और आप प्रत्येक खंड को बहु-मूल्यवान विशेषता में एक विशेषता मान के रूप में संग्रहीत करते हैं। बहु-मूल्यवान विशेषताओं पर कोई आदेश नहीं लगाया गया है, इसलिए आपको प्रत्येक क्रम को ऑर्डर करने के लिए एक संख्या के साथ प्रीपेड करना होगा (उदाहरण के लिए 01)
तथ्य यह है कि आपके पास एक विशेषता में संग्रहीत सभी पाठ एक प्रश्न के साथ प्रश्नों को आसान बनाता है भविष्यवाणी में विशेषता का नाम। आप प्रत्येक आइटम में 1k से 200 + के लिए कहीं भी एक अलग आकार टेक्स्ट जोड़ सकते हैं और इसे उचित तरीके से संभाला जाता है। लेकिन आपको यह पता होना चाहिए कि आपकी प्रीपेन्ड लाइन संख्याएं आपके प्रश्नों के लिए सकारात्मक हो सकती हैं (उदाहरण के लिए यदि आप 01
खोज रहे हैं तो प्रत्येक आइटम उस क्वेरी से मेल खाएगा)।
SimpleDB के भीतर पाठ को संग्रहीत करने का दूसरा तरीका आपको अपने टेक्स्ट भागों में मनमाने ढंग से ऑर्डर करने की आवश्यकता नहीं है। आप एक अलग नामित विशेषता में प्रत्येक पाठ खंड डालकर ऑर्डर करते हैं। उदाहरण के लिए आप विशेषता नामों का उपयोग कर सकते हैं: desc01
desc02
... desc10
। फिर आप उचित विशेषता में प्रत्येक खंड डालते हैं। आप अभी भी दोनों विधियों के साथ पूर्ण पाठ खोज कर सकते हैं लेकिन खोज इस विधि के साथ धीमी हो जाएंगी क्योंकि आपको कई भविष्यवाणियों को निर्दिष्ट करने की आवश्यकता होगी और सरल डीबी प्रत्येक विशेषता के लिए एक अलग इंडेक्स के माध्यम से खोज समाप्त कर देगा।
इस प्रकार के काम को हैक के आसपास सोचना आसान हो सकता है क्योंकि डेटाबेस के साथ हम डेटाबेस के भीतर हमारे लिए इस प्रकार के निम्न स्तर के विवरण को संभालने के लिए उपयोग किए जाते हैं। SimpleDB विशेष रूप से डेटाबेस की श्रेणी और क्लाइंट में इस श्रेणी की चीज़ को प्रथम श्रेणी सुविधा के रूप में उपलब्धता प्रदान करने के साधन के रूप में धक्का देने के लिए डिज़ाइन किया गया है।
यदि आपको पता चला कि एक रिलेशनल डेटाबेस आपके टेक्स्ट को 1k भाग में विभाजित करने के लिए डिस्क पर स्टोर करने के लिए एक कार्यान्वयन विस्तार के रूप में विभाजित कर रहा था, तो यह एक हैक जैसा प्रतीत नहीं होता है। समस्या यह है कि SimpleDB क्लाइंट की वर्तमान स्थिति ऐसी है कि आपको इस प्रकार के डेटा स्वरूपण को स्वयं लागू करना होगा। यह एक प्रकार का चीज है जो आदर्श रूप से आपके स्मार्ट क्लाइंट में संभाला जाएगा।अभी तक कोई स्मार्ट क्लाइंट मुफ्त में उपलब्ध नहीं हैं।
डेटा पुनर्प्राप्त करने के लिए आपको क्या आवश्यकताएं हैं? क्या आपको इसे खोजना है, इसे खेतों से अलग करना है, इत्यादि? – Mark
मुझे बस टेक्स्ट डेटा प्रदर्शित करने की आवश्यकता है। मैं इस डेटा को टैग करने की योजना बना रहा हूं ताकि उपयोगकर्ता के लिए 1024 बाइट से अधिक टेक्स्ट के खिलाफ पूछताछ की जा सके और प्रदर्शित किया जा सके। मुझे लगता है कि मेरे पास शहर/राज्य/विवरण जानकारी होगी और कोई शहर और राज्य के खिलाफ पूछताछ करेगा और मैं उपयोगकर्ता को विवरण प्रदर्शित करूंगा। –
यह सरल डीबी के लिए एक महान उपयोग की तरह लगता है। जब आप आइटम को स्टोर करते हैं, तो टेक्स्ट को विभाजित करने के लिए आपको केवल एक दिनचर्या जोड़ने की आवश्यकता होती है, और दूसरा इसे अपने चयन परिणामों से एक साथ रखने के लिए। "डोमेन 2001 से चुनें जहां शहर =? अंतरण स्थिति =?" – Mocky