- प्रत्येक चैनल के लिए सूची अद्यतन प्रबंधित करने के लिए पंक्तियां।
यह आवश्यक रूप से डेटाबेस समस्या नहीं है। आप से बेहतर (उदा। RabbitMQ)
- इन्वेंटरी तालिका जो प्रत्येक चैनल पर आवंटन की सही स्नैपशॉट है होना एक संदेश प्रणाली को देख सकता है।
- कैश में सत्र आईडी और अन्य तेज़ पहुंच डेटा रखना।
सत्र डेटा शायद और अधिक (, आदि जैसे memcached, redis) कार्य के लिए उपयुक्त एक अलग डेटाबेस में रखा जाना चाहिए कोई एक आकार फिट सभी डीबी
है
- विक्रेता को अद्यतन एप को रखने के लिए डैशबोर्ड (एक्सएमपीपी) जैसे फेसबुक प्रदान करना।
मेरी बाधाएं हैं: 1. सूची अद्यतन खो नहीं जा सकते हैं।
यह सुविधा आपके आवेदन के द्वारा प्रदान किया जाना चाहिए:
इस सवाल का जवाब देने 3 तरीके हैं। डेटाबेस गारंटी दे सकता है कि एक खराब रिकॉर्ड खारिज कर दिया गया है और वापस लुढ़का है, लेकिन गारंटी नहीं है कि प्रत्येक क्वेरी दर्ज की जाएगी। ऐप को यह समझने के लिए पर्याप्त स्मार्ट होना होगा कि कोई त्रुटि कब होती है और पुनः प्रयास करें।
कुछ डीबी स्टोर मेमोरी में रिकॉर्ड करते हैं और फिर मेमोरी को डिस्क पर फ्लश करते हैं, इससे बिजली की विफलता के मामले में डेटा हानि हो सकती है। (जैसे मोंगो जब तक आप जर्नलिंग सक्षम डिफ़ॉल्ट रूप से इस तरह से काम करता है। CouchDB हमेशा रिकॉर्ड (यहां तक कि एक हटाना एक झंडा रिकॉर्ड के साथ जोड़ दिया तो डेटा हानि बेहद मुश्किल है है) करने के लिए संलग्न कर देता है)
कुछ डीबीएस अत्यंत होने के लिए तैयार कर रहे हैं भरोसेमंद, यहां तक कि भूकंप, तूफान या अन्य प्राकृतिक आपदाओं पर हमला करते हैं, वे टिकाऊ रहते हैं। इनमें कैसंद्रा, हबेस, रीक, हाडोप, आदि शामिल हैं
किस प्रकार की स्थायित्व आप का जिक्र कर रहे हैं?
- नौकरी कतार क्रम में निष्पादित किया जाना चाहिए और अच्छा होगा यदि कभी नहीं खो दिया है।
अधिकांश नोएसक्यूएल समाधान समानांतर में चलना पसंद करते हैं। तो आपके पास यहां दो विकल्प हैं। 1. उपयोग एक डीबी कि प्रत्येक क्वेरी के लिए पूरे तालिका ताले (धीमा) 2. निर्माण अपने अनुप्रयोग होशियार या evented (क्लाइंट साइड अनुक्रमिक कतार) होने के लिए
- आसान/फास्ट विकास और भविष्य के रखरखाव।
आम तौर पर, आप पाएंगे कि एसक्यूएल पहली बार में तेजी से विकसित करने के लिए है, लेकिन परिवर्तन NoSQL थोड़ा और योजना बनाने की आवश्यकता हो सकती है लागू करने के लिए कठिन हो सकता है, लेकिन तदर्थ प्रश्न या स्कीमा परिवर्तन करना आसान है।
सवाल आप शायद अपने आप से पूछना करने की जरूरत है और अधिक की तरह:
"मैं तीव्र प्रश्नों या गहरे विश्लेषण है कि एक नक्शा/कम की आवश्यकता होगी बेहतर के लिए अनुकूल है?"
"मैं अपने परिवर्तन मेरी स्कीमा अक्सर?
करने की आवश्यकता होगी" मेरे डेटा अत्यधिक रिलेशनल है? किस तरह से? "
" "
" मैं इस तरह के भू-स्थानिक अनुक्रमण, पूर्ण पाठ खोज के रूप में विशेष सुविधा की आवश्यकता होगी करता है मेरी पीछे विक्रेता चुना डीबी मेरी मदद करने के लिए जब मैं इसे जरूरत के लिए पर्याप्त अनुभव है?, आदि? "
" रीयलटाइम के करीब मुझे अपने डेटा की आवश्यकता होगी? अगर मुझे 1sec बाद तक मेरे प्रश्नों में नवीनतम रिकॉर्ड दिखाई नहीं दे रहे हैं तो क्या इससे चोट लगी है? विलंबता का स्तर क्या स्वीकार्य है? "
" क्या मैं वास्तव में करने के मामले में की आवश्यकता है असफल ओवर "
" मेरे डेटा कितना बड़ा है? क्या यह स्मृति में फिट होगा? क्या यह एक कंप्यूटर पर फिट होगा? क्या प्रत्येक व्यक्तिगत रिकॉर्ड बड़ा या छोटा है?
"मेरा डेटा कितनी बार बदल जाएगा? क्या यह एक संग्रह है?"
आप एक से अधिक ग्राहकों के लिए जा रहे हैं (चैनलों?) अपने स्वयं के सूची स्कीमा के साथ प्रत्येक, एक दस्तावेज के आधार डीबी यह लाभ हो सकता है। मुझे याद है कि एक बार मैंने सूची के साथ एक ईकॉमर्स सिस्टम देखा और इसकी लगभग 235 टेबल थीं! फिर, यदि आपके पास कुछ संबंधपरक डेटा है, तो SQL समाधान में वास्तव में कुछ फायदे भी हो सकते हैं।
मैं निश्चित रूप से देख सकता हूं कि मैं दिए गए बाधाओं के साथ मोंगो, सोफे, दंगा या ओरिएंटब का उपयोग करके समाधान कैसे बना सकता हूं। लेकिन किसके लिए सबसे अच्छा है? मैं सीधे डीबी विक्रेताओं से बात करने की कोशिश करता हूं, और शायद nosql टेप
देखता हूं कि मैं अभी क्या इच्छुक हूं (रिलेशनल + नोस्कल) लेकिन सीमा कहां रखना है?क्या मैं अपने कुछ रिलेशनल बिजनेस लॉजिक को नोएसक्यूएल डोमेन में माइग्रेट कर सकता हूं ताकि स्केलेबिलिटी इनबिल्ट हो? मैं विकास मोड में हूं इसलिए परिवर्तन कुछ ऐसा है जिसे मैं स्वीकार कर सकता हूं। – gladiator
रुको - क्या आप स्केलेबिलिटी के लिए NoSQL को आजमा रहे हैं? इसका उपयोग करने का गलत कारण है! आप दोनों SQL और NoSQL स्केल कर सकते हैं। SQL को NoSQL में माइग्रेट करना बहुत कठिन है। रिवर्स आसान है। – Ariel
यह तकनीक नहीं है, यह विशेषताएं हैं: यदि आप विशाल तालिकाओं पर जटिल जुड़ने की कोशिश कर रहे हैं, तो यह पर्याप्त तेज़ नहीं होगा। इस काम को करने के लिए कोई चांदी की गोली नहीं है। – mnemosyn