मैं केवल कुछ बिंदुओं पर ध्यान देना चाहता हूं:
कोड जेनरेटर का उपयोग करें आपके पास सभी तालिकाओं को ट्रैक करने के लिए एक एकल प्रक्रिया नहीं हो सकती है, आपको प्रत्येक ट्रैक की गई तालिका पर समान लेकिन अलग-अलग ट्रिगर उत्पन्न करने की आवश्यकता होगी। इस तरह की नौकरी स्वचालित कोड पीढ़ी के लिए सबसे उपयुक्त है। आपके स्थान पर मैं एक्सएमएल से कोड जेनरेट करने के लिए एक्सएसएलटी ट्रांसफॉर्मेशन का उपयोग करूंगा, और एक्सएमएल मेटाडेटा से स्वचालित रूप से जेनरेट किया जा सकता है। यह आपको हर बार ऑडिट तर्क/संरचना में परिवर्तन करने या लक्ष्य तालिका को जोड़ने/बदलने पर उन्हें पुन:उत्पन्न करके उन्हें आसानी से बनाए रखने की अनुमति देता है।
क्षमता नियोजन पर विचार करें लेखापरीक्षा के लिए। एक ऑडिट तालिका जो सभी मूल्य परिवर्तनों को ट्रैक करती है, अब तक, डेटाबेस में सबसे बड़ी तालिका होगी:इसमें सभी वर्तमान डेटा और वर्तमान डेटा का पूरा इतिहास होगा। ऐसी तालिका डेटाबेस आकार को परिमाण के 2-3 आदेशों (x10, x100) से बढ़ाएगी। और ऑडिट टेबल जल्दी ही हर चीज की अड़चन बन जाएगी:
- प्रत्येक डीएमएल ऑपरेशन के लिए ऑडिट टेबल में लॉक की आवश्यकता होगी
- ऑडिट के कारण सभी प्रशासनिक और रखरखाव कार्यों को डेटाबेस के आकार को समायोजित करना होगा
स्कीमा परिवर्तन . को ध्यान में रखें . 'फू' नाम की एक टेबल को गिराया जा सकता है और बाद में 'फू' नाम की एक अलग टेबल बनाई जा सकती है। ऑडिट ट्रेल को दो अलग-अलग वस्तुओं में अंतर करने में सक्षम होना चाहिए। धीमी गति से बदलते आयाम दृष्टिकोण का बेहतर उपयोग करें।
कुशलतापूर्वक हटाने की आवश्यकता पर विचार करें लेखा परीक्षा रिकॉर्ड। जब आपकी एप्लिकेशन विषय नीतियों द्वारा निर्धारित अवधारण अवधि देय हो, तो आपको देय ऑडिट रिकॉर्ड को हटाने में सक्षम होना चाहिए। यह अब इतनी बड़ी बात नहीं लग सकती है, लेकिन 5 साल बाद जब पहला रिकॉर्ड होने वाला है तो ऑडिट टेबल बढ़कर 9.5TB हो गई है, यह एक समस्या हो सकती है।
ऑडिट को क्वेरी करने . की आवश्यकता पर विचार करें . लेखापरीक्षा पर प्रश्नों का कुशलतापूर्वक उत्तर देने के लिए लेखापरीक्षा तालिका संरचना तैयार की जानी चाहिए। यदि आपका ऑडिट नहीं किया जा सकता है तो इसका कोई मूल्य नहीं है। प्रश्न पूरी तरह से आपकी आवश्यकताओं से संचालित होंगे और केवल आप ही उन्हें जानते हैं, लेकिन अधिकांश ऑडिट रिकॉर्ड समय अंतराल के लिए पूछे जाते हैं ('कल शाम 7 बजे से 8 बजे के बीच क्या परिवर्तन हुए?'), वस्तु द्वारा ('इस रिकॉर्ड में क्या परिवर्तन हुए इसमें तालिका?') या लेखक द्वारा ('बॉब ने डेटाबेस में क्या परिवर्तन किए?')।