GaiaEx AcademyGaiaEx Academy
KDB+/Q: टिक डेटाबेस की भाषा
डेवलपरप्रोग्रामिंग11 min read

KDB+/Q: टिक डेटाबेस की भाषा

वॉल स्ट्रीट अरबों मार्केट डेटा पॉइंट्स कैसे स्टोर और क्वेरी करता है

पोस्ट साझा करें

एक मिनट में KDB+ और Q

KDB+ एक कॉलम-ओरिएंटेड टाइम-सीरीज़ डेटाबेस है; Q इसकी वेक्टर लैंग्वेज है। सेल-साइड और बाय-साइड फर्मों ने इसे टिक स्टोरेज, जॉइन, और रोलिंग एनालिटिक्स के लिए अपनाया, जहां कॉलम स्कैन करना पंक्ति-दर-पंक्ति लूप से बेहतर है।

परफॉर्मेंस कॉलमर लेआउट, मेमरी मैपिंग के आक्रामक उपयोग, और मेटल के करीब लागू किए गए वेक्टर प्रिमिटिव से आता है। यह किसी सामान्य OLTP रिप्लेसमेंट नहीं है; यह अपेंड-हेवी टाइम सीरीज़ के लिए ट्यून किया गया है।

कॉलमर लेआउट (अवधारणागत) sym A A B time t₁ t₂ t₃ price p₁ p₂ p₃ वेक्टर ऑप्स सटी हुई ऐरे को छूते हैं → कैश-फ्रेंडली स्कैन स्कीमा और टाइप्स अब भी मायने रखते हैं: खराब sym लिस्ट स्पेस की कीमत लेती है
टेबल कॉलम वेक्टर होते हैं; एनालिटिक्स कॉलम और समय के साथ फिल्टर और एग्रीगेट करते हैं।

Q के बुनियादी सिद्धांत

Q संक्षिप्त और राइट-टू-लेफ्ट है। वेक्टर नेटिव होते हैं; लूप मौजूद हैं पर हॉट पथ इनसे बचते हैं। टेबल कॉलम की डिक्शनरी होती हैं, जो टिक डेटा के स्टोर होने के तरीके से मेल खाती है।

prices: 100.5 101.2 99.8
avg prices
deltas prices

पढ़ने योग्य Q छोटे फंक्शन और कमेंट से आता है—साझा कोडबेस में सिर्फ़ सघनता कोई गुण नहीं है।

टिकरप्लांट, RDB, HDB

एक सामान्य पैटर्न: एक टिकरप्लांट फीड इनजेस्ट करता है और सब्सक्राइबर्स को फैनआउट करता है; एक रीयल-टाइम डेटाबेस मौजूदा सेशन रखता है; एक हिस्टोरिकल डेटाबेस डिस्क पर पार्टीशन्ड हिस्ट्री स्टोर करता है। एंड-ऑफ-डे प्रोसेस RT को HDB पार्टीशन में रोल करते हैं।

select last price by sym from trades where time > .z.t - 00:05

क्रिप्टो कभी बंद नहीं होता, इसलिए “सेशन” की सीमाएं ऑपरेशनल चुनाव हैं, एक्सचेंज की घंटियां नहीं।

टिक पाइपलाइन (क्लासिक तीन-टुकड़ा) फीड हैंडलर्स सिंबल नॉर्मलाइज़ करें बाउंड्री पर टाइमस्टैम्प टिकरप्लांट लॉग + pub/sub कोई लंबी अवधि का स्टोर नहीं RDB + HDB इंट्राडे बनाम हिस्ट्री तारीख़ से पार्टीशन गैप रिकवरी लॉग का उपयोग करती है; फीड गैप और लेट करेक्शन सत्यापित करें क्रिप्टो फीड में बर्स्ट हो सकते हैं: बफर और बैक-प्रेशर का आकार सोचें
रीयल-टाइम और हिस्टोरिकल को अलग रखना हॉट पथ को छोटा और क्वेरी को पूर्वानुमानित बनाता है।

यह कहां दिखता है

फर्में KDB+ का उपयोग सर्विलांस डैशबोर्ड, कोट एनालिटिक्स, और रिसर्च डेटासेट के लिए करती हैं। नाम और डिप्लॉयमेंट अलग-अलग होते हैं; पैटर्न टिक्स और ऑर्डर पर तेज़ स्लाइस-एंड-डाइस है।

क्रिप्टो वेन्यू निरंतर डेटा जनरेट करते हैं—रिटेंशन, रीप्ले, और कंप्लायंस एक्सपोर्ट की योजना पहले से बनाएं।

लाइसेंस लागत और विकल्प

कमर्शियल लाइसेंसिंग और विशेष हायरिंग असली लागत हैं। ओपन विकल्प (ClickHouse, Timescale, QuestDB, Parquet पर DuckDB) इकोसिस्टम फिट को कीमत के बदले ट्रेड करते हैं। वेंडर स्लाइड पर नहीं, अपने क्वेरी मिक्स पर बेंचमार्क करें।

क्रिप्टो टिक स्टैक

कई टीमें Kafka या Redpanda को कॉलमर स्टोरेज और SQL इंजन के साथ जोड़ती हैं। KDB+ से आया इनवेरिएंट अब भी लागू होता है: समय के अनुसार पार्टीशन करें, स्कीमा कड़े रखें, और एक्सचेंज टाइमस्टैम्प से क्वेरी परिणाम तक एंड-टू-एंड लैग को मापें।

GaiaEx API कंज़्यूमर को, यदि उपलब्ध हों, सर्वर टाइमस्टैम्प और सीक्वेंस आइडेंटिफायर लॉग करना चाहिए—अनुमान लगाने से बेहतर है कोरिलेशन।