Upstash Global 2.0発表:超高速・リージョン柔軟性・ダウンタイムゼロのスケーリングを実現
Upstashユーザーの皆様にお知らせできることを嬉しく思います。この度、グローバルデータベース(Redis)の最新版「Global 2.0」をリリースしました。新しいグローバルデータベースでは、利用するリージョンを自由に選択できます。さらに注目すべきは、稼働中のクラスターに対してダウンタイムなしでリージョンの追加・削除が行える点です。各リージョンは、低レイテンシと高可用性を実現するためにデータのコピーを保持するレプリカとして機能します。
エッジ関数向けに設計
Cloudflare WorkersやVercel Edgeなどのエッジランタイムは、ユーザーに最も近いロケーションでコードを実行することで圧倒的な速度を実現します。しかし、ユースケースでデータストレージが必要な場合、最適なパフォーマンスを引き出すにはデータストアもユーザーの近くに配置することが不可欠です。Upstash Globalは、データを複数のリージョンへ複製することでこの課題を解決します。
また、エッジランタイムには特有の制限事項がありますが、UpstashはVercel、Cloudflare、Fastly、Denoといった主要なエッジランタイムでの動作を検証済みの、HTTPベースのRedis®クライアントを提供しています。
どこからでも低レイテンシで読み取り可能
グローバルデータベースは、読み取りレイテンシの最小化を目的として設計されています。データベースは単一のプライマリレプリカと複数の読み取りレプリカで構成されます。書き込みコマンドはプライマリレプリカに送信されて処理され、その後すべての読み取りレプリカへ複製されます。クライアントが読み取りコマンドを送信すると、最も近い読み取りレプリカ(リージョン)からレスポンスを取得します。一方、書き込みリクエストはすべて整合性を保つためにプライマリレプリカへ送られます。
社内テストでは、Redis®インスタンスと同じAWSリージョン内にあるクライアントに対し、サブミリ秒のレイテンシを確認しています。
読み取りは最寄りのレプリカで処理

書き込みはプライマリで処理

リージョンを自由に選択
新しいグローバルデータベースでは、作成時にプライマリリージョンと読み取りリージョンを選択します。
- → 書き込みが発生するプライマリリージョンを選択することで、書き込みが高速化されます。
- → ユーザーベースの大部分をカバーできるように読み取りリージョンを選択します。
現在サポートされているリージョンは以下の8か所です。
- AWS US-East-1(北バージニア)
- AWS US-West-1(北カリフォルニア)
- AWS US-West-2(オレゴン)
- AWS EU-West-1(アイルランド)
- AWS EU-Central-1(フランクフルト)
- AWS AP-SouthEast-1(シンガポール)
- AWS AP-SouthEast-2(シドニー)
- AWS SA-East-1(サンパウロ)

料金体系
従来のバージョンと同様、料金は実行されたコマンド数に基づきます。10万コマンドあたり0.20ドルです。複製処理もコマンドとしてカウントされるため、例えばプライマリ1つ+読み取りリージョン1つの構成で10万回の書き込みを行った場合は、0.40ドル(0.20ドル×2)となります。
ストレージ費用はGBあたり月額0.25ドルです。1GBのデータを合計4リージョンで保持する場合、月額1ドルになります。
無料プランでは、1日1万コマンドと最大1つの読み取りリージョンを利用できます。
今後の展開
新リージョンの追加
現在8つのAWSリージョンでサービスを開始しましたが、今後は新規リージョンや他クラウドプロバイダーへの対応によってカバレッジを拡大していく予定です。特定のリージョンに関するご要望があれば、support@upstash.comまでお気軽にお問い合わせください。
キーごとのプライマリリージョン指定
将来的には、キー単位でプライマリリージョンを指定できるようになります。例えば、xyz{us-east-1}というキーはus-east-1をプライマリレプリカとして持ち、xyz{here}というキーは最も近いリージョンをプライマリレプリカとします。これにより、アプリケーションが最寄りのレプリカへ直接書き込むユースケース(低い書き込みレイテンシ)が実現可能になります。
ベンチマークアプリケーション
複数のデータベース製品に対してインタラクティブにクエリを実行し、レイテンシを比較レポートするアプリケーションを開発中です。このツールを活用すれば、地理的な要件に応じて最速の製品を選定できます。
おわりに
私たちにとって重要なリリースであるため、皆様からのフィードバックやご意見をお待ちしています。まずはグローバルデータベースのドキュメントをご確認いただき、コメントやご要望があればDiscordやTwitterまでお気軽にお寄せください。
-
Redis GEOPOSコマンドの使い方 – 地理空間データからメンバーの経度・緯度を取得する方法
このチュートリアルでは、Redisに保存された地理空間値(ジオ空間データ)から、1つまたは複数のメンバーの経度・緯度を取得する方法を解説します。この操作には、RedisのGEOPOSコマンドを使用します。 GEOPOSコマンドとは GEOPOSコマンドは、キーに保存された地理空間値(ソート済みセット)の中から、指定した1つ以上のメンバーの経度・緯度を返すためのコマンドです。 GEOADDコマンドで座標(経度・緯度)を地理空間値に挿入する際、それらの値は52ビットのGeohashに変換されます。そのため、GEOPOSで取得される座標は、挿入時に入力した値と完全に一致するとは限らず、わずかな誤差が
-
Upstash Global 2.0発表:超高速・リージョン柔軟性・ダウンタイムゼロのスケーリングを実現
Upstashユーザーの皆様にお知らせできることを嬉しく思います。この度、グローバルデータベース(Redis)の最新版「Global 2.0」をリリースしました。新しいグローバルデータベースでは、利用するリージョンを自由に選択できます。さらに注目すべきは、稼働中のクラスターに対してダウンタイムなしでリージョンの追加・削除が行える点です。各リージョンは、低レイテンシと高可用性を実現するためにデータのコピーを保持するレプリカとして機能します。 エッジ関数向けに設計 Cloudflare WorkersやVercel Edgeなどのエッジランタイムは、ユーザーに最も近いロケーションでコードを実行する