मैं कफका के साथ स्ट्रीम प्रसंस्करण में गोता लगाने के लिए चाहता हूं और मुझे कुछ डिज़ाइन प्रिंसिपल के आसपास अपना सिर पाने में कुछ मदद चाहिए जो वर्तमान में मेरे लिए बहुत स्पष्ट नहीं है।काफ्का स्ट्रीम एप्लिकेशन डिज़ाइन प्रिंसिपल
1.) मानते हैं कि मेरे पास कुछ वास्तविक समय स्टॉक मूल्य डेटा है। क्या आप स्टॉक प्रतीक द्वारा एक विषय "मूल्य" कुंजी (और इसलिए विभाजित) बनायेंगे? या आप प्रति प्रतीक एक विषय बना देंगे? उदाहरण में क्या होता है यदि मैं बाद में एक पूर्ण इतिहास सहित कुछ और स्टॉक प्रतीकों का उत्पादन (जोड़ने) का फैसला करता हूं? अब "इतिहास" विषय में मेरा इतिहास (लॉग में ऑर्डर करना) एक गड़बड़ है, है ना? दूसरी तरफ प्रत्येक मूल्य श्रृंखला के लिए मैं बाद में रिटर्न की गणना करना चाहता हूं और यदि वे अलग-अलग विषयों पर हैं तो मुझे उनका ट्रैक रखना होगा और प्रत्येक एकल प्रतीक के लिए नए स्ट्रीम एप्लिकेशन शुरू करना होगा।
2.) अब अलग-अलग वास्तविक समय की कीमतें हैं और मुझे उनमें से एक बड़े रिकॉर्ड में एक आर्बिटरी संख्या में शामिल होने की आवश्यकता है। उदाहरण के लिए सभी sp500 प्रतीकों को एक रिकॉर्ड में शामिल करें। चूंकि मेरे पास एक ही समय के लिए सभी sp500 प्रतीकों की कीमत नहीं है लेकिन शायद बहुत करीब है। यदि कोई सही समय पर गायब है तो मैं हमेशा नवीनतम कीमत का उपयोग करके उनसे कैसे जुड़ सकता हूं?
3.) कहें कि मैंने उपयोग के मामले में शामिल होने का हल किया है और मैं सभी एसपी 500 शेयरों के शामिल रिकॉर्ड को कफका में पंप करता हूं। अगर मैंने कोई गलती की है और मैं एक प्रतीक भूल गया तो मुझे क्या करने की ज़रूरत है? जाहिर है, मैं इसे स्ट्रीम में जोड़ना चाहता हूं। अब मुझे "sp500" लॉग को पोंछने की ज़रूरत है और इसे सही तरीके से पुनर्निर्माण करना है? या शुरुआती ऑफ़सेट को किसी विशेष ऑफ़सेट पर रीसेट करने के लिए कुछ तंत्र है (जिस पर मैंने शामिल होने का निर्णय लिया है)? सबसे अधिक संभावना है कि मेरे पास अन्य धारा अनुप्रयोग हैं जो इस विषय से उपभोग कर रहे हैं। उन्हें किसी प्रकार का रीसेट/रीप्ले करने की भी आवश्यकता है। क्या यह शायद एक बेहतर विचार है कि SP500 विषय को स्टोर न करें बल्कि इसे एक लंबी स्ट्रीम प्रक्रिया का हिस्सा बनाएं? लेकिन फिर मैं इसे कई बार संभावित रूप से शामिल करने के लिए समाप्त कर दूंगा।
4.) शायद इस 1. होना चाहिए, क्योंकि यह मेरा लक्ष्य की ^^ हिस्सा है - लेकिन, मैं कैसे इस तरह के तरह एक डाटा प्रवाह मॉडल सकता है:
produce prices -> calculate returns -> join several returns into a row vector -> calculate covariance (window of rowvectors) -> join covariance with returns
-> -> into a tuple (ret, cov)
मैं नहीं भी यकीन है कि अगर इस तरह के एक हूँ आज के स्ट्रीम प्रसंस्करण का उपयोग कर जटिल उपयोग केस संभव है।