यह आपके उपयोग के मामले पर निर्भर करता है। एप्लिकेशन परत पर इसे संभालना एक आम बात है। मूल रूप से आप जो करते हैं वह एक डीबी के कार्यों को दूसरे में दोहराने के लिए होता है। तो उदाहरण के लिए यदि आप पोस्टग्रेज में एक प्रविष्टि सहेजते हैं तो आप लोचदार खोज में भी ऐसा ही करते हैं।
यदि आप ऐसा करते हैं तो फिर भी आपके पास एक कतार प्रणाली होनी चाहिए। या तो कतार आपके आवेदन परत पर एकीकृत है, उदा। यदि इलास्टिक्स खोज में सेव विफल हो जाता है तो आप ऑपरेशन को फिर से चला सकते हैं। इसके अलावा आपके कतार प्रणाली पर आप इलास्टिक्स खोज को प्रभावित न करने के लिए एक थ्रॉटलिंग तंत्र लागू करेंगे। एक अन्य तरीका यह होगा कि घटनाओं को किसी अन्य ऐप (जैसे लॉगस्टैश आदि) पर भेजा जाए, इसलिए थ्रॉटलिंग और दृढ़ता को उस सिस्टम द्वारा नियंत्रित किया जाएगा, न कि आपके एप्लिकेशन द्वारा।
दूसरा तरीका यह होगा https://www.elastic.co/blog/ लॉगस्टैश-jdbc-इनपुट-प्लगइन . आप एक अन्य प्रणाली का उपयोग करते हैं जो आपके डेटाबेस को "मतदान" करती है और परिवर्तनों को लोचदार खोज में भेजती है। इस मामले में लॉगस्टैश आदर्श है क्योंकि यह ईएलके स्टैक का हिस्सा है और इसका एक अच्छा एकीकरण है। इसे भी देखें https://www.elastic। co/guide/hi/logstash/current/plugins-inputs-jdbc.html
दूसरा तरीका है NOTIFY का इस्तेमाल करना घटनाओं को कुछ कतार में भेजने के लिए पोस्टग्रेज का तंत्र जो इलास्टिक्स खोज में परिवर्तनों को सहेजने का काम करेगा।