跳到主要內容

比較 Accelerate

Prisma Accelerate 支援服務全球受眾的產品,其全球快取系統和連線池跨越多個區域,無論您的使用者(或您的資料庫)位於世界何處,都能以低延遲提供一致的資料存取。

託管的連線池旨在支援無伺服器基礎架構,能夠輕鬆處理大量連線並適應流量高峰。

探索 Prisma Accelerate 與市場上其他全球快取和連線池解決方案的比較,並了解其獨特之處。

Accelerate 的獨特之處?

Prisma Accelerate 因其獨特的許多關鍵原因而受到許多人的選擇和喜愛

  • Query-Level policies:Accelerate 是唯一提供查詢級別快取策略的解決方案,讓您可以針對每個查詢具體控制快取策略。常見的情況是,有些值需要長時間快取,有些值需要短時間快取,而有些值則根本不應該快取。使用 Accelerate,您可以做到這一點,甚至可以為每個查詢設定不同的快取策略。
  • Global by default:Accelerate 預設為全球分佈。您永遠不需要擔心使用者相對於資料庫位置的位置。
  • Fully managed:您無需管理伺服器或擔心正常運行時間。Accelerate 為您完全託管。
  • Auto-scaling:Accelerate 自動調整資源以匹配工作負載需求,在流量高峰期間提供快速且一致的效能。

Accelerate 全球快取

Prisma Accelerate 提供強大的全球快取,因此您可以將資料在邊緣(最接近使用者位置的點)提供給使用者,無論您的資料庫託管在哪裡。這不僅加快了使用者的體驗,還通過避免往返行程來減少資料庫的讀取負載。

AccelerateHyperdrivePlanetscale Boost
完全託管
全球分佈式邊緣基礎設施
從程式碼控制快取策略
查詢級別快取策略
使用 API 金鑰驗證
Postgres 相容
MySQL 相容
MongoDB 相容
自動快取更新

為什麼這些很重要?

  • 由於 Accelerate 擴展了 Prisma client,您只需額外一行程式碼即可直接從您的程式碼庫控制快取策略。整合是無縫的。以下是使用stale-while-revalidating 快取策略的範例

    await prisma.user.findMany({
    cacheStrategy: {
    swr: 60,
    },
    });
  • 查詢級別快取策略對於嚴肅的應用程式至關重要,這樣您就可以控制哪些查詢被快取以及策略的特性。您可能希望應用程式中的某些資料快取數天,其他資料快取幾分鐘,而其他資料則根本不快取。這只有通過 Prisma Accelerate 才能實現。

  • 使用 API 金鑰進行身份驗證可能是一個有用的安全措施,讓您可以將資料庫憑證與應用程式機密分開。您可以根據需要輕鬆輪換 API 金鑰,而無需在資料庫中進行任何憑證更改

  • 自動快取更新意味著當資料庫中發生更改時,快取會自動更新。使用 Accelerate,您可以控制快取失效的方式,使用各種快取策略

Accelerate 連線池

Prisma Accelerate 包含一個全球託管的連線池,這使您可以輕鬆處理峰值負載。使用連線池對於無伺服器基礎架構尤其重要,因為無伺服器基礎架構本質上無法自行控制到資料庫的連線量。Prisma Accelerate 提供完全託管、全球共置的選項,可自動擴展以支援任何工作負載。

管理

AcceleratepgbouncerpgcatDigital Ocean (pgbouncer)Neon (pgbouncer)SupavisorHyperdrive
完全託管🟠
全球分佈式
與 ORM client 整合
使用 API 金鑰驗證
冗餘

為什麼這些很重要?

  • 如果您決定自行管理連線池(例如,使用 pgbouncer 或 pgcat),您也將負責管理其正常運行時間。如果伺服器崩潰,您的應用程式可能會停機,直到您恢復它。Accelerate 作為完全託管的解決方案,將在極不可能發生的任何基礎架構問題時為您透明地恢復。
  • Digital Ocean 上託管的 pgbouncer 選項是半託管的,您需要在您的 Digital Ocean 帳戶中設定它,並確保它始終順利運行。
  • 使用 API 金鑰進行身份驗證可能是一個有用的安全措施,讓您可以將資料庫憑證與應用程式機密分開。您可以根據需要輕鬆輪換 API 金鑰,而無需在資料庫中進行任何憑證更改
  • 在連線池服務發生故障的極不可能情況下,冗餘很有幫助。使用 Accelerate,它會自動且無縫地移交到另一台伺服器並恢復,而不會有任何中斷。

效能

AcceleratepgbouncerpgcatDigital Ocean (pgbouncer)Neon (pgbouncer)SupavisorHyperdrive
自動擴展
全球分佈式
通過 HTTP 優化的查詢
隔離計算

為什麼這些很重要?

  • Accelerate 將自動向上和向下擴展以適應您的應用程式工作負載,這意味著您永遠不會耗盡計算資源。此外,這提供了重要的冗餘,以防止任何單個計算實例發生故障——在實例發生故障的極不可能情況下,Accelerate 將自動生成一個新實例。
  • 應用程式伺服器與 PgBouncer 或資料庫之間的跨區域 TCP 握手成本高且耗時。如果連線僅在 PgBouncer 層重複使用,則 TCP 握手和連線設定仍然會在每個請求上消耗不必要的時間,這會損害連線重複使用的效率。Prisma Accelerate 通過利用 HTTP 來改進這一點,HTTP 對於連線管理更有效率。它減少了與 TCP 握手相關的開銷,從而實現應用程式和資料庫之間更快、更靈敏的互動。
  • 使用隔離的計算資源,永遠不必擔心「吵雜的鄰居」。其他客戶永遠不會影響您自己的效能。

資料庫支援

AcceleratepgbouncerpgcatDigital Ocean (pgbouncer)Neon (pgbouncer)SupavisorHyperdrive
PostgreSQL
MySQL
Planetscale
CockroachDB
MongoDB