Node.jsとTypeScriptのための次世代ORMであるPrismaを使って、PlanetScaleからデータをクエリできます。
Prismaは、優れた開発者体験(DX)で高性能なNext.jsアプリを構築するのに最適なデータベースツールを提供します。
Prisma ORMは最も人気のあるTypeScript ORMです。人間が読めるスキーマ、自動化されたマイグレーション、直感的で完全に型安全なクエリAPIが付属しています。
Prisma ORMについて詳しく知るPrisma Postgresは、コールドスタートのない最初のサーバーレスデータベースです。ユニカーネルに基づいており、ベアメタル上で動作し、組み込みキャッシュ、高性能クエリ、シームレスなスケーリングを、すべて優れた開発者体験(DX)で提供します。
Prisma Postgresについて詳しく知るPlanetScaleは、MySQL互換のサーバーレスデータベースで、MySQLの水平スケーリングのためのデータベースクラスタリングシステムであるVitessを搭載しています。PlanetScaleは、無限のスケーリング、従量課金制、ゼロダウンタイムのスキーママイグレーション、そして充実した無料枠など、サーバーレスの多くの利点をデータベースの世界にもたらします。
PrismaはオープンソースのORMであり、PlanetScaleとシームレスに統合し、完全な開発サイクルをサポートします。Prismaは、Prismaスキーマを使用してデータベーススキーマを宣言的に定義し、Prisma Clientを使用してPlanetScaleから完全に型安全なデータを取得するのに役立ちます。これらを一緒に使用することで、リレーショナルデータベースの確立されたすべての利点に加えて、最新の開発者体験、型安全なクエリ、ゼロオペレーション、無限のスケールが得られます。
The Prismaスキーマは、Prismaのモデリング言語を使用して*データベーススキーマ*を定義します。これにより、データモデリング、特に*リレーション*のモデリングが簡単かつ直感的になります。
Prismaスキーマの構文はGraphQL SDLから強くインスピレーションを受けています。すでにSDLに慣れている方なら、データベーステーブルのモデリングにPrismaスキーマを取り入れるのは非常に簡単でしょう。
1// Define the `User` table in the database2model User {3 id String @id @default(cuid())4 email String @unique5 password String6 name String?7 posts Post[]8}910// Define the `Post` table in the database11model Post {12 id String @id @default(cuid())13 title String14 content String?15 authorId String16 author User @relation(fields: [authorId], references: [id])17}
「PlanetScaleとPrismaは比類のない組み合わせであり、最高の開発者体験と実証済みのスケーラビリティをもたらします。」
PlanetScaleは、本番データベースのロックやダウンタイムなしでデータベーススキーマを更新・進化させるスキーマ変更ワークフローを提供します。
Prismaのモデリング言語は宣言的で、データベーススキーマを直感的に記述できます。
Prisma Clientは、JavaScriptでもオートコンプリートなどの利点を持つ、完全に型安全なデータベースクエリを保証します。
サーバー管理の落とし穴を避け、Prisma & PlanetScaleプロジェクトをサーバーレスランタイムにデプロイすることで、ゼロオペレーションと無限のスケーラビリティを実現します。
Prismaスキーマをデータベースにマッピングすることで、データベーススキーマの管理にSQLを書く必要がなくなります。
Prisma Clientは、一般的なデータベース機能に便利なAPIを提供することで、ボイラープレートコードを削減します。
この動画では、DanielがPrismaとPlanetScaleを使用する際に知っておくべきことをすべてガイドします。参照整合性、外部キー制約なしでの操作方法、`prisma db push`コマンドを使用したPrismaとPlanetScaleによるマイグレーションワークフロー、および最適なパフォーマンスのためのリレーションスカラー(外部キーフィールド)へのインデックス定義について詳しく学びます。
Next.js Confでのこの講演で、PlanetScaleチームのTaylor Barnettは、データベースをコードとして実践するという考え方、PrismaとPlanetScaleを使用してモデルを宣言的に定義する方法、そしてサーバーレススタックで分離された開発環境でデータベースを実験するためのブランチの利用について深く掘り下げます。
このドキュメントでは、PrismaとPlanetScaleを使用する際の概念について説明し、PlanetScaleと他のデータベースプロバイダとの共通点と相違点を解説し、アプリケーションをPlanetScaleと統合するための設定プロセスを案内します。
現在、VitessはSlack、Roblox、Square、Etsy、GitHubなど、多くの企業でスケールを実現するためのデフォルトデータベースです。しかし、どのようにしてここにたどり着いたのでしょうか?YouTubeでの誕生から、サーバーレスデータベースプラットフォームであるPlanetScaleを支えるデータベースに至るまで、TaylorとSuguはVitessの誕生、なぜMySQLなのか、Vitessがなぜこれほど強力なのか、そしてサーバーレスアプリケーションを構築する開発者にとってVitessがどのように最適であるかについて深く掘り下げます。
コミュニティメンバーやPrismaチームと交流できる複数のチャンネルを用意しています。