के लिए मैं एक परियोजना है कि लोग इन एकत्रीकरण और विश्लेषण एक बड़ा परियोजना के हिस्से के रूप में करता है पर काम कर रहा हूँ। मुझे नहीं पता कि इन लॉगों को संभालने के लिए कौन सा डेटाबेस चुनना है। हाल ही में मैं मोंगोडीबी और कैसंद्रा के बीच आगे जा रहा हूं, लेकिन मुझे यकीन है कि ऐसे कुछ भी हैं जो मेरी जरूरतों को पूरा करते हैं। मुझे कौन सा चुनना चाहिए और क्यों?MongoDB बनाम कैसेंड्रा, योग खोज और विश्लेषण करने के कई लॉग
पूरी बात शुरुआत अभी से काफी है, लेकिन यहाँ अब तक आवश्यकताएँ हैं:
- लॉग syslog प्रारूप
- प्रश्नों एक छोटे स्ट्रिंग पर हैं संदेश में है कि में हैं , लेकिन मैं इसे एक अलग क्षेत्र में प्राप्त करूंगा। और तिथि, गंभीरता या टैग के आधार पर फ़िल्टर भी होंगे। बहुत ही कम, लोग सिर्फ संदेश के भीतर एक यादृच्छिक स्ट्रिंग की तलाश करेंगे।
- लॉग प्रविष्टियों में से कुछ से प्रति घंटा एनालिटिक्स
- समय के एक कॉन्फ़िगर की
- अधिक आ जाएगा के लिए लॉग रखते हैं, मुझे यकीन है :) यही कारण है कि मैं सोच रहा हूँ NoSQL अधिक उपयुक्त है है हूँ, क्योंकि हम कर सकते हैं स्कीमा बदलें।
हम कुछ टीबी डेटा (और ~ 50K प्रति सेकंड प्रति सेकंड) में डेटाबेस विकसित करने की उम्मीद कर रहे हैं, इसलिए शेरिंग एक जरूरी है। प्रश्न अक्सर नहीं होते हैं, क्योंकि वे मुख्य रूप से बड़े प्रोजेक्ट के डेवलपर्स द्वारा उपयोग किए जाते हैं। लेकिन परिणाम कुछ सेकंड में वापस करने की जरूरत है।
अभी, सभी मशीनों के लिए भंडारण सामान्य (और धीमी) है। sharding समझ बनाने के लिए के लिए आदेश में - तो scalability के लिए, मैं हम स्मृति और बहु सूत्रण का सबसे अच्छा उपयोग करने की जरूरत है लगता है।
बुनियादी विचारों मुझे मिल गया अब तक कि MongoDB ऐसे regex या परिणाम छँटाई के रूप में और अधिक सुविधाओं, है, और यह एक सभ्य विन्यास के लिए आसान सेटअप है, जबकि कैसेंड्रा को और अधिक विश्वसनीय लगता है (बस जोड़ने सर्वर द्वारा), और यह भी एक है कुछ साफ सुविधाएँ, डेटा पर एक टीटीएल रखने जैसा।
मैं Elasticsearch का उपयोग कर समाप्त हो गया है -
मैं एक साथ MongoDB और कैसेंड्रा यहाँ के बीच मतभेद का एक उच्च स्तरीय सिंहावलोकन डाल दिया है। कुछ और जानकारी के लिए यहां एक नज़र डालें: [लिंक] (http://www.elasticsearch.org/tutorials/2012/05/19/elasticsearch-for-logging.html) –