Computer >> Máy Tính >  >> Lập trình >> Redis

Cloudflare worker KV vs Upstash Redis

Nếu bạn đang sử dụng Cloudflare worker, Upstash Global Redis và worker KV có lẽ là những lựa chọn tốt nhất để giữ dữ liệu của bạn. Trong bài đăng này, tôi sẽ so sánh ngắn gọn chúng như một kho lưu trữ dữ liệu cho các chức năng Cloudflare worker của bạn.

Bộ tính năng

Công nhân KV có API lưu trữ giá trị chính với ngày hết hạn:

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

Upstash Redis có API lớn hơn nhiều, bao gồm Strings, Sets, Lists, Hashes, SortedSets. Kiểm tra API Upstash.

Giá

Upstash Global Redis:

  • 0,4 ​​đô la mỗi 100 nghìn lượt đọc
  • 2 đô la cho mỗi 100 nghìn lần viết
  • Bộ nhớ:$ 0,25 / GB-tháng

Công nhân Cloudflare KV:

  • 0,5 đô la mỗi triệu lần đọc
  • $ 5 mỗi triệu lần viết
  • Bộ nhớ:$ 0,5 / GB-tháng

Tính di động

Upstash tương thích với Redis. Vì vậy, bạn có thể dễ dàng di chuyển dữ liệu của mình đến bất kỳ nơi nào bạn có thể chạy Redis, bao gồm cả máy tính xách tay của riêng bạn.

Công nhân KV chỉ được hỗ trợ trong Cloudflare worker.

Đọc Độ trễ

Upstash Global phân phối dữ liệu đến 5 khu vực (Bắc Virginia, Oregon, Frankfurt, Singapore, São Paulo). Tùy thuộc vào vị trí của khách hàng, độ trễ đọc dao động từ 10 đến 80 mili giây. Vị trí khách hàng và độ trễ đọc:

  • Hoa Kỳ:10-20 mili giây
  • Đức:10-20 mili giây
  • Braxin:10-20 mili giây
  • Vương quốc Anh:20-30 mili giây
  • Tây Ban Nha:30-40 mili giây
  • Ấn Độ:50-60 mili giây
  • Nam Phi:100-200 mili giây

Công nhân KV lưu trữ các giá trị không thường xuyên đọc các giá trị một cách tập trung, các giá trị phổ biến được lưu trữ trong tất cả các trung tâm dữ liệu Cloudflare. Lần đọc đầu tiên có độ trễ cao (hơn 200 mili giây). Các lần đọc tiếp theo có độ trễ nằm trong khoảng từ 10 đến 30 mili giây. Nhờ số lượng PoP (Điểm hiện diện) cao, Công nhân KV có độ trễ đọc tương tự trên toàn thế giới.

Khi khách hàng ở một địa điểm gần 5 khu vực của Upstash (Bắc Virginia, Oregon, Frankfurt, Singapore, São Paulo), Upstash có độ trễ đọc tương tự với KV Công nhân. Đây là một kết quả đáng ngạc nhiên đối với tôi. Tôi đã mong đợi CF Công nhân KV sẽ có độ trễ tốt hơn nhiều giả sử Cloudflare chạy Công nhân và KV tại cùng một trung tâm dữ liệu. Tôi đang có kế hoạch thực hiện một điểm chuẩn mở rộng hơn và xuất bản dưới dạng một bài đăng trên blog khác.

Cloudflare worker có độ trễ đọc tốt hơn Upstash Redis khi khách hàng ở xa các khu vực Upstash hơn, chẳng hạn như Nam Phi.

Nhất quán

Cả Công nhân KV và Upstash Global Redis cuối cùng đều nhất quán. Điều này có nghĩa là các máy khách cuối cùng sẽ đọc các giá trị mới nhất. Nhưng không đảm bảo rằng tất cả khách hàng sẽ đọc cùng một giá trị hoặc giá trị mới nhất tại một thời điểm cụ thể.

Nếu bạn đang tìm kiếm một cơ sở dữ liệu nhất quán được phân phối toàn cầu, hãy kiểm tra Google Cloud Spanner, CockroachDB hoặc Fauna.

Độ trễ ghi

Upstash sao chép ngay lập tức các bản cập nhật đến các khu vực toàn cầu. Phải mất 300-500 mili giây để bản cập nhật được sao chép tới tất cả các khu vực. Đối với Cloudflare, có thể mất đến 60 giây để các bản cập nhật được truyền tới tất cả các trung tâm dữ liệu khác.

Ghi thông lượng

Cloudflare worker KV có một giới hạn khó mà bạn có thể gửi 1 thao tác ghi vào cùng một khóa mỗi giây. Upstash Redis không có giới hạn như vậy. Bạn có thể thực hiện hàng nghìn lệnh ghi mỗi giây tùy thuộc vào dung lượng gói của bạn (Trả tiền khi sử dụng, Doanh nghiệp, v.v.)

Giới hạn 1 ghi / giây hạn chế Công nhân KV chỉ đọc hoặc đọc các trường hợp sử dụng nặng.

Cách Công nhân KV hoạt động

API thời gian chạy KV công nhân

Cơ sở dữ liệu toàn cầu Upstash