分散データと
強力なツール
Prisma & CockroachDB

CockroachDBとPrismaでデータ管理をスケール – Node.jsとTypeScript向けの次世代ORM。

tech

Prismaとは?

Prismaはデータ操作を容易にします!タイプセーフなNode.js & TypeScript ORM、グローバルデータベースキャッシュ、接続プーリング、リアルタイムデータベースイベントを提供します。

クエリ
// Creating a new record
await prisma.user.create({
firstName: “Alice”,
email: “alice@prisma.io”
})
テーブル
id firstName email
1 Bobby bobby@tables.io
2 Nilufar nilu@email.com
3 Jürgen jums@dums.edu
4 Alice alice@prisma.io

PrismaとCockroachDBの連携

CockroachDBは、クラウドアプリケーションとサービス向けに構築された、リレーショナルデータベースであり、PostgreSQLのワイヤープロトコルと互換性があります。スケールに関するタスクを自動化するため、開発者はリレーショナルデータベースが提供するデータの整合性、またはNoSQLの可用性のどちらかを選択する必要がなくなります。また、CockroachDBを使用すると、開発者はデータベースのデプロイや継続的な管理/運用について心配する必要がありません。

Prismaは、CockroachDBとシームレスに統合し、開発ライフサイクル全体をサポートするオープンソースORMです。Prismaスキーマを使用してデータベーススキーマを宣言的に定義し、Prisma Clientを使用してCockroachDBから完全にタイプセーフな方法でデータを取得できます。

2つのテクノロジーを組み合わせることで、開発者はデータベースのホスティングとスケーリングの専門家でなくても、分散データベースのスケーラブルなインフラストラクチャにアクセスできるようになります。

Prismaスキーマ

Prismaスキーマは、Prismaのモデリング言語を使用してデータベーススキーマを定義します。データモデリングを簡単かつ直感的に行えるようにします。特に、リレーションのモデリングに役立ちます。

データベーススキーマの移行は簡単です。Prismaスキーマのデータモデルを更新し、prisma db pushを実行してスキーマの変更を適用すると、CockroachDBがクラスター内の各データベースへの変更の適用を処理します。

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}

「CockroachDBとPrismaは最高の組み合わせです。データが簡素化されるだけでなく、データベース操作が不要になるため、本来注力すべきコードに集中できます。」

Aydrian HowardAydrian Howard -
デベロッパーアドボケイト of Cockroach Labs

PrismaとCockroachDBを選ぶ理由

ダウンタイムなしの移行

CockroachDBはデータベースを単一の論理データベースにクラスタリングするため、スキーマ移行を段階的に適用できます。

イントロスペクションと最適化ツール

イントロスペクションを使用すると、データベーススキーマの読みやすい表現を取得できます。ここで、インデックスを表示および変更できます。

複数のクラウドプロバイダーへのデプロイ

CockroachDBのマルチクラウドデプロイメントを使用すると、データベースクラスターを複数のプロバイダーに同時にデプロイすることで、クラウド固有の障害を回避できます。

タイプセーフなデータベースクライアント

Prisma Clientは、JavaScriptでもオートコンプリートなどの利点がある、完全にタイプセーフなデータベースクエリを保証します。

サーバーレス環境での参照整合性

CockroachDBの分散データモデルにより、リレーショナルデータを単一の論理データベースであるかのように管理できます。

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

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

blog post

CockroachDBに対するPrismaのサポートは本番環境に対応

この記事では、Prisma CockroachDBコネクタの一般提供開始を発表し、PrismaとCockroachDBを一緒に使用する理由をいくつか見ていきます。

showcase

Tryg社がPrismaを活用してデータを民主化する方法

Tryg社がさまざまなデータソースから数十億件のレコードを変換し、GraphQLとPrismaを介して単一のデータモデルを公開する方法。

注目のPrisma & CockroachDBリソース

CockroachDBデータソースコネクタのドキュメント

ドキュメントのこのセクションでは、PrismaのCockroachDBデータソースコネクタの詳細について説明します。

PrismaとCockroachDBの使用

ドキュメントのこのセクションでは、PrismaとCockroachDBの使用に関する概念、CockroachDBと他のデータベースプロバイダー間の共通点と相違点、およびアプリケーションをCockroachDBと統合するための構成プロセスについて学習します。