AIゼーション vol.9
ベクトル形式でデータを保存するのに、Upstashが使用されます。
Upstashは、サーバーレス環境で使用できるRedisとKafkaのデータベースを提供するサービスです。特に、Redisはキャッシュやエフェメラルな用途だけでなく、AOFモードによるデータ永続性もサポートしているため、従来のデータベースのようにデータの保持も可能です。Upstashは、日本のリージョン(AP-NORTH-EAST-1)にも対応しており、国内ユーザーにとっても利用しやすいサービスです。
特徴とメリット
- REST APIによる操作: HTTPリクエストを通じて簡単に操作できるため、Cloudflare WorkersやVercelなどのサーバーレスプラットフォームでの利用が可能です。
- サーバーレス特化: 従量課金制のため、リクエストごとに料金が発生し、無駄なくコスト管理ができます。また、料金には上限が設定されており、突発的な高額請求のリスクが低いです。
- 簡単な接続方法: Node.js、Deno、またはcurlなど様々な手段で簡単に接続可能です。公式のSDKも用意されており、Node.jsやDeno Deployに対応しています。
- 制限付きの無料プラン: 無料で1日あたり10,000回のコマンド使用が可能で、東京リージョンを選択した場合、256MBまでのシングルリージョンデータベースを利用できます。
ユースケース例
特に、Next.jsなどのサーバーレスフレームワークでキャッシュ目的としてRedisを利用することが多く、例えばECサイトのAPIレスポンスをキャッシュすることで、表示速度を向上させる効果が期待できます。
接続例
Denoを使った接続方法の一例として、次のようなコードでカウントのインクリメントを行えます。
import { Redis } from "https://deno.land/x/upstash_redis/mod.ts"; const redis = new Redis({ url: "<UPSTASH_REDIS_REST_URL>", token: "<UPSTASH_REDIS_REST_TOKEN>", }); const data = await redis.incr("count"); console.log(data);
総評
Upstashは、サーバーレスデータベースを手軽に始められるサービスで、キャッシュやデータの永続化が簡単に行えるため、多様な環境での利用が進んでいます。
それではまた、ごきげんよう!