AIゼーション vol.9

ベクトル形式でデータを保存するのに、Upstashが使用されます。

Upstashは、サーバーレス環境で使用できるRedisとKafkaのデータベースを提供するサービスです。特に、Redisはキャッシュやエフェメラルな用途だけでなく、AOFモードによるデータ永続性もサポートしているため、従来のデータベースのようにデータの保持も可能です。Upstashは、日本のリージョン(AP-NORTH-EAST-1)にも対応しており、国内ユーザーにとっても利用しやすいサービスです。

特徴とメリット

  1. REST APIによる操作: HTTPリクエストを通じて簡単に操作できるため、Cloudflare WorkersやVercelなどのサーバーレスプラットフォームでの利用が可能です。
  2. サーバーレス特化: 従量課金制のため、リクエストごとに料金が発生し、無駄なくコスト管理ができます。また、料金には上限が設定されており、突発的な高額請求のリスクが低いです。
  3. 簡単な接続方法: Node.js、Deno、またはcurlなど様々な手段で簡単に接続可能です。公式のSDKも用意されており、Node.jsやDeno Deployに対応しています。
  4. 制限付きの無料プラン: 無料で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は、サーバーレスデータベースを手軽に始められるサービスで、キャッシュやデータの永続化が簡単に行えるため、多様な環境での利用が進んでいます。

それではまた、ごきげんよう!