osFoundry / Platform
Change-data capture
किसी भी ऐप डेटाबेस से हर पंक्ति बदलाव स्ट्रीम करें। CDC को एजेंट्स, चैनल्स या webhooks में वायर करें।
यह क्या है
osFoundry में change data capture (CDC) आपकी किसी ऐप के पीछे मौजूद डेटाबेस को एक लाइव इवेंट स्ट्रीम में बदल देता है। किसी शेड्यूल पर टेबल को बार-बार पोल करके नतीजों का अंतर निकालने के बजाय, CDC सीधे डेटाबेस पर नज़र रखता है और हर insert, update या delete होने वाली रो के लिए एक इवेंट भेजता है, जिसमें बदली हुई रो का डेटा भी साथ जुड़ा होता है। इनमें से हर बदलाव इवेंट कुछ ऐसा बन जाता है जिस पर आपके बाकी वर्कस्पेस उसी क्षण कार्रवाई कर सकते हैं जब वह होता है, न कि मिनटों या घंटों बाद जब अगला sync चला होता।
CDC का असली मतलब इसमें है कि ये इवेंट कहाँ जाते हैं। osFoundry में किसी ऐप का डेटाबेस एक बंद साइलो नहीं है: आप उसके रो बदलावों को तीन गंतव्यों से जोड़ते हैं। आप इन्हें एजेंट को दे सकते हैं, ताकि किसी रिकॉर्ड में बदलाव किसी के ध्यान में आने का इंतज़ार किए बिना ही रीज़निंग या कोई कार्रवाई शुरू कर दे। आप इन्हें चैनल में भेज सकते हैं, ताकि एडिट की धारा एक लाइव गतिविधि के रूप में दिखे जिसे आपका चैट, नॉलेज बेस और दूसरी ऐप सभी पढ़ सकें। और आप इन्हें वेबहुक पर फॉरवर्ड कर सकते हैं, ताकि हर बदलाव आते ही कोई बाहरी सिस्टम उसे प्राप्त कर ले। एक डेटाबेस, बाहर निकलने के तीन रास्ते, और ये सभी टेबल पर पहुँचने वाले असली राइट से चलते हैं, न कि किसी ऐसी कॉपी से जो बनते ही पुरानी पड़ जाती है।
यह इसलिए मायने रखता है क्योंकि osFoundry bring-your-own-key और local-first है। CDC आपके अपने क्रेडेंशियल से आपकी अपनी ऐप के डेटा पर प्रतिक्रिया देता है, आपके और इवेंट के बीच कोई रीसेलर नहीं बैठता, और बदलाव की स्ट्रीम उसी वर्कस्पेस के भीतर रहती है जिसे आप नियंत्रित करते हैं। नतीजा यह कि जिन आँकड़ों पर एजेंट रीज़निंग करते हैं और जो इवेंट आगे के सिस्टम पाते हैं, वे उसी क्षण के असली राइट होते हैं जब वे होते हैं, न कि कोई समय-समय पर होने वाला एक्सपोर्ट जिसे रिफ्रेश करना आपको याद रखना पड़े। यह "डेटा बदला" और "किसी ने उस पर प्रतिक्रिया दी" के बीच की खाई को पाट देता है।
मुख्य क्षमताएँ
- किसी ऐप डेटाबेस के हर insert, update और delete के लिए एक इवेंट भेजता है, और हर इवेंट के साथ बदली हुई रो का डेटा जोड़ता है
- रो बदलावों को आते ही स्ट्रीम करता है, न कि किसी शेड्यूल पर टेबल पोल करके स्नैपशॉट का अंतर निकालता है
- बदलावों को एजेंट से जोड़ता है ताकि किसी रो का एडिट लगभग रियल टाइम में रीज़निंग या कार्रवाई शुरू कर सके
- बदलावों को चैनल में भेजता है ताकि चैट, नॉलेज और दूसरी ऐप लाइव गतिविधि पढ़ सकें, या बाहरी सिस्टम के लिए इन्हें आउटबाउंड वेबहुक पर फॉरवर्ड करता है
- अपनी चाबियों से अपनी ऐप के डेटा पर प्रतिक्रिया दें: आपके और बदलाव की स्ट्रीम के बीच कोई रीसेलर नहीं, और स्ट्रीम आपके नियंत्रित वर्कस्पेस में रहती है
उपयोग के मामले
- प्रोडक्ट इंजीनियर: किसी ऐप की orders टेबल के insert को वेबहुक में स्ट्रीम करें ताकि ऑर्डर लिखते ही कोई बाहरी fulfillment सिस्टम प्रतिक्रिया दे, और बनाए रखने के लिए कोई पोलिंग लूप न हो
- ऑप्स लीड: किसी status टेबल के अपडेट को चैनल में भेजें ताकि टीम और उस चैनल को देख रहे एजेंट, किसी पुराने डैशबोर्ड के बजाय स्टेट बदलावों को लाइव गतिविधि के रूप में देखें
- ऑटोमेशन बिल्डर: किसी records टेबल के delete और एडिट को एजेंट से जोड़ें ताकि वह किसी तय टाइमर के बजाय रो बदलते ही आगे के डेटा को फिर से जाँचे
सामान्य प्रश्न
change data capture क्या है और यह शेड्यूल्ड sync से कैसे अलग है?
change data capture एक डेटाबेस पर नज़र रखता है और हर insert, update या delete होने वाली रो के लिए उसी क्षण एक इवेंट भेजता है। इसके उलट एक शेड्यूल्ड sync हर कुछ मिनट में पूरे स्रोत को दोबारा पढ़कर अंतर निकालता है, इसलिए वह बीच के बदलाव चूक जाता है और हमेशा अंतराल भर पीछे रहता है। osFoundry का CDC असली राइट पर उसी तरह प्रतिक्रिया देता है जैसे वे आते हैं, इसलिए न कोई पोलिंग लूप है और न बदलाव व प्रतिक्रिया के बीच पुरानेपन की कोई खिड़की।
मैं रो बदलावों को कहाँ भेज सकता हूँ?
तीन गंतव्य। आप बदलावों को एजेंट को दे सकते हैं ताकि रो बदलाव रीज़निंग या कार्रवाई शुरू करे; इन्हें चैनल में भेज सकते हैं ताकि एडिट की धारा को चैट, नॉलेज और वर्कस्पेस की दूसरी ऐप पढ़ें; और वेबहुक पर फॉरवर्ड कर सकते हैं ताकि हर बदलाव होते ही कोई बाहरी सिस्टम उसे पाए। आप इन्हें साथ भी इस्तेमाल कर सकते हैं: एक ही बदलाव स्ट्रीम किसी एजेंट को चला सकती है और साथ ही वेबहुक पर भी पहुँच सकती है।
CDC किन डेटाबेस से स्ट्रीम कर सकता है, और क्या डेटा निजी रहता है?
CDC आपके osFoundry वर्कस्पेस में किसी ऐप के अपने डेटाबेस से रो बदलाव स्ट्रीम करता है। चूँकि osFoundry bring-your-own-key और local-first है, आप अपने क्रेडेंशियल से अपनी ऐप के डेटा पर प्रतिक्रिया देते हैं, आपके और बदलाव इवेंट के बीच कोई रीसेलर नहीं बैठता, और स्ट्रीम किसी तीसरे पक्ष से गुज़रने के बजाय उसी वर्कस्पेस के भीतर रहती है जिसे आप नियंत्रित करते हैं।