หากคุณใช้ Cloudflare Workers Upstash Global Redis และ Workers KV อาจเป็นตัวเลือกที่ดีที่สุดในการเก็บข้อมูลของคุณ ในโพสต์นี้ ฉันจะเปรียบเทียบคร่าวๆ ว่าเป็นที่เก็บข้อมูลสำหรับฟังก์ชัน Cloudflare 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, Hashs, SortedSets ตรวจสอบ Upstash API
ราคา
Upstash Global Redis:
- 0.4 ดอลลาร์ต่อการอ่าน 100,000 ครั้ง
- $2 ต่อการเขียน 100,000 ครั้ง
- พื้นที่เก็บข้อมูล:0.25 เหรียญ/ GB ต่อเดือน
Cloudflare Workers KV:
- 0.5 ดอลลาร์ต่อการอ่านหนึ่งล้านครั้ง
- เขียน 5 ดอลลาร์ต่อล้าน
- พื้นที่เก็บข้อมูล:$0.50/ GB ต่อเดือน
การพกพา
Upstash เข้ากันได้กับ Redis คุณจึงสามารถย้ายข้อมูลของคุณไปยังทุกที่ที่คุณเรียกใช้ Redis ได้อย่างง่ายดาย รวมถึงแล็ปท็อปของคุณเองด้วย
รองรับ Workers KV ใน Cloudflare Workers เท่านั้น
เวลาในการตอบสนองของการอ่าน
Upstash Global กระจายข้อมูลไปยัง 5 ภูมิภาค (เวอร์จิเนียตอนเหนือ โอเรกอน แฟรงก์เฟิร์ต สิงคโปร์ เซาเปาโล) ขึ้นอยู่กับตำแหน่งของลูกค้า เวลาแฝงในการอ่านมีตั้งแต่ 10 ถึง 80 มิลลิวินาที ตำแหน่งไคลเอ็นต์และเวลาในการตอบสนองในการอ่าน:
- สหรัฐอเมริกา:10-20 มิลลิวินาที
- เยอรมนี:10-20 มิลลิวินาที
- บราซิล:10-20 มิลลิวินาที
- สหราชอาณาจักร:20-30 มิลลิวินาที
- สเปน:30-40 มิลลิวินาที
- อินเดีย:50-60 มิลลิวินาที
- แอฟริกาใต้:100-200 มิลลิวินาที
พนักงาน KV เก็บค่าที่อ่านไว้ไม่บ่อยนักจากส่วนกลาง ค่าที่นิยมจะถูกเก็บไว้ในศูนย์ข้อมูล Cloudflare ทั้งหมด การอ่านครั้งแรกมีเวลาแฝงสูง (200+ มิลลิวินาที) การอ่านครั้งต่อไปมีช่วงแฝงตั้งแต่ 10 ถึง 30 มิลลิวินาที ขอบคุณ PoP (Point of Presence) จำนวนมาก พนักงาน KV มีเวลาแฝงในการอ่านที่คล้ายกันทั่วโลก
เมื่อลูกค้าอยู่ในสถานที่ใกล้กับ 5 ภูมิภาคของ Upstash (เวอร์จิเนียเหนือ โอเรกอน แฟรงก์เฟิร์ต สิงคโปร์ เซาเปาโล) Upstash มีเวลาแฝงในการอ่านที่คล้ายกันกับ Workers KV นี่เป็นผลลัพธ์ที่น่าแปลกใจสำหรับฉัน ฉันคาดหวังว่า CF Workers KV จะมีเวลาแฝงที่ดีกว่ามาก สมมติว่า Cloudflare เรียกใช้ Workers และ KV ที่ศูนย์ข้อมูลเดียวกัน ฉันกำลังวางแผนที่จะทำการวัดประสิทธิภาพที่กว้างขวางยิ่งขึ้นและเผยแพร่เป็นโพสต์บล็อกอื่น
Cloudflare Workers มีเวลาแฝงในการอ่านที่ดีกว่า Upstash Redis เมื่อลูกค้าอยู่ห่างจากภูมิภาค Upstash เช่น แอฟริกาใต้
ความสม่ำเสมอ
ในที่สุดทั้ง Workers KV และ Upstash Global Redis ก็มีความสอดคล้องกันในที่สุด ซึ่งหมายความว่าลูกค้าจะอ่านค่าล่าสุดในที่สุด แต่ไม่รับประกันว่าลูกค้าทุกรายจะอ่านค่าเดียวกันหรือล่าสุดในเวลาที่กำหนด
หากคุณกำลังมองหาฐานข้อมูลที่กระจายอยู่ทั่วโลก โปรดตรวจสอบ Google Cloud Spanner, CockroachDB หรือ Fauna
เวลาในการตอบสนองในการเขียน
Upstash ทำซ้ำการอัปเดตไปยังภูมิภาคทั่วโลกทันที ใช้เวลา 300-500 มิลลิวินาทีในการจำลองการอัปเดตไปยังทุกภูมิภาค สำหรับ Cloudflare อาจใช้เวลาถึง 60 วินาทีในการเผยแพร่การอัปเดตไปยังศูนย์ข้อมูลอื่นๆ ทั้งหมด
เขียนปริมาณงาน
Cloudflare Workers KV มีฮาร์ดจำกัดที่คุณสามารถส่ง 1 การดำเนินการเขียนไปยังคีย์เดียวกันต่อวินาที Upstash Redis ไม่มีขีดจำกัดดังกล่าว คุณสามารถรันคำสั่งเขียนได้หลายพันคำสั่งต่อวินาที ขึ้นอยู่กับความจุของแผนของคุณ (Pay-as-you-go, Enterprise ฯลฯ)
ขีดจำกัดการเขียน 1 วินาที/วินาทีจำกัด Workers KV ให้อ่านอย่างเดียวหรืออ่านกรณีใช้งานหนัก
ลิงค์
วิธีการทำงานของคนงาน KV
API รันไทม์ของผู้ปฏิบัติงาน KV
Upstash ฐานข้อมูลทั่วโลก