हमारे पास 200,000,000 पंक्तियों के साथ फ्लैट फ़ाइलें (सीएसवी) है, जिसे हम 23 आयाम तालिकाओं के साथ एक स्टार स्कीमा में आयात करते हैं। सबसे बड़ी आयाम तालिका में 3 मिलियन पंक्तियां हैं। फिलहाल हम एक ही कंप्यूटर पर आयात प्रक्रिया चलाते हैं और इसमें लगभग 15 घंटे लगते हैं। चूंकि यह बहुत लंबा समय है, हम आयात करने के लिए 40 कंप्यूटर जैसे कुछ उपयोग करना चाहते हैं।डेटा आयात करने के लिए 10+ कंप्यूटरों का कुशलतापूर्वक उपयोग कैसे करें
मेरा प्रश्न
हम कैसे कुशलतापूर्वक आयात करने के लिए 40 कंप्यूटर का उपयोग कर सकते हैं। मुख्य चिंता यह है कि सभी नोड्स में आयाम तालिकाओं को दोहराने में काफी समय लगेगा क्योंकि उन्हें सभी नोड्स पर समान होने की आवश्यकता है। इसका मतलब यह हो सकता है कि यदि हमने भविष्य में आयात करने के लिए 1000 सर्वर का उपयोग किया है, तो यह व्यापक नेटवर्क संचार और सर्वर के बीच समन्वय के कारण, वास्तव में एक का उपयोग करने से धीमा हो सकता है।
क्या किसी के पास सुझाव है?
संपादित करें:
निम्नलिखित CSV फ़ाइलों का सरलीकरण है:
"avalue";"anothervalue"
"bvalue";"evenanothervalue"
"avalue";"evenanothervalue"
"avalue";"evenanothervalue"
"bvalue";"evenanothervalue"
"avalue";"anothervalue"
आयात करने के बाद, टेबल इस तरह दिखेगा:
dimension_table1
id name
1 "avalue"
2 "bvalue"
आयाम_टेबल 2
id name
1 "anothervalue"
2 "evenanothervalue"
तथ्य तालिका
dimension_table1_ID dimension_table2_ID
1 1
2 2
1 2
1 2
2 2
1 1
यदि आप समस्या को छोटे उपप्रोबम्स में कम नहीं कर सकते हैं, तो आप अतिरिक्त मशीनों से लाभ नहीं उठा सकते हैं, क्योंकि उन्हें सभी को एक ही समस्या को हल करने की आवश्यकता है। आपने मेरे 23 डी मैपिंग (या इसके लिए अग्रणी डेटा) की प्रकृति पर पर्याप्त जानकारी प्रदान नहीं की है, ताकि आप मुझे इसके अलावा कोई पॉइंटर्स दे सकें। – jmz
ऑफ-विषय के रूप में चिह्नित –
बाइट्स में सीवीएस का आकार क्या है? – ern0