Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

CloudflareワーカーKVとUpstashRedis

Cloudflareワーカーを使用している場合は、UpstashGlobalRedisとWorkersKVがデータを保持するための最良のオプションである可能性があります。この投稿では、Cloudflareワーカー機能のデータストアとしてそれらを簡単に比較します。

機能セット

Workers KVには、有効期限のあるKey Value Store APIがあります:

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

Upstash Redisには、文字列、セット、リスト、ハッシュ、SortedSetsなどのはるかに大きなAPIがあります。 UpstashAPIを確認してください。

価格

Upstash Global Redis:

  • 10万回の読み取りあたり$0.4
  • 10万回の書き込みにつき$2
  • ストレージ:$ 0.25/GB-月

CloudflareワーカーKV:

  • 100万回の読み取りあたり$0.5
  • 100万回の書き込みあたり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の読み取りレイテンシはWorkersKVと同様です。 これは私にとって驚くべき結果です。 Cloudflareが同じデータセンターでWorkersとKVを実行していると仮定すると、CFWorkersKVのレイテンシーははるかに優れていると期待していました。より広範なベンチマークを実行し、別のブログ投稿として公開する予定です。

Cloudflareワーカーは、クライアントが南アフリカなどのUpstashリージョンから遠く離れている場合、UpstashRedisよりも読み取りレイテンシが優れています。

一貫性

WorkersKVとUpstashGlobalRedisは結果整合性があります。これは、クライアントが最終的に最新の値を読み取ることを意味します。ただし、すべてのクライアントが特定の時間に同じ値または最新の値を読み取ることは保証されていません。

グローバルに分散された一貫性のあるデータベースを探している場合は、Google Cloud Spanner、CockroachDB、またはFaunaを確認してください。

書き込みレイテンシ

Upstashは、更新をグローバルリージョンに即座に複製します。更新がすべてのリージョンに複製されるまで、300〜500ミリ秒かかります。 Cloudflareの場合、更新が他のすべてのデータセンターに伝播されるまでに最大60秒かかる場合があります。

書き込みスループット

Cloudflare Workers KVには、1秒間に同じキーに1回の書き込み操作を送信できるという厳しい制限があります。 UpstashRedisにはそのような制限はありません。プランの容量(従量課金制、エンタープライズなど)に応じて、1秒あたり数千の書き込みコマンドを実行できます

1書き込み/秒の制限により、ワーカーKVは読み取り専用または大量のユースケースの読み取りに制限されます。

リンク

ワーカーKVの仕組み

ワーカーKVランタイムAPI

Upstashグローバルデータベース


  1. CloudflareワーカーとサーバーレスRedisを使用して、Webサイト用の独自の待合室を構築します

    このブログ投稿では、あなたのウェブサイトの待合室ページを実装します。 なぜですか? あなたのウェブサイトの訪問者の数が多いことは一般的に良いことですが、常にではありません。突然の高トラフィックは、アプリケーションを簡単に圧倒し、サービスを完全に中断させる可能性があります。待合室は、トラフィックを制御し、トラフィックの急増時にリソースを保護するのに役立つソリューションです。 Cloudflareの待合室は優れたソリューションですが、ビジネスアカウントとエンタープライズアカウントでのみ利用できます。心配しないでください。このブログでは、CloudflareWorkersとUpstashRedis

  2. CloudflareワーカーとのRedis@Edge

    エッジでのコンピューティングは、近年最もエキサイティングな機能の1つです。 CDNを使用すると、ファイルをユーザーに近づけることができます。エッジコンピューティングを使用すると、アプリケーションをユーザーの近くで実行できます。これは、開発者がグローバルに分散されたパフォーマンスの高いアプリケーションを構築するのに役立ちます。 Cloudflare Workersは、現在この分野の主要製品です。コールドスタートのないサーバーレス処理環境を提供します。 Cloudflareのグローバルネットワークを活用して、アプリケーションのレイテンシーを最小限に抑えます。関数はJavascript、Rust、