2024年7月5日

SolinがPrisma Accelerateを活用して1日あたり250万件のデータベースクエリを処理する方法

Solinは、クリエイター向けの主要なフィットネスマーケットプレイスであり、Prisma Accelerateを統合することでプラットフォームを改善しました。この記事では、Prisma Accelerateがそのスケーラブルな接続プールとグローバルデータベースキャッシュにより、パフォーマンスと信頼性を向上させることで、Solinの成功にどのように貢献したかを紹介します。

How Solin Uses Prisma Accelerate to Serve 2.5M Database Queries per Day

Solinがフィットネス業界にデジタル革命をもたらす

急速に進化するフィットネス業界では、時代の最先端を行くためには、革新的なアイデアだけでなく、信頼性とスケーラビリティに優れたテクノロジーソリューションが不可欠です。Solinは、クリエイターがプログラム、チャレンジ、メンバーシップ、料理本などを販売できる主要なフィットネスマーケットプレイスであり、Prisma Accelerateを統合することでプラットフォームを改善しました。

この記事では、Prisma AccelerateがSolinのプラットフォームにどのように貢献し、パフォーマンスと信頼性を向上させたか、そしてなぜ他の企業もこのツールの恩恵を受けることができるのかを強調します。

Solinはフィットネスクリエイターと消費者を繋ぎ、クリエイターがワークアウトプログラム、チャレンジ、料理本など、フィットネス関連の様々な製品やサービスを販売できるマーケットプレイスを提供しています。消費者はこれらのサービスに加え、コミュニティ機能や成果追跡機能も利用でき、よりインタラクティブで実践的なデジタルフィットネス体験を促進します。

スタック:フルスタックRemix + Prisma ORM

SolinはアプリケーションにフルスタックフレームワークとしてRemixを使用しています。当初はHerokuでホストされた従来のNode.js APIから始めましたが、しばらくしてRemixに完全移行することを決定し、新しいホスティングプロバイダーとしてVercelに切り替えました。

彼らはRemixのサーバーサイド機能を利用し、Prisma ORMを使用してデータベースをクエリし、Vercel経由でデプロイされるサーバーレス関数を使ってAPI層全体を実装しています。

彼らのPostgreSQLデータベースはHerokuでホストされています。

Accelerateの接続プールで1日あたり250万件のデータベースクエリを処理

サーバーレス関数からデータベースにアクセスする場合、トラフィックの急増時にデータベース接続の制限を使い果たし、接続が枯渇しがちです。これにより、リクエストが失敗し、ユーザーが不満を抱くことになります。

このような状況では、接続を維持し再利用を保証できる外部接続プールを追加することが重要です。そのため、SolinはPrisma Accelerateをアプリケーションスタックに統合することを決定しました!スケーラブルな接続プールとPrisma ORMとのシームレスな統合により、Prisma Accelerateはサーバーレス環境でデータ駆動型アプリケーションを構築するための完璧なパートナーです。

Solinにとってこれは、急速に増大するフィットネスプラットフォームへの需要に容易に対応し、数千人のユーザーにスケールさせ、1日あたり250万件以上のデータベースクエリを処理できることを意味します。

トラフィックの急増への対処法については、最近の投稿「接続プーリングでブラックフライデーを救う」で詳しく学ぶことができます。

データベースキャッシュによる驚異的な高速応答時間

Prisma Accelerateは接続プールを提供するだけでなく、クエリごとに有効にできるグローバルキャッシュも付属しています。キャッシュはほとんど変更されないコンテンツで特に効果的に機能するため、SolinはすべてのランディングページをPrisma Accelerateで強化しています。キャッシュのおかげで、Solinのユーザーはサイトにアクセスする際に驚異的な高速応答時間を得ることができます。

「Accelerateはランディングページに完璧にフィットします。キャッシングを活用してクエリを高速化し、レイテンシを削減することで、驚くほど高速になります。これは明らかに、ランディングページが速くなり、コンバージョン率の向上につながることを意味します。」 – Blake Carroll, CTO @ Solin

SolinはPrisma Clientのクエリで、swrStale-While-Revalidate)とttlTime-To-Live)オプションを組み合わせて使用し、クエリレベルでのキャッシング動作を制御しています。

これらのオプションの使い方の例を次に示します。

データベースキャッシュを統合する利点は、高速応答だけではありません!データベースサーバーへの負荷も著しく軽減され、より複雑なクエリのためにリソースが解放されます。データベースサーバーへの負荷が軽減されることで、運用コストも削減されます。

キャッシングのメリットについては、最近の記事「Speed and Savings: Prisma Accelerateによるデータベースクエリのキャッシング」をご覧ください。

一目でわかる:SolinがPrisma Accelerateを利用するメリット

まとめると、SolinはPrisma Accelerateを利用することで以下の恩恵を受けています。

  • 速度と効率性:Prisma Accelerateは、キャッシュされたクエリとされていないクエリの両方で高速なクエリパフォーマンスを提供します。迅速なデータアクセスと最小限のレイテンシはSolinにとって非常に重要です。
  • 信頼性:Prisma Accelerateに切り替えて以来、Solinは接続の問題に遭遇しておらず、特にピーク時の稼働時間を向上させています。
  • シームレスな統合と優れたDX:Prisma Accelerateとの統合プロセスは簡単で、Solinは最小限の労力でセットアップとキャッシング戦略の構成を行うことができました。

Accelerateを試してデータベースクエリを高速化しよう

Accelerate Speed Testを実行するか、Accelerateがクエリパフォーマンスとアプリケーションの稼働時間をどのように改善するかをデモンストレーションする5分間の説明ビデオを見て、Prisma Accelerateで得られる速度向上を実感してください。

次回の投稿もお見逃しなく!

Prismaニュースレターに登録する

© . All rights reserved.