मेरा लक्ष्य ड्रुपल 7 का उपयोग करके कई बहुत बड़े फ्लैट-फाइल डेटा स्रोतों ( सीएसवी एस, फिक्स्ड चौड़ाई और एक्सएमएल डॉक्स) में निहित रीड-ओनली डेटा तक पहुंचने के लिए एक तेज, विश्वसनीय और स्वचालित विधि का उत्पादन करना है जो कि दृश्य 3 का उपयोग करने के खिलाफ समझा जा सकता है। मापांक। मैं पहले से उपलब्ध मॉड्यूल का उपयोग करना पसंद करूंगा, लेकिन कस्टम मॉड्यूल का निर्माण भी एक विकल्प है।
कार्य के लिए अनुकूल मॉड्यूल और विधियों को नियमबद्ध करने में मदद करने के लिए, यहां उन फाइलों पर आंकड़े दिए गए हैं जिनके साथ मैं काम कर रहा हूं:
- वार्षिक आयात: 8,500,000 लाइन सीएसवी फ़ाइल। (पुरस्कृत और पुनः लोड किया गया। प्राथमिक कुंजी है।)
- साप्ताहिक आयात: 350,000 लाइन निश्चित चौड़ाई की फ़ाइल। (Purged और reloaded साप्ताहिक। कोई प्राथमिक कुंजी नहीं ।)
- प्रति घंटा आयात: 3,400 लाइन सीएसवी फ़ाइल। (जितनी बार संभव हो अपडेट और सिंक करना चाहते हैं, लेकिन हर 20 मिनट से अधिक नहीं। प्राथमिक कुंजी है)
- दैनिक आयात: 200 आइटम XML फ़ाइल। (प्रतिदिन शुद्ध और पुनः लोड किया गया। प्राथमिक कुंजी है)
तीन प्रारूपों के बीच परिवर्तित करना कोई समस्या नहीं है और यह किया जा सकता है अगर यह आयात प्रदर्शन में सुधार करेगा या बेहतर उपकरण उपलब्ध कराने की अनुमति देगा। ( एडब्ल्यूके के लिए फिक्स्ड चौड़ाई के लिए AWK ,) क्रोन और श स्क्रिप्ट के माध्यम से पुनर्प्राप्ति और रूपांतरण स्वचालन आसान है , लेकिन अभी भी ड्रुपल 7 एकीकरण को स्वचालित करने की आवश्यकता है। कस्टम तालिकाओं का उपयोग तब भी संभव है जब तक कि वीजे रिश्तों का उपयोग करके डेटा को संदर्भित कर सकते हैं।
Drupal 7 के साथ इस प्रकार के डेटा एकीकरण को पूरा करने के लिए सबसे अच्छा अभ्यास क्या होगा? इसके अलावा, क्या मैं डेटा के संबंध में कोई महत्वपूर्ण विवरण छोड़ रहा हूं या क्या मैं पूरा करने की कोशिश कर रहा हूं?
यहां कुछ परियोजनाएं हैं जो मैं वर्तमान में एक समाधान खोजने के लिए देख रहा हूं। मैं इस पर विस्तार करना चाहूंगा कि दूसरों को यह निर्णय लेने में मदद मिले कि बड़े डेटा आयात के साथ काम करते समय कौन सा मार्ग लेना है।
नोड्स में डेटा आयात करना:
- फ़ीड्स (वर्तमान में D7 के लिए अल्फा)
फ़ीड डेटा को मज़बूती से आयात करेगा। गति छोटे डेटा स्रोतों के लिए उचित है, लेकिन 300k + तालिकाओं के लिए बहुत धीमी है।
क्रोन और जॉब शेड्यूलर (वर्तमान में डी 7 के लिए अल्फा) का उपयोग करके स्वचालन उपलब्ध है ।
स्रोत डेटा में एक इंडेक्स या अद्वितीय कुंजी उपलब्ध नहीं होने से इसका उपयोग करना मुश्किल हो रहा है। यह फ़ीड की तुलना में तेज़ है, लेकिन अभी भी बहुत बड़ी तालिकाओं को आयात करने के लिए धीमा है।
स्वचालन ड्रश और क्रोन के माध्यम से उपलब्ध है।
नोड्स के बजाय कस्टम टेबल्स
- डेटा मॉड्यूल (वर्तमान में D7 के लिए अल्फा)
डाटा मॉड्यूल बहुत वादा किया है, लेकिन इस समय D7 के लिए बहुत त्रुटिपूर्ण है। स्वचालन और आयात गति आवश्यकताओं को आसानी से डेटा का उपयोग करके पूरा किया जाएगा, लेकिन विश्वसनीयता की कमी है। विचारों एकीकरण (लिंक D6 के लिए है) बहुत आशाजनक लगता है।
- टेबल विजार्ड (D7 के लिए उपलब्ध नहीं)
इसे संदर्भ के लिए जोड़ा गया। इस बिंदु पर कोई D7 उम्मीदवार नहीं है, लेकिन एक कस्टम मॉड्यूल के लिए शुरुआती बिंदु के रूप में काम कर सकता है।
- दृश्य स्कीमा (परित्यक्त, D6 केवल)
इसे संदर्भ के लिए जोड़ा गया। ऐसा लगता है कि ड्रुपल में टेबल विजार्ड द्वारा अवशोषित कर लिया गया है 6. फिर से, केवल संदर्भ के लिए जोड़ा गया।
- आयातक (D2 के लिए RC2)
व्यू इंटीग्रेशन के लिए टेबल विजार्ड (केवल D6) की आवश्यकता होती है । संदर्भ के लिए जोड़ा गया, लेकिन दृश्य आवश्यकता को पूरा नहीं करता है।
@MPD - संभव समाधान और विस्तारित मॉड्यूल के रूप में "कस्टम टेबल्स" जोड़ा गया। इस जोड़ के लिए धन्यवाद।