मैं एक छोटा रिपोर्टिंग टूल (साइक्लाइट बैकएंड के साथ) विकसित करने की कोशिश कर रहा हूं। मैं इस उपकरण को "लेन-देन" खाता बही के रूप में सबसे अच्छा वर्णन कर सकता हूं। मैं जो करने की कोशिश कर रहा हूं वह साप्ताहिक डेटा निकालने से "लेनदेन" का ट्रैक रखने के लिए है:
- "नया" (या जोड़ें) - संसाधन मेरे ऐप के लिए नया है क्योंकि मेरे ऐप ने इस संसाधन को ट्रैक नहीं किया होगा क्योंकि इसे अर्क के रूप में नहीं देखा गया है।
- "अपडेट" (या हिट) - उस संसाधन का एक हालिया उपयोग है, एक और सप्ताह तक अवधारण अवधि अपडेट करें।
- "हटाएं" (या ड्रॉप) - इस आइटम ने अंतिम रिपोर्ट के बाद से कोई उपयोग नहीं देखा (वैकल्पिक, लेकिन संसाधनों की मांग में सप्ताह-दर-सप्ताह परिवर्तन रेखांकन के लिए अच्छा होगा)।
मेरे पास सभी एक साप्ताहिक डेटा निकालने (पाइप-सीमांकित फ्लैट फ़ाइल) है जो एक विरासत संग्रह / रिकॉर्ड-प्रबंधन प्रणाली से आ रहा है जिसका मेरे पास कोई नियंत्रण नहीं है।
प्रत्येक पंक्ति को मूल रूप से आसुत किया जा सकता है:
resource_id | resource info | customer_id | customer_info
नमूना डेटा:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
लक्ष्य उन संसाधनों पर रिपोर्ट करना आसान बनाता है जिन्होंने एक्स-महीनों (अंतिम हिट के आधार पर) के लिए उपयोग नहीं देखा है। एक प्रतिधारण अवधि होती है, जहां संसाधन लोकप्रिय होने पर आसानी के लिए इधर-उधर रखे जाते हैं। एक संसाधन जो 18 महीनों तक उपयोग नहीं करता है, वह दीर्घकालिक अभिलेखीय कहीं और के लिए चिह्नित है।
यह एक आम समस्या होनी चाहिए। आश्चर्य होता है कि डेटा सेट्स के बीच क्या नया / समान / हटाया गया है यह निर्धारित करने के लिए एक सामान्य-उद्देश्य एल्गोरिथ्म है (db बनाम नवीनतम एक्सट्रैक्ट)?