কম্পিউটার টিউটোরিয়াল

Cloudflare Workers KV বনাম Upstash Redis: আপনার Workers-এর জন্য কোন ডেটা স্টোর উপযুক্ত?

আপনি যদি Cloudflare Workers ব্যবহার করেন, তবে Upstash গ্লোবাল রেডিস এবং Workers KV সম্ভবত আপনার Cloudflare Workers ফাংশনগুলির জন্য ডেটা রাখার সেরা দুটি অপশন। এই পোস্টে আমি সুট_PRINTFibileভাবে তাদের তুলনা করব আপনার Cloudflare Workers ফাংশনগুলির জন্য ডেটা স্টোর হিসেবে।

ফিচার সেট

Workers KV-র এক্সপিরেশনসহ কি-ভ্যালু স্টোর API আছে:

put(key, value, {expiration: secondsSinceEpoch})
get(key)
delete(key)
list({prefix?: string, limit?: number, cursor?: string})

Upstash রেডিসের অনেক বড় API আছে, যার মধ্যে Strings, Sets, Lists, Hashes, SortedSets অন্তর্ভুক্ত। Upstash API চেক করুন।

মূল্য

Upstash গ্লোবাল রেডিস:

  • $0.4 প্রতি 100K রিড
  • $2 প্রতি 100K রাইট
  • স্টোরেজ: $0.25/ GB-মাস

Cloudflare Workers KV:

  • $0.5 প্রতি মিলিয়ন রিড
  • $5 প্রতি মিলিয়ন রাইট
  • স্টোরেজ: $0.50/ GB-মাস

পোর্টেবিলিটি

Upstash রেডিসের সাথে কম্প্যাটিবল। তাই আপনি সহজে আপনার ডেটা যেকোনো জায়গায় মুভ করতে পারেন যেখানে রেডিস রান করা যায়, আপনার নিজস্ব ল্যাপটপসহ।

Workers KV শুধু Cloudflare Workers-এ সাপোর্টেড।

রিড লেটেন্সি

Upstash গ্লোবাল ডেটাকে ৫টি রিজনে বিতরণ করে (নর্থ ভার্জিনیا, অরেগন, ফ্র্যাঙ্কফার্ট, সিংগাপুর, সাও পাওলো)। ক্লায়েন্টের লোকেশনের উপর নির্ভর করে, রিড লেটেন্সি ১০ থেকে ৮০ মিলিসেকেন্ডের মধ্যে থাকে। ক্লায়েন্ট লোকেশন এবং রিড লেটেন্সি:

  • US: ১০-২০ msec
  • জার্মানি: ১০-২০ msec
  • ব্রাজিল: ১০-২০ msec
  • UK: ২০-৩০ msec
  • স্পেন: ৩০-৪০ msec
  • ভারত: ৫০-৬০ msec
  • সাউথ আফ্রিকা: ১০০-২০০ msec

Workers KV কম পড়া ভ্যালুগুলো সেন্ট্রালি স্টোর করে, জনপ্রিয় ভ্যালুগুলো সব Cloudflare ডেটা সেন্টারে স্টোর থাকে। প্রথম রিডের লেটেন্সি বেশি (২০০+ মিলিসেকেন্ড)। পরের রিডগুলোর লেটেন্সি ১০ থেকে ৩০ মিলিসেকেন্ডের মধ্যে থাকে। PoP (Point of Presence)-এর বেশি সংখ্যায় Workers KV সারাদুনিয়ায় একই রকম রিড লেটেন্সি দেয়।

যখন ক্লায়েন্ট Upstash-এর ৫টি রিজনের (নর্থ ভার্জিনিয়া, অরেগন, ফ্র্যাঙ্কফার্ট, সিংগাপুর, সাও পাওলো) কাছে থাকে, Upstash Workers KV-এর মতো একই রকম রিড লেটেন্সি দেয়। এটি আমার জন্য চমৎকার ফলাফল। আমি ভাবতাম CF Workers KV-এর লেটেন্সি অনেক ভালো হবে ধরে Cloudflare Workers এবং KV একই ডেটা সেন্টারে রান করে। আমি আরও বিস্তৃত বেঞ্চмар্ক করতে পরিকল্পনা করছি এবং অন্য একটি ব্লগ পোস্ট হিসেবে পাবলিশ করব।

যখন ক্লায়েন্ট Upstash রিজন থেকে দূরে থাকে যেমন সাউথ আফ্রিকা, Cloudflare Workers Upstash রেডিস চেয়ে ভালো রিড লেটেন্সি দেয়।

কনসিস্টেন্সি

Workers KV এবং Upstash গ্লোবাল রেডিস দুটোই eventual consistent (শেষ পর্যন্ত কনসিস্টেন্ট)। এর মানে ক্লায়েন্টগুলো শেষ পর্যন্ত লেটেস্ট ভ্যালু পড়বে। কিন্তু গ্যারান্টি নেই যে সব ক্লায়েন্ট একই সময়ে একই বা লেটেস্ট ভ্যালু পড়বে।

আপনি যদি গ্লোবালি ডিস্ট্রিবিউটেড কনসিস্টেন্ট ডেটাবেস খুঁজেন, তবে Google Cloud Spanner, CockroachDB বা Fauna চেক করুন।

রাইট লেটেন্সি

Upstash তাৎক্ষণিকভাবে আপডেটগুলো গ্লোবাল রিজনে রিপ্লিকেট করে। একটি আপডেট সব রিজনে রিপ্লিকেট হতে ৩০০-৫০০ মিলিসেকেন্ড লাগে। Cloudflare-এ, সব ডেটা সেন্টারে আপডেট প্রপাগেট হতে ৬০ সেকেন্ড পর্যন্ত লাগতে পারে।

রাইট থ্রুপুট

Cloudflare Workers KV-র একটি হার্ড লিমিট আছে যে আপনি একই কি-তে প্রতি সেকেন্ডে ১ রাইট অপারেশন পাঠাতে পারেন। Upstash রেডিসের এরকম লিমিট নেই। আপনার প্ল্যানের ক্যাপাসিটির (Pay-as-you-go, Enterprise ইত্যাদি) উপর নির্ভর করে আপনি প্রতি সেকেন্ডে হাজার হাজার রাইট কমান্ড এক্সিকিউট করতে পারেন।

১ রাইট/সেক লিমিট Workers KV-কে রিড-অনলি বা রিড-হেভি ইউজ কেসে সীমাবদ্ধ করে।

  1. Upstash রেডিসের গ্লোবাল ক্যাশ দিয়ে Netlify Graph পারফরম্যান্স বাড়ান

  2. ফ্লাটার, সার্ভারলেস ফ্রেমওয়ার্ক এবং আপস্ট্যাশ রেডিস দিয়ে ফুল-স্ট্যাক সার্ভারলেস মোবাইল অ্যাপ তৈরি করুন – পার্ট ২

  3. ক্লাউডফ্লেয়ার ওয়ার্কার্স এবং সার্ভারলেস রেডিস দিয়ে কাস্টম ওয়েইটিং রুম তৈরি করুন - ট্রাফিক সার্জ নিয়ন্ত্রণ

  4. Cloudflare Workers-এ Redis ব্যবহার করে এজ কম্পিউটিং-এর শক্তি ব্যবহার করুন