Beyond Prisma ORM
Prisma ORM v6Prisma ORM addresses many development needs, but Prisma's additional products like Prisma Postgres, Accelerate and Optimize can further enhance scalability and performance for your applications.
Prisma ORM covers data modeling, migrations, and type-safe queries. As a production application grows, two problems tend to appear that the ORM alone does not solve: managing database connections under load, and caching the results of frequent queries.
This page describes how Prisma's other products extend the ORM to handle those cases.
Connection pooling and caching with Prisma Accelerate
As your application scales, you will likely need connection pooling to keep the number of database connections under control, and caching to reduce database load and response times. Prisma Accelerate provides both, so you do not have to set up and run separate infrastructure for them.
Prisma Accelerate is particularly useful for applications deployed to serverless and edge environments (also know as Function-as-a-Service) because these deployments lend themselves towards many orders of magnitude more connections being created than a traditional, long-lived application. For these apps, Prisma Accelerate also protects your database from connection exhaustion during traffic spikes.
Try out the Accelerate speed test to measure the difference caching makes.
Improve query performance with connection pooling
Place your connection pooler in one of 15+ global regions to minimize latency between your application and the database, including from serverless and edge environments.
Reduce query latency and database load with caching
Cache query results across 300+ global points of presence. Accelerate extends your Prisma Client with per-query control over caching, using the ttl and swr options.
Handle scaling traffic with managed infrastructure
Accelerate handles millions of queries per day without changes to your infrastructure, and reuses database connections so the same database can serve more traffic.
Get started with Accelerate
Accelerate integrates with your Prisma ORM project through the @prisma/extension-accelerate client extension. Follow the setup guide to enable edge environment support, connection pooling, and global caching.
import { PrismaClient } from "../prisma/generated/client";
import { withAccelerate } from "@prisma/extension-accelerate";
// 1. Extend your Prisma Client with the Accelerate extension
const prisma = new PrismaClient().$extends(withAccelerate());
// 2. (Optionally) add cache to your Prisma queries
const users = await prisma.user.findMany({
cacheStrategy: {
ttl: 30, // Consider data fresh for 30 seconds
swr: 60, // Serve stale data for up to 60 seconds while fetching fresh data
},
});To see more examples, visit our examples repo or try them out yourself with npx try-prisma.
Grow with Prisma
Accelerate and Optimize build on Prisma ORM through Prisma Client Extensions. This is how they add capabilities that are not part of the ORM itself, such as globally distributed caching and connection pooling. Create a free Prisma Data Platform account to try Accelerate with your existing Prisma Client code.
Prisma is also building Prisma Optimize and Prisma Postgres alongside Accelerate, and we would like to hear what you think. Join our community and learn more about each product below.
Fullstack
This page gives explains how to build fullstack applications with Prisma. It shows how Prisma fits in with fullstack frameworks and provides practical examples
Overview on Prisma Schema
The Prisma schema is the main method of configuration when using Prisma. It is typically called schema.prisma and contains your database connection and data model.
