Cloudflare 작업자를 사용하는 경우 Upstash Global Redis 및 작업자 KV가 데이터를 유지하는 가장 좋은 옵션일 것입니다. 이 게시물에서는 Cloudflare 작업자 기능을 위한 데이터 저장소로 간단히 비교할 것입니다.
기능 세트
작업자 KV에는 만료가 있는 키 값 저장소 API가 있습니다.
put(key, value, {expiration: secondsSinceEpoch})
get(key)
delete(key)
list({prefix?: string, limit?: number, cursor?: string})
Upstash Redis에는 Strings, Sets, Lists, Hashes, SortedSets를 포함하여 훨씬 더 큰 API가 있습니다. Upstash API를 확인하세요.
가격
Upstash 글로벌 Redis:
- 100,000회 읽기당 $0.4
- 100,000회 쓰기당 $2
- 저장용량:$0.25/GB-월
Cloudflare 작업자 KV:
- 백만 읽기당 $0.5
- 백만 쓰기당 5달러
- 저장용량:$0.50/GB-월
휴대성
Upstash는 Redis와 호환됩니다. 따라서 자신의 노트북을 포함하여 Redis를 실행할 수 있는 모든 곳으로 데이터를 쉽게 이동할 수 있습니다.
작업자 KV는 Cloudflare 작업자에서만 지원됩니다.
읽기 대기 시간
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는 전 세계적으로 비슷한 읽기 대기 시간을 보입니다.
클라이언트가 Upstash의 5개 지역(버지니아 북부, 오리건, 프랑크푸르트, 싱가포르, 상파울루)과 가까운 위치에 있는 경우 Upstash는 작업자 KV와 읽기 대기 시간이 비슷합니다. 이것은 저에게 놀라운 결과입니다. Cloudflare가 동일한 데이터 센터에서 작업자와 KV를 실행한다고 가정하면 CF 작업자 KV가 훨씬 더 나은 대기 시간을 가질 것으로 예상했습니다. 더 광범위한 벤치마크를 수행하고 다른 블로그 게시물로 게시할 계획입니다.
Cloudflare 작업자는 클라이언트가 남아프리카와 같은 Upstash 지역에서 더 멀리 떨어져 있는 경우 Upstash Redis보다 읽기 지연 시간이 더 좋습니다.
일관성
작업자 KV와 Upstash Global Redis는 모두 결국 일관성이 있습니다. 이것은 클라이언트가 결국 최신 값을 읽게 됨을 의미합니다. 그러나 모든 클라이언트가 특정 시간에 동일하거나 최신 값을 읽는다는 보장은 없습니다.
전 세계적으로 분산된 일관된 데이터베이스를 찾고 있다면 Google Cloud Spanner, CockroachDB 또는 Fauna를 확인하세요.
쓰기 대기 시간
Upstash는 업데이트를 글로벌 지역에 즉시 복제합니다. 업데이트가 모든 지역에 복제되는 데 300-500밀리초가 걸립니다. Cloudflare의 경우 업데이트가 다른 모든 데이터 센터에 전파되는 데 최대 60초가 걸릴 수 있습니다.
쓰기 처리량
Cloudflare 작업자 KV에는 초당 동일한 키로 1개의 쓰기 작업을 보낼 수 있다는 엄격한 제한이 있습니다. Upstash Redis에는 이러한 제한이 없습니다. 요금제 용량(종량제, 엔터프라이즈 등)에 따라 초당 수천 개의 쓰기 명령을 실행할 수 있습니다.
1 쓰기/초 제한은 작업자 KV가 읽기 전용 또는 많은 사용 사례를 읽도록 제한합니다.
링크
작업자 KV 작동 방식
작업자 KV 런타임 API
Upstash 글로벌 데이터베이스