หากคุณใช้ Cloudflare Workers ทั้ง Upstash Global Redis และ Workers KV เป็นตัวเลือกที่น่าสนใจสำหรับเก็บข้อมูล บทความนี้จะเปรียบเทียบอย่างละเอียด
1. Feature Set (ความสามารถ)
| Feature | Workers KV | Upstash Redis |
|---|---|---|
| Data Structures | Key-Value เท่านั้น | Strings, Sets, Lists, Hashes, Sorted Sets, Streams, Geospatial, HyperLogLog |
| Expiration | รองรับ (put with expiration) | รองรับครบ (EX, PX, EXAT, PXAT) |
| Atomic Operations | จำกัด | Transactions, Lua Scripts, MULTI/EXEC |
| Pub/Sub | ไม่รองรับ | รองรับเต็มรูปแบบ |
2. ราคา (Pay-as-you-go)
| Metric | Workers KV | Upstash Redis |
|---|---|---|
| Reads | $0.50 / 1M reads | $0.40 / 100K commands ($4.00 / 1M) |
| Writes | $5.00 / 1M writes | $2.00 / 100K commands ($20.00 / 1M) |
| Storage | $0.50 / GB-month | $0.25 / GB-month |
3. Portability (ความพกพา)
- Upstash Redis: เข้ากันได้กับ Redis Standard - ย้ายไป Self-hosted, AWS ElastiCache, Azure Cache, หรือ Local ได้ทันที
- Workers KV: ผูกติดกับ Cloudflare Workers เท่านั้น (Vendor Lock-in)
4. Read Latency (หน่วงเวลาอ่าน)
Upstash Global Redis (5 Regions)
| Location | Latency |
|---|---|
| US (Virginia/Oregon) | 10-20 ms |
| Germany (Frankfurt) | 10-20 ms |
| Brazil (São Paulo) | 10-20 ms |
| UK | 20-30 ms |
| Spain | 30-40 ms |
| India | 50-60 ms |
| South Africa | 100-200 ms |
Cloudflare Workers KV
- ค่าแรก (Cold read): 200+ ms (ดึงจาก Central Store)
- ค่าต่อไป (Hot read): 10-30 ms (Replicated ไป Edge ทั้งหมด)
- ครอบคลุมทั่วโลกได้ดีกว่า เพราะ Cloudflare มี PoP 275+ จุด
> ไกลจาก Region Upstash (เช่น Africa) → Workers KV เร็วกว่า
5. Consistency (ความสอดคล้อง)
ทั้งคู่เป็น Eventually Consistent - ไม่รับประกันว่าทุก Client จะอ่านค่าล่าสุดในเวลาเดียวกัน
ถ้าต้องการ Strong Consistency Globally: ให้ดู Google Cloud Spanner, CockroachDB, Fauna
6. Write Latency & Replication
- Upstash: Replicate ไปทุก Region ภายใน 300-500 ms
- Workers KV: อาจใช้เวลา ถึง 60 วินาที ในการ Propagate ไปทุก Data Center
7. Write Throughput
- Workers KV: Hard Limit 1 write/second ต่อ Key เดียวกัน - ใช้ได้แค่ Read-heavy
- Upstash Redis: ไม่มี Limit ต่อ Key - เขียนได้หลายพัน Commands/วินาที (ขึ้นกับ Plan)
สรุป: เลือกตัวไหนดี?
| สถานการณ์ | แนะนำ |
|---|---|
| Read-heavy, ใช้ Cloudflare เท่านั้น, ต้องการ Latency ต่ำสุดทุกที่ | Workers KV |
| ต้องการ Data Structures หลากหลาย (Sorted Sets, Hashes, Pub/Sub) | Upstash Redis |
| ต้องการ Portability / หลีกเลี่ยง Vendor Lock-in | Upstash Redis |
| Write-heavy หรือ High throughput ต่อ Key เดียว | Upstash Redis |
| ต้องการ Replication เร็ว (Sub-second) | Upstash Redis |
| Budget สำคัญมาก และ Read-heavy | Workers KV |
Links: