परिचय
यदि आप Cloudflare Workers का उपयोग कर रहे हैं, तो Upstash ग्लोबल Redis और Workers KV शायद आपके डेटा को रखने के लिए आपके सर्वोत्तम विकल्प हैं। इस पोस्ट में, मैं संक्षेप में उनकी तुलना करूंगा कि वे आपके Cloudflare Workers फंक्शन के लिए डेटा स्टोर के रूप में कैसे हैं।
फीचर सेट
Workers KV में एक्सपायरी के साथ एक की-वैल्यू स्टोर API है:
put(key, value, {expiration: secondsSinceEpoch})
get(key)
delete(key)
list({prefix?: string, limit?: number, cursor?: string})
Upstash Redis में बहुत बड़ा API है, जिसमें Strings, Sets, Lists, Hashes, SortedSets शामिल हैं। Upstash API देखें।
कीमत
Upstash ग्लोबल Redis:
- $0.4 प्रति 100K रीड
- $2 प्रति 100K राइट
- स्टोरेज: $0.25/GB-माह
Cloudflare Workers KV:
- $0.5 प्रति मिलियन रीड
- $5 प्रति मिलियन राइट
- स्टोरेज: $0.50/GB-माह
पोर्टेबिलिटी
Upstash Redis के साथ संगत है। इसलिए आप अपने डेटा को आसानी से कहीं भी ले जा सकते हैं जहां आप Redis चला सकते हैं, जिसमें आपका अपना लैपटॉप भी शामिल है।
Workers KV केवल Cloudflare Workers में समर्थित है।
रीड लेटेंसी
Upstash ग्लोबल डेटा को 5 क्षेत्रों (नॉर्थ वर्जीनिया, ओरेगन, फ्रैंकफर्ट, सिंगापुर, साओ पाउलो) में वितरित करता है। क्लाइंट के स्थान के आधार पर, रीड लेटेंसी 10 से 80 मिलीसेकंड तक होती है। क्लाइंट स्थान और रीड लेटेंसी:
- US: 10-20 मिसेक
- जर्मनी: 10-20 मिसेक
- ब्राजील: 10-20 मिसेक
- UK: 20-30 मिसेक
- स्पेन: 30-40 मिसेक
- भारत: 50-60 मिसेक
- दक्षिण अफ्रीका: 100-200 मिसेक
Workers KV कम पढ़े जाने वाले मानों को केंद्रीय रूप से संग्रहीत करता है, लोकप्रिय मान सभी Cloudflare डेटा केंद्रों में संग्रहीत होते हैं। पहली रीड में उच्च लेटेंसी (200+ मिलीसेकंड) होती है। अगली रीड में 10 से 30 मिलीसेकंड की लेटेंसी होती है। PoP (पॉइंट ऑफ प्रेजेंस) की उच्च संख्या के कारण Workers KV की दुनिया भर में समान रीड लेटेंसी होती है।
जब क्लाइंट Upstash के 5 क्षेत्रों (नॉर्थ वर्जीनिया, ओरेगन, फ्रैंकफर्ट, सिंगापुर, साओ पाउलो) के पास स्थित होता है, तो Upstash की Workers KV के समान रीड लेटेंसी होती है। यह मेरे लिए आश्चर्यजनक परिणाम है। मुझे उम्मीद थी कि CF Workers KV की लेटेंसी बहुत बेहतर होगी क्योंकि Cloudflare Workers और KV को एक ही डेटा केंद्रों में चलाता है। मैं अधिक व्यापक बेंचमार्क करने और इसे दूसरे ब्लॉग पोस्ट के रूप में प्रकाशित करने की योजना बना रहा हूं।
Cloudflare Workers की Upstash Redis की तुलना में बेहतर रीड लेटेंसी होती है जब क्लाइंट Upstash क्षेत्रों से दूर स्थित होते हैं जैसे दक्षिण अफ्रीका।
कंसिस्टेंसी
Workers KV और Upstash ग्लोबल Redis दोनों अंततः सुसंगत हैं। इसका मतलब है कि क्लाइंट अंततः नवीनतम मान पढ़ेंगे। लेकिन यह गारंटी नहीं है कि सभी क्लाइंट किसी विशिष्ट समय पर समान या नवीनतम मान पढ़ेंगे।
यदि आप विश्व स्तर पर वितरित सुसंगत डेटाबेस की तलाश कर रहे हैं, तो Google Cloud Spanner, CockroachDB या Fauna देखें।
राइट लेटेंसी
Upstash तुरंत अपडेट को ग्लोबल क्षेत्रों में रेप्लिकेट करता है। एक अपडेट को सभी क्षेत्रों में रेप्लिकेट होने में 300-500 मिलीसेकंड लगते हैं। Cloudflare के लिए, सभी अन्य डेटा केंद्रों में अपडेट प्रसारित होने में 60 सेकंड तक लग सकते हैं।
राइट थ्रूपुट
Cloudflare Workers KV में एक हार्ड लिमिट है कि आप प्रति सेकंड एक ही कुंजी पर 1 राइट ऑपरेशन भेज सकते हैं। Upstash Redis में ऐसी कोई लिमिट नहीं है। आप अपनी योजना की क्षमता (पे-एज़-यू-गो, एंटरप्राइज़ आदि) के आधार पर प्रति सेकंड हजारों राइट कमांड निष्पादित कर सकते हैं।
1 राइट/सेकंड लिमिट Workers KV को रीड-ओनली या रीड-हेवी उपयोग के मामलों तक सीमित करती है।
लिंक्स
How Workers KV Works
Workers KV Runtime APIs
Upstash ग्लोबल डेटाबेस