ठीक है बदल गया है, इसलिए कहानी इस तरह है:का पता लगाने जब डेटा
- मैं फ़ाइलों के बहुत सारे (बहुत बड़ी, 25GB के आसपास) है कि एक विशेष प्रारूप में हैं हो रहा है और एक डेटासंग्रह में आयात किया जा करने की जरूरत है
- इन फ़ाइलों को लगातार डेटा, कभी कभी नए, कभी कभी एक ही डेटा
साथ अपडेट किया जाता है - मैं मैं कैसे पता लगा सकता है अगर कुछ एक में एक विशेष लाइन के लिए बदल गया है पर एक एल्गोरिथ्म यह पता लगाने की कोशिश कर रहा हूँ फ़ाइल, डेटाबेस
अद्यतन करने में व्यतीत समय को कम करने के लिए- जिस तरह से यह वर्तमान में काम करता है वह यह है कि मैं प्रत्येक बार डेटाबेस में सभी डेटा छोड़ रहा हूं और फिर इसे पुनः आयात कर रहा हूं, लेकिन यह अब काम नहीं करेगा क्योंकि जब कोई आइटम बदल गया है तो मुझे टाइमस्टैम्प की आवश्यकता होगी।
- फ़ाइलें हैं तार और संख्या (शीर्षक, आदेश, कीमतों आदि)
केवल समाधान मैं के बारे में सोच सकता है:
- डेटाबेस से प्रत्येक पंक्ति के लिए एक हैश की गणना, कि यह फ़ाइल से पंक्ति के हैश के खिलाफ तुलना की जाती है और यदि वे अलग हैं डेटाबेस
- फ़ाइलों की 2 प्रतियां, पिछले और वर्तमान वाले को रखें और उस पर भिन्नताएं बनाएं (जो शायद डीबी अद्यतन करने से तेज़ हैं) और उन पर आधारित डीबी अद्यतन।
चूंकि डेटा की मात्रा बहुत बड़ी है, इसलिए अब मैं विकल्पों में से एक हूं। लंबे समय तक, मैं फ़ाइलों से छुटकारा पाउंगा और डेटा सीधे डेटाबेस में धकेल दिया जाएगा, लेकिन समस्या अभी भी बनी हुई है।
कोई सलाह, सराहना की जाएगी।
यदि आप पूरे डेटाबेस के हैश की गणना करने के लिए कह रहे हैं तो पूरे डेटाबेस के हैश जो मेरी मदद नहीं करेंगे। लेकिन यदि आप डेटाबेस में हैश प्रति पंक्ति को स्टोर करने के लिए कह रहे हैं, तो, यह एक समाधान है जिसे मैंने सोचा था। मैं सिर्फ यह सोच रहा हूं कि तत्व के साथ तत्व की तुलना करके यह आंकड़ा बदल गया है कि डेटा बदल गया है या नहीं। – hyperboreean
+1 अंतिम संशोधित दिनांक और समय को स्टोर करने का सुझाव देने के लिए –
मेरे पास उस फ़ाइल में कोई टाइमस्टैम्प नहीं है। – hyperboreean