型安全なアクセスと
無限のスケールを
Prisma & PlanetScale

Node.jsとTypeScriptのための次世代ORMであるPrismaを使って、PlanetScaleからデータをクエリできます。

tech

Prismaとは?

Prismaは、優れた開発者体験(DX)で高性能なNext.jsアプリを構築するのに最適なデータベースツールを提供します。

ORM

Prisma ORMは最も人気のあるTypeScript ORMです。人間が読めるスキーマ、自動化されたマイグレーション、直感的で完全に型安全なクエリAPIが付属しています。

Prisma ORMについて詳しく知る

Postgres

Prisma Postgresは、コールドスタートのない最初のサーバーレスデータベースです。ユニカーネルに基づいており、ベアメタル上で動作し、組み込みキャッシュ、高性能クエリ、シームレスなスケーリングを、すべて優れた開発者体験(DX)で提供します。

Prisma Postgresについて詳しく知る

PrismaとPlanetScaleの連携方法

PlanetScaleは、MySQL互換のサーバーレスデータベースで、MySQLの水平スケーリングのためのデータベースクラスタリングシステムであるVitessを搭載しています。PlanetScaleは、無限のスケーリング、従量課金制、ゼロダウンタイムのスキーママイグレーション、そして充実した無料枠など、サーバーレスの多くの利点をデータベースの世界にもたらします。

PrismaはオープンソースのORMであり、PlanetScaleとシームレスに統合し、完全な開発サイクルをサポートします。Prismaは、Prismaスキーマを使用してデータベーススキーマを宣言的に定義し、Prisma Clientを使用してPlanetScaleから完全に型安全なデータを取得するのに役立ちます。これらを一緒に使用することで、リレーショナルデータベースの確立されたすべての利点に加えて、最新の開発者体験、型安全なクエリ、ゼロオペレーション、無限のスケールが得られます。

Prismaスキーマ

The Prismaスキーマは、Prismaのモデリング言語を使用して*データベーススキーマ*を定義します。これにより、データモデリング、特に*リレーション*のモデリングが簡単かつ直感的になります。

Prismaスキーマの構文はGraphQL SDLから強くインスピレーションを受けています。すでにSDLに慣れている方なら、データベーステーブルのモデリングにPrismaスキーマを取り入れるのは非常に簡単でしょう。

1// Define the `User` table in the database
2model User {
3 id String @id @default(cuid())
4 email String @unique
5 password String
6 name String?
7 posts Post[]
8}
9
10// Define the `Post` table in the database
11model Post {
12 id String @id @default(cuid())
13 title String
14 content String?
15 authorId String
16 author User @relation(fields: [authorId], references: [id])
17}

「PlanetScaleとPrismaは比類のない組み合わせであり、最高の開発者体験と実証済みのスケーラビリティをもたらします。」

Sam Lambert
サム・ランバート -
CEO

なぜPrismaとPlanetScaleなのか?

ノンブロッキングなスキーマ変更

PlanetScaleは、本番データベースのロックやダウンタイムなしでデータベーススキーマを更新・進化させるスキーマ変更ワークフローを提供します。

直感的なデータモデリング

Prismaのモデリング言語は宣言的で、データベーススキーマを直感的に記述できます。

型安全なデータベースクライアント

Prisma Clientは、JavaScriptでもオートコンプリートなどの利点を持つ、完全に型安全なデータベースクエリを保証します。

サーバーレス向けに構築

サーバー管理の落とし穴を避け、Prisma & PlanetScaleプロジェクトをサーバーレスランタイムにデプロイすることで、ゼロオペレーションと無限のスケーラビリティを実現します。

簡単なデータベースマイグレーション

Prismaスキーマをデータベースにマッピングすることで、データベーススキーマの管理にSQLを書く必要がなくなります。

フィルター、ページネーション、順序付け

Prisma Clientは、一般的なデータベース機能に便利なAPIを提供することで、ボイラープレートコードを削減します。

course

Prisma & PlanetScaleのベストプラクティス

この動画では、DanielがPrismaとPlanetScaleを使用する際に知っておくべきことをすべてガイドします。参照整合性、外部キー制約なしでの操作方法、`prisma db push`コマンドを使用したPrismaとPlanetScaleによるマイグレーションワークフロー、および最適なパフォーマンスのためのリレーションスカラー(外部キーフィールド)へのインデックス定義について詳しく学びます。

talk

PlanetScaleとPrismaでデータベースをコードとして

Next.js Confでのこの講演で、PlanetScaleチームのTaylor Barnettは、データベースをコードとして実践するという考え方、PrismaとPlanetScaleを使用してモデルを宣言的に定義する方法、そしてサーバーレススタックで分離された開発環境でデータベースを実験するためのブランチの利用について深く掘り下げます。

Prisma & PlanetScaleのリソース

PrismaをPlanetScaleで使用する

このドキュメントでは、PrismaとPlanetScaleを使用する際の概念について説明し、PlanetScaleと他のデータベースプロバイダとの共通点と相違点を解説し、アプリケーションをPlanetScaleと統合するための設定プロセスを案内します。

サーバーレス向けデータベースのスケーリング:Sugu Sougoumaraneとのチャット

現在、VitessはSlack、Roblox、Square、Etsy、GitHubなど、多くの企業でスケールを実現するためのデフォルトデータベースです。しかし、どのようにしてここにたどり着いたのでしょうか?YouTubeでの誕生から、サーバーレスデータベースプラットフォームであるPlanetScaleを支えるデータベースに至るまで、TaylorとSuguはVitessの誕生、なぜMySQLなのか、Vitessがなぜこれほど強力なのか、そしてサーバーレスアプリケーションを構築する開発者にとってVitessがどのように最適であるかについて深く掘り下げます。

© . All rights reserved.