2009-03-20 14 views
5

मैंने हाल ही में 'लोड डेटा' का उपयोग करके डीबी में पंक्तियों को भरने के लिए अपने कुछ कोड को दोबारा प्रतिक्रिया दी है और यह बहुत अच्छा काम करता है - हालांकि प्रत्येक रिकॉर्ड के लिए मुझे 2 फाइलों को एस 3 में अपलोड करना होगा - यह पूरी तरह से शानदार गति अपग्रेड को नष्ट कर देता है। प्राप्त कर रहा था जबकि मैं इन दस्तावेजों के 600+/सेकेंड को संसाधित करने में सक्षम था, अब वे एस 3 की वजह से 1/सेकंड में उलझ रहे हैं।मैं एस 3 पर थोक अपलोड कैसे करूं?

इसके लिए आपके कामकाज क्या हैं? एपीआई को देखते हुए मैं देखता हूं कि यह ज्यादातर रीस्टफुल है इसलिए मुझे यकीन नहीं है कि क्या करना है - शायद मुझे यह सब डेटाबेस में चिपका देना चाहिए। पाठ फ़ाइलें आमतौर पर 1.5k से अधिक नहीं होती हैं। (हम जिस दूसरी फाइल में सामान रखते हैं वह पाठ का एक एक्सएमएल प्रतिनिधित्व है)

मैं इन फ़ाइलों को पहले से ही अपने वेब सर्वर पर HTTP अनुरोधों में कैश करता हूं क्योंकि उनका काफी उपयोग होता है।

बीटीडब्ल्यू: हमारा वर्तमान कार्यान्वयन जावा का उपयोग करता है; मैंने अभी तक धागे की कोशिश नहीं की है लेकिन यह एक विकल्प हो सकता है

सिफारिशें?

उत्तर

6

आप कई फ़ाइलों को एक साथ अपलोड करने के लिए JetS3t के [putObjects] [1] फ़ंक्शन का उपयोग कर सकते हैं।

वैकल्पिक रूप से आप एक कतार से S3 पर अपलोड करने के लिए एक पृष्ठभूमि धागा इस्तेमाल कर सकते हैं, और कहा कि डेटाबेस में डेटा लोड करता है अपने कोड से कतार में फ़ाइलें जोड़ें।

[1]: http://jets3t.s3.amazonaws.com/api/org/jets3t/service/multithread/S3ServiceMulti.html#putObjects(org.jets3t.service.model.S3Bucket, org.jets3t.service.model.S3Object [])

+0

thnx एक बहुत - मैं यह सोच कर कि S3 के एपीआई अंत होगा की पहली बजाय कि API के माध्यम से कंघी होना चाहिए सब सब हो; मुझे ठीक इसी की आवश्यकता थी – eyberg