ओरेकल के database change notification feature पंक्ति प्रविष्टियों, अपडेट और हटाए गए पर पंक्तियों (भौतिक पंक्ति पते) भेजता है। जैसा कि ऑरैक के दस्तावेज़ीकरण में दर्शाया गया है, इस सुविधा का उपयोग मध्य स्तरीय कैश बनाने के लिए किया जा सकता है। लेकिन ऐसा लगता है कि जब हमारे पास पंक्ति आईडी काम करता है, तो विस्तृत विवरण प्राप्त होता है।ओरेकल डेटाबेस बदलें अधिसूचना और ROWID के
ROWID (भौतिक पंक्ति पते) बदल सकते हैं जब विभिन्न डेटाबेस संचालन this stackoverflow thread द्वारा संकेत के अनुसार किया जाता है। इसके अलावा, इस thread क्लस्टर टेबल में टॉम का उल्लेख समान पंक्तियां हो सकता है।
उपर्युक्त शोध के आधार पर, यह डेटाबेस परिवर्तन अधिसूचना के दौरान भेजे गए पंक्ति को उपयोग करने के लिए सुरक्षित नहीं लगता है क्योंकि अनुप्रयोग कैश में कुंजी सही है? यह भी एक सवाल उठाता है - क्या डेटाबेस परिवर्तन अधिसूचना सुविधा का उपयोग अनुप्रयोग सर्वर कैश बनाने के लिए किया जाना चाहिए? या कैश किए गए ऑब्जेक्ट्स की टेबलों को किसी भी ऑपरेशन से गुजरने के दौरान सभी अनुप्रयोग सर्वर क्लस्टर (फिर से लोड/रीफ्रेश करने के लिए) को पुनरारंभ करने के लिए एक अनुशंसा की जाती है जिसके परिणामस्वरूप पंक्ति में परिवर्तन होता है? क्या यह उत्पादन वातावरण के लिए एक अच्छी धारणा बन जाएगी?
आप व्यवसाय संस्थाओं/डोमेन विशेषताओं पर भरोसा क्यों नहीं करते? – zerkms
मैंने आपकी सिफारिश पूरी तरह से समझ नहीं ली। डेटाबेस परिवर्तन अधिसूचना के साथ, ऑरैकल केवल डाली गई/अपडेट की गई पंक्तियों के लिए पंक्तियां भेजता है। इसे उस तालिका में कोई अन्य कॉलम जानकारी प्रदान करने के लिए कॉन्फ़िगर नहीं किया जा सकता है। –
हां, और आप अपने डेटा एक्सेस लेयर पर कैशिंग लेयर क्यों नहीं बनाते हैं, जो व्यापार डेटा पर भरोसा करते हैं, भंडारण से संबंधित नहीं। क्या आपको लगता है कि आप ऑरैकल से बेहतर डेटा कैश कर सकते हैं? – zerkms