अंदर की बात

मल्टी-थ्रेडेड आर्किटेक्चर

HotKV™ नेटवर्क I/O और कमांड एक्ज़ीक्यूशन, दोनों को हर कोर पर, एक साझा स्टोर के विरुद्ध चलाता है। हर वर्कर थ्रेड अपने कनेक्शनों के कमांड खुद पढ़ता, पार्स करता और चलाता है, इसलिए एक इंस्टेंस पूरी मशीन इस्तेमाल करता है और थ्रूपुट आपके दिए कोर के साथ बढ़ता है।

  • 300 कोर कमांड
  • 170+ AI और एंटरप्राइज़ कमांड
  • RESP2 / RESP3
  • C++20
  • Linux x86_64 · ARM64
सभी कोर

सच्ची पैरेलेलिज़्म

हर वर्कर अपने कनेक्शनों के कमांड एक साथ चलाता है। कोई अकेला कमांड थ्रेड नहीं है जो भर जाए, इसलिए थ्रूपुट कोर की संख्या के साथ बढ़ता है।

हर key पर

बारीक कंकरेंसी

कीस्पेस को इस तरह बाँटा गया है कि अलग-अलग key पर कमांड एक ही समय में चलते हैं और शायद ही कभी एक-दूसरे का इंतज़ार करते हैं।

GC नहीं

पहले से अनुमानित लेटेंसी

नेटिव C++ इंजन, जिसमें न गार्बेज कलेक्टर है, न स्टॉप-द-वर्ल्ड पॉज़। स्नैपशॉट फ़ोर्क किए गए प्रोसेस की जगह बैकग्राउंड थ्रेड में लिखे जाते हैं, इसलिए सेव करने पर मेमोरी दोगुनी नहीं होती।

हॉट पाथ

एक कमांड का जीवन

हर अनुरोध उसी कोर पर, जिसने उसे पाया, इन्हीं चार चरणों से गुज़रता है।

01

पार्स

अनुरोध पढ़ता है, अधूरी रीड समेत। HotKV, RESP2, RESP3 और इनलाइन कमांड समझता है, और HELLO के ज़रिए प्रोटोकॉल बदलता है।

02

डिस्पैच

एक्ज़ीक्यूशन शुरू होने से पहले कमांड ढूँढता है और उसकी arity, फ़्लैग और key की जगहें जाँचता है।

03

एक्ज़ीक्यूट

कमांड को उसकी keys पर चलाता है। एक्सपायर हुई keys छूते ही और बैकग्राउंड स्वीप से हटा दी जाती हैं।

04

जवाब

क्लाइंट ने जिस प्रोटोकॉल वर्शन पर सहमति दी थी, उसी में जवाब भेजता है।

इंजन में ही बना

सिर्फ़ कैश से कहीं ज़्यादा

यही पैरेलल इंजन 300 कोर कमांड, आठ एविक्शन पॉलिसी और नीचे दिए सबसिस्टम देता है। लाइसेंस वाले प्लान पर 170 से ज़्यादा AI और एंटरप्राइज़ कमांड भी हैं। जोड़ने के लिए कोई मॉड्यूल नहीं।

परसिस्टेंस

स्नैपशॉट + AOF

एटॉमिक रूप से लिखे गए बाइनरी स्नैपशॉट, और कॉन्फ़िगर करने योग्य fsync (always, everysec, no) और BGREWRITEAOF कॉम्पैक्शन वाली एपेंड-ओनली फ़ाइल।

स्क्रिप्टिंग

Lua 5.4, सैंडबॉक्स्ड

EVAL और EVALSHA, hotkv.call() के ज़रिए सैंडबॉक्स्ड Lua 5.4 रनटाइम में स्क्रिप्ट एटॉमिक रूप से चलाते हैं, और redis.call() कंपैटिबिलिटी एलियास के रूप में बना रहता है। नामित फ़ंक्शन लाइब्रेरी FUNCTION और FCALL के ज़रिए मिलती हैं।

वेक्टर सर्च

HNSW इंडेक्स

VSIM कमांड HNSW इंडेक्स पर लगभग-निकटतम-पड़ोसी सर्च देते हैं, कोसाइन, L2 और इनर-प्रोडक्ट दूरी के साथ, टैग-फ़िल्टर वाली क्वेरी समेत।

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

स्केच और रेट लिमिट

HyperLogLog, Bloom फ़िल्टर, Count-Min Sketch और Top-K हेवी-हिटर ट्रैकिंग, साथ में बर्स्ट कंट्रोल वाली सर्वर-साइड GCRA रेट लिमिटिंग। क्लाइंट-साइड गणित की ज़रूरत नहीं।

ऑब्ज़र्वेबिलिटी

Prometheus-नेटिव

बिल्ट-इन HTTP मेट्रिक्स एंडपॉइंट (metrics-port सेट करने तक बंद) हर कमांड के कॉल काउंट और लेटेंसी दिखाता है। LATENCY HISTOGRAM और INFO latencystats p50, p99 और p99.9 बताते हैं, और HOTKEYS आपकी सबसे ज़्यादा एक्सेस की गई keys को क्रम से लगाता है।

सुरक्षा

ACL + TLS

हर यूज़र का एक्सेस कंट्रोल कमांड, keys और चैनलों को सीमित करता है, पासवर्ड हैश किए हुए होते हैं। TLS प्रोसेस के अंदर ही टर्मिनेट होता है, क्लाइंट कनेक्शन के साथ क्लस्टर और रेप्लिकेशन लिंक के लिए भी। On-Premise में LDAP और OpenID Connect सिंगल साइन-ऑन वाले रोल जुड़ते हैं।

हर कोर को काम पर लगाएँ

HotKV Cloud पर मैनेज्ड इंस्टेंस शुरू करें, या ऑन-प्रेमाइज़ लाइसेंस के साथ HotKV को अपने डेटा सेंटर में चलाएँ। वही इंजन, वही आर्किटेक्चर, हर कोर।

300 कोर कमांड170+ AI और एंटरप्राइज़ कमांडRESP2 / RESP3C++20Linux x86_64 · ARM64