PHP

2012-02-23 24 views
5

के माध्यम से भेजे गए ईमेल को ट्रैक करने और संग्रहीत करने के आंकड़ों के लिए कौन से डेटाबेस का उपयोग करना चाहिए प्रश्न में दो पक्ष हैं।PHP

  1. हम सार्वजनिक डाउनलोड के लिए बहुत सारी स्थिर फाइलें होस्ट करते हैं। पीडीएफ, ज़िप, छवियां, लोग हर दिन हजारों डाउनलोड करते हैं। हम अपने MySQL डेटाबेस में काउंटर ट्रैक करते हैं, जिसमें मोंगोडीबी में विवरण ट्रैक किए जा रहे हैं (विवरण जहां से आया था और कब)।

  2. हम PHP के माध्यम से बहुत सारे ईमेल भेजते हैं। हमारा आवेदन हर महीने सैकड़ों हजारों ईमेल भेजता है, जिनमें से कई समाचार पत्र, अधिसूचनाएं और परियोजनाओं के लिए निमंत्रण हैं। ये भेजे गए ईमेल को अपने महत्वपूर्ण डेटा धारावाहिक के साथ बाहर MySQL डेटाबेस में सहेजे जाते हैं (कभी शरीर या वास्तविक ईमेल सामग्री, बस हेडर, प्राप्तकर्ता, आदि भेजने का समय)

MySQL इस के लिए एक ठीक पसंद है? क्या मोंगो है? क्या हमें कुछ और इस्तेमाल करना चाहिए? अभी हमारे ईमेल संग्रह तालिका और डाउनलोड आंकड़े तालिका दोनों तेजी से 2 जीबी के करीब आ रहे हैं।

नोट: हमारे द्वारा संग्रहीत डेटा नियमित रूप से एक्सेस किया जाता है, इसलिए इसे स्टोर करने और इसके बारे में भूलने के लिए कुछ सवाल है। हम डाउनलोड आंकड़ों का उपयोग सामग्री के लेखकों को सूचित करने के लिए करते हैं कि उनकी डाउनलोड गिनती एक्स तक पहुंच गई है, और हम डिलीवरी स्थिति आदि की जांच के लिए ईमेल संग्रह का उपयोग करते हैं और इसे नियमित रूप से ट्रैक करने वाले हमारे कर्मचारियों को प्रदर्शित करते हैं। (हम वितरण मेट्रिक्स के लिए सेंड्रिड का उपयोग करते हैं)

+0

+1 आम तौर पर मैं यह बंद करने के लिए वोट दूंगा कि कौन सा तकनीक बेहतर प्रश्न है लेकिन आप स्पष्ट परिभाषित समस्या के साथ आए हैं। उम्मीद है कि आपको जवाब मिलेंगे। – cspray

+0

धन्यवाद, मैं अस्पष्टता और व्यक्तिपरकता से बचने के लिए सावधान था, यह मेरे लिए बहुत महत्वपूर्ण है और मुझे नहीं पता कि यह और कैसे पूछना है। – Swader

उत्तर

1

मुझे लगता है कि MySQL आपके उद्देश्य को अच्छी तरह से सेवा दे सकता है। यह आपके लॉग को ट्रैक करने के लिए वेब के लिए अधिक लचीला है, आप mysql ARCHIVE डीबी इंजन का उपयोग कर सकते हैं। MySQL के पास विभिन्न उद्देश्यों के लिए कुछ अलग डीबी इंजन है। मुझे लगता है कि संग्रह आपकी संरचना के लिए सबसे अच्छा फिट होगा।

हाल ही में मैं 60 जीबी का एक MySQL डेटाबेस प्रबंधित करता हूं। यह उच्च स्केल्ड डेटाबेस था और प्रदर्शन अच्छा है।

+0

मैंने इसे सबसे अच्छा जवाब चुना क्योंकि मुझे इसे सभी डेटाबेस में रखने में सक्षम होना पसंद है - पुरालेख इंजन इस उद्देश्य को अच्छी तरह से सेवा देता है। धन्यवाद। यदि मेरे पास कोई अन्य निष्कर्ष है, तो मैं वापस पोस्ट करूंगा, लेकिन अभी के लिए, यह करेगा। सुनना आपके पास 60 जीबी बहुत प्रेरक है, जो हमें एक अच्छा समय तक चलाना चाहिए। – Swader

1

मेरे दो सेंट:

इस अफवाह है कि MySQL तालिका में पंक्तियों की संख्या के साथ बहुत अच्छी तरह से स्केल नहीं करता है चारों ओर जा रहा है, और उस postgres बड़े तालिकाओं बहुत बेहतर है, प्रदर्शन के मामले में प्रबंधन करता है। मैं निश्चित रूप से विशाल तालिकाओं वाले अनुप्रयोग के लिए पोस्टग्रेस का उपयोग करना पसंद करूंगा। (हालांकि this article कहता है कि आप जो भी सिस्टम चुनते हैं, उसे परिभाषित और उपयोग करते हैं।)

यदि आप साहसी महसूस कर रहे हैं और कुछ और आधुनिक और वितरित करना चाहते हैं, तो शायद हडूप और हाइव में देखें एक ही समय में बड़ी फ़ाइल भंडारण की समस्या का समाधान भी हो सकता है, लेकिन आपको कुछ नई चीजें सीखने की आवश्यकता है।

+0

धन्यवाद, लेकिन मुझे नहीं लगता कि लेख इन समय बहुत अधिक लागू है। यह 6 साल का है, और तब से MySQL और Postgre दोनों में काफी वृद्धि हुई है। हमारे पास दस लाख से अधिक रिकॉर्ड वाले दो टेबल हैं, और वे अच्छी तरह से संभालते हैं, लेकिन वे ईमेल संग्रह की तुलना में प्रति फ़ील्ड बहुत कम डेटा स्टोर करते हैं - आकार में यह वृद्धि मुझे चिंता करती है – Swader

1

मैं मोंगोडीबी टुकड़े से थोड़ा सा बात करूंगा। मुझे लगता है कि आप डेटा को तेज़ी से और संभवतः डेटा तक पहुंचने के लिए मोंगोडीबी स्टोर का उपयोग कर रहे हैं, जिसे आप आग और भूल सकते हैं, लेकिन आपकी रिपोर्ट चलाने के दौरान अच्छा लगा। एक मोंगोडीबी इंस्टेंस को तेजी से चलने की कुंजी (प्रभावी, कुशल इंडेक्स और उचित प्रश्नों के अलावा) यह सुनिश्चित करना है कि आपका कामकाजी डेटा सेट रैम में फिट हो।

प्रदर्शन के संदर्भ में कुल डेटा आकार एक समस्या से कम है, यह बिना किसी समस्या के आपके कामकाजी सेट का आकार कई बार हो सकता है। अपने निवासी स्मृति आकार पर नजर रखें (एमएमएस आपका मित्र है) और यदि आप अपने हार्डवेयर की ऊपरी सीमाओं की ओर बढ़ना शुरू करते हैं तो दाढ़ी के लिए तैयार रहें।

2 जीबी वास्तव में मोंगो डेटा सेट के लिए बड़ा नहीं है, या यहां तक ​​कि एक कार्यरत डेटा सेट के लिए भी बड़ा नहीं है। मैंने बहु-टेराबाइट रेंज में चल रहे डेटा आकारों को देखा है। आपके द्वारा प्रदान की गई जानकारी के आधार पर मुझे लगता है कि आपकी मोंगोडीबी पसंद निकट भविष्य के लिए ठीक है।

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