2011-07-26 12 views
5

हमारे पास बहुत सारे डेटा हैं, उन्होंने मोंगोडब का उपयोग करने का निर्णय लिया और यह बहुत अच्छा काम करता है।क्या यह लाल और मोंगोड दोनों का उपयोग करने के लिए समझ में आता है?

हमने अपने वास्तविक समय ऐप में सक्रिय उपयोगकर्ताओं को ट्रैक करने के लिए रेडिस का उपयोग शुरू किया। हमने रेडिस के साथ कुछ पब/सब चैनल सामान भी शुरू कर दिया।

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

एक चीज जिसे हम देख रहे हैं वह क्रैश पर रेडिस का संरक्षण है। सिस्टम पर उपयोगकर्ता गतिविधि सार्थक डेटा है कि हम क्रैश पर हारना नहीं चाहते हैं, और यदि हम इस तथ्य के बाद केवल डेटा लॉगिंग कर रहे हैं, तो क्या हमें हर घटना के बाद मोंगो में महत्वपूर्ण डेटा का बैक अप सहेजना चाहिए? फिर क्रैश रेडिस पर मोंगो से बहाल कर सकते हैं?

क्या उन चीजों के बारे में जाने का बेहतर तरीका है जिन्हें हम प्राप्त करने की कोशिश कर रहे हैं?

धन्यवाद!

+0

क्या मोंगो डीबी के पास उनके डेटास्टोर के सामने एक कैशिंग सिस्टम नहीं है जिसमें उच्च पढ़ा/लिखना है?आपको रेडिस की आवश्यकता क्यों है? –

+0

यह उन चीजों का प्रकार है जिन्हें हम समझने की उम्मीद कर रहे हैं और कुछ गहराई से जानकारी प्राप्त कर रहे हैं। हम डेटा स्टोर्स दोनों के लिए नए हैं और कुछ जवाबों की उम्मीद करते हैं कि इंस और आउट को समझाते हुए हमें क्या करना चाहिए और क्यों। – fancy

उत्तर

6

ठीक है, इसलिए इस सवाल पर हमला करने के लिए कई कोण हैं। इंगित करने वाली पहली बात यह है कि रेडिस में user-configurable persistence है। सिस्टम पर

उपयोगकर्ता गतिविधि सार्थक डेटा है कि हम दुर्घटना पर खोना नहीं चाहता होगा है, और अगर हम केवल इस तथ्य के बाद डेटा प्रवेश कर रहे हैं, हम एक वापस महत्वपूर्ण डेटा के ऊपर मोंगो में हर घटना के बाद सहेज लेना चाहिए, ?

निष्पक्ष होने के लिए, मोंगोडीबी के साथ डिफ़ॉल्ट सेटअप हर 60 सेकंड में डिस्क पर फ्लश करना है। तो आपके पास अभी भी डेटा हानि की 60 सेकंड विंडो है।

  1. आप journaling का उपयोग कर सकते हैं और उस विंडो को 100ms तक छोड़ सकते हैं, लेकिन यह आईओ को अधिक भारी कर देगा।
  2. आप अपने लेखकों को उस पत्रिका को फ्लश करने के लिए भी कॉन्फ़िगर कर सकते हैं (WriteConcern: fsync), लेकिन यह धीमा होने जा रहा है।

बातें हम प्राप्त करने के लिए कोशिश कर रहे हैं के बारे में जाने के लिए बेहतर तरीका देखते हैं है?

वास्तव में आप जो हासिल करने की कोशिश कर रहे हैं उस पर निर्भर करता है।

  • आप किस प्रकार का डेटा नुकसान संभाल सकते हैं?
  • Redis has replication, क्या आप इसका उपयोग कर रहे हैं? क्या यह आपके अधिकांश डेटा हानि चिंताओं को हल करता है?
  • आप कहते हैं कि आप PubSub सुविधाओं का उपयोग कर रहे हैं, यह कवर कितने नोड्स करता है? क्या आपका डेटा पर्याप्त रूप से इसके परिणामस्वरूप दोहराया गया है?

किसी भी तरह से, यह कुछ जटिल समस्या है। MongoDB आपकी समस्याओं का समाधान कर सकता है, लेकिन प्रतिकृति उन समस्याओं को भी हल कर सकती है। आपके आराम स्तर पर निर्भर करता है।

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

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