हर एनालिटिक्स प्रोजेक्ट आखिर में उस सिस्टम से टकराता है जो उससे पुराना है। कोई REST API नहीं है, वेंडर जवाब नहीं देता, और जो अकेला आदमी स्कीमा समझता है वह अगले साल रिटायर हो रहा है। फिर भी कुछ रास्ते काम करते हैं — और एक रास्ता बहुत लुभावना पर खराब है।
रीड रेप्लिका: सबसे पहले यही माँगें
डेटाबेस का रीड-ओनली रेप्लिका प्रोडक्शन लोड को छुए बिना साफ़ एक्सेस देता है। यह सबसे कम दखल वाला विकल्प है और आमतौर पर सबसे जल्दी मिल जाता है। कुछ भी ज़्यादा पेचीदा डिज़ाइन करने से पहले यही माँगें।
शेड्यूल्ड एक्सट्रैक्ट: बेरौनक पर भरोसेमंद
एक रात का जॉब जो CSV या Parquet को लैंडिंग एरिया में लिखता है, ज़्यादातर रिपोर्टिंग ज़रूरतें पूरी कर देता है। इसे समझना आसान है, दोबारा चलाना आसान है, और बाद में आने वाले के लिए समझना आसान है। अगर ज़रूरत एक दिन की लेटेंसी झेल सकती है, तो यहीं रुक जाइए।
चेंज डेटा कैप्चर: जब लेटेंसी मायने रखती है
ट्रांज़ैक्शन लॉग पढ़ने से पोलिंग के बिना लगभग रियल-टाइम बदलाव मिलते हैं। इसके लिए डेटाबेस स्तर पर सहयोग चाहिए और ऑपरेशनल जटिलता बढ़ती है, इसलिए इसे पसंद के आधार पर नहीं, असली लेटेंसी ज़रूरत के आधार पर चुना जाना चाहिए।
लुभावना खराब रास्ता: UI की स्क्रीन स्क्रैपिंग
डेमो में यह चलता है, और अगले पैच पर चुपचाप टूट जाता है, ऐसे कि किसी को तब तक पता नहीं चलता जब तक कोई रिपोर्ट गलत न निकल जाए। अगर सचमुच यही अकेला रास्ता है, तो इसे अस्थायी मानें, इस पर भारी अलार्म लगाएँ, और लिख लें कि इसे कब बदला जाएगा।
जो इंटीग्रेशन आपको यह नहीं बता सकता कि वह काम करना बंद कर चुका है, वह न होने से भी बुरा है, क्योंकि वह चुपचाप फेल होता है और फैसले चलते रहते हैं।
मान लीजिए डेटा स्कीमा से ज़्यादा गंदा होगा
- फ्री-टेक्स्ट फील्ड, जिन्हें स्ट्रक्चर्ड की तरह इस्तेमाल किया गया
- वे कोड जो सालों पहले बंद हो गए, पर हिस्ट्री में अब भी मौजूद हैं
- एक ही एंटिटी के लिए अलग-अलग रीजन में अलग-अलग कन्वेंशन
- "डिलीट" पंक्तियाँ जो असल में सिर्फ़ फ्लैग हैं, डिलीट नहीं
- तारीखें, जो मॉड्यूल के हिसाब से अलग-अलग लोकल फॉर्मैट में रखी हैं
रॉ लैंड कीजिए, ट्रांसफॉर्म बाद में
जो निकला है, उसकी एक बिना छेड़ी हुई कॉपी रखें। जब छह महीने बाद किसी नंबर पर सवाल उठे, तो यह साबित कर पाना कि सोर्स में असल में क्या था, स्टोरेज की लागत से कई गुना ज़्यादा कीमती है।
जब तक मुमकिन है, अनुभव का ज्ञान लिख लें
जिस व्यक्ति को पता है कि कॉलम 14 सिर्फ़ 2019 के बाद ही मान्य क्यों है, वह इस प्रोजेक्ट का सबसे अहम हिस्सा है। जो वह जानता है उसे काम के हिस्से के तौर पर लिखवाएँ, आखिर में "हो जाए तो अच्छा" की तरह नहीं।