Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

Cloudflare Workers KV กับ Upstash Redis

หากคุณใช้ 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 ฐานข้อมูลทั่วโลก