Prisma Postgres の概要
Prisma Postgresは、新しいデータベースを簡単に作成し、Prisma ORMを介して操作し、小規模かつ安価に開始して数百万人のユーザーにスケールできるマネージドPostgreSQLデータベースサービスです。
以下のワークフローをサポートしています
- スキーママイグレーションとクエリ(Prisma ORM経由)
- コネクションプーリングとキャッシング(Prisma Accelerate経由)
料金
従量制料金
Prisma Postgresの料金は以下の通りです
- 操作数
- ストレージ(GiB単位)
操作とは、基盤となるSQLがどれほど単純または複雑であるかにかかわらず、作成、読み取り、更新、削除を行うたびにカウントされます。単一行の検索であろうと複雑なJOINクエリであろうと、それは1つの操作としてカウントされ、同じ費用がかかります。詳細については、操作ベースの料金に関するブログ記事をご覧ください。
すべての操作を均等に扱うことで、書き込み負荷の高いワークロードが料金を押し上げたり、帯域幅の高いリクエストが予期せずコストを膨らませる心配がありません。データベースコストを実際の製品使用量やユーザー行動に直接関連付けることができ、予測や予算編成をシンプルかつ予測可能にします。
詳細については、料金ページをご覧ください。
利用上限
Prisma Postgresでは、予期せぬ請求が発生しないように上限を設定できます。設定した上限の75%に達するとアラートを受け取り、100%に達するとデータベースは一時停止されます。これにより、予期せぬ請求が発生することはなく、常に支出を完全に管理できます。利用上限はProプラン以上で利用可能です。利用上限は、選択したプランの基本料金よりも高く設定する必要があることに注意してください。たとえば、Proプランの場合、利用上限は基本プラン料金の$49を超える必要があります。
サブスクリプション変更時のデータベース再起動
サブスクリプションをStarterからPro/Businessへ、またはPro/BusinessからStarterへ変更すると、データベースインスタンスが再起動されます。これにより、約1秒のダウンタイムが発生する可能性があります。
これは一時的なものです。将来的には、プランのアップグレードまたはダウングレード時にダウンタイムは発生しません。
Prisma Accelerateとのバンドル
Prisma PostgresにはPrisma Accelerateがバンドルされています。
Prisma Accelerate用クライアント拡張の使用(必須)
Prisma PostgresへのすべてのトラフィックはAccelerateのコネクションプールを経由するため、プロジェクトに@prisma/extension-accelerate
npmパッケージがインストールされている必要があります。その後、データベースとやり取りするために使用するPrismaClient
インスタンスに拡張機能を適用する必要があります
import { PrismaClient } from '@prisma/client'
import { withAccelerate } from '@prisma/extension-accelerate'
const prisma = new PrismaClient()
.$extends(withAccelerate())
技術詳細
PostgreSQLバージョン
Prisma PostgresはPostgreSQL v17に基づいています。
アーキテクチャ
Prisma Postgresは、比類のない効率性、安全性、使いやすさを提供するために独自のアーキテクチャを使用しています。ベアメタルサーバー上にユニカーネル(「超特殊化されたオペレーティングシステム」と考えてください)を使用してデプロイされています。
このアーキテクチャの詳細については、こちらの記事をご覧ください: Prisma Postgres®: ユニカーネルとMicroVMsを使用したモダンなPostgreSQLサービスの構築。