Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Next.jsに最適なデータベース

Next.jsを使用すると、開発者はサーバー側レンダリング機能を備えたフルスタックアプリケーションを構築できます。 VercelとNetlifyは、サーバーレス関数を使用してバックエンドAPIを作成するのに役立ちます。次の質問は、Next.jsアプリの理想的なデータベースは何かということです。この投稿では、Next.jsコミュニティで人気のあるデータベースを確認します。それらがサーバーレスモデルにどのように適合するかについてコメントします。確認すべき2つのこと:

  • サーバーレス価格設定:価格は従量制ですか?データベースが使用されていない場合でも、料金を支払う必要がありますか?
  • サーバーレス接続:HTTPベースの接続はサポートされていますか?したがって、サーバーレス機能で一般的な接続の問題は発生しないはずです。

TLDR

PlanetScale、Supabase、Upstash、Fauna、DynamoDB、MongoDBAtlasを確認しました。以下の表を確認して、各製品の機能セットを比較してください。

機能 PlanetScale スーパーベース アップスタッシュ 動物相 DynamoDB MongoDB Atlas
API MySQL PostgreSQL Redis 動物相 DynamoDB MongoDB
タイプ リレーショナル リレーショナル KVストア ドキュメント ドキュメント ドキュメント
無料利用枠 🟢 🟢 🟢 🟢 🟢 🟢
サーバーレス価格 🟡(最低$ 29) 🟡(最低$ 25) 🟢 🟡(最低$ 22.5) 🟢 🟢
REST API 🔴 🟢 🟢 🟢 🟢 🟢
GraphQL API 🔴 🔴 🔴 🟢 🔴 🔴
グローバルレプリケーション 🔴 🔴 🟢 🟢 🟢 🟡(専用のみ)
データベースの分岐 🟢 🔴 🔴 🔴 🔴 🔴
リアルタイム更新 🔴 🟢 🔴 🔴 🟢 🟡(レルム経由)
価格の読み取り $ 1.5 / 10m $ 0.09 / GB $ 0.2 / 100K $ 0.45 / 1m(4KB) $ 0.25 / 1m(2KB) $ 0.3 / 1m(4KB)
価格の書き込み $ 1.5 / 1m $ 0.09 / GB $ 0.2 / 100K $ 2.25 / 1m(1KB) $ 1.25 / 1m(1KB) $ 1.25 / 1m(1KB)
価格ストレージ $ 1.25 / GB $ 0.125 / GB $ 0.25 / GB $ 0.23 / GB $ 0.25 / GB $ 0.25 / GB

PlanetScale

  • PlanetScaleは、サービスとしてのMySQL互換データベースです。
  • バックグラウンドでVitessを使用しています。 VitessはYoutubeのような巨人によって積極的に使用されているので、これは素晴らしいことです。
  • PlanetScaleは、データベース分岐の概念を導入しました。 gitと同じように、ブランチを作成し、スキーマの変更を本番データベースにマージできます。 Afaik、この機能はPlanetScaleに固有のものです。
  • 1か月あたりの読み取り数が1億回の無料枠があります。
  • 有料プランは29ドルから。有料プランの主な価格要素は次のとおりです。
    • ストレージ/月:最初の25GB以降は$1.25 / GB
    • 読み取り/月:最初の500m後、10mあたり$ 1.50
    • 書き込み/月:最初の50m後、1mあたり$ 1.50
  • PlanetScaleにはHTTP/RESTベースのAPIがありません。

Next.jsに最適なデータベース

私のコメント:
  • ホームページには次のように記載されています:Github、Square、Slackなどによって信頼されています。これらの企業はPlanetScaleまたはVitessを使用していますか?これらの企業がPlanetScaleを使用している場合、それは素晴らしいことです。そうでなければ、私はこのタイプのマーケティングについて気分が良くありません。 Trusting Vitess およびTrusting PlanetScale 別のものです
  • PlanetScaleでは、TCPベースの接続(MySQL接続)を使用する必要があります。サーバーレス機能はステートレスであるため、これは問題になる可能性があります。 Vitessにとって接続数は問題ではないが、プランには最大接続制限があると言われています。
  • HTTP / REST APIがないため、CloudflareWorkersおよびVercelEdgeプラットフォームからPlanetScaleを使用できません。これは、TCP接続が許可されていないためです。
  • Planetscaleの有料プランは29ドルから始まるため、価格はゼロになりません。 DBを使用していない場合でも、少なくとも1デシベルあたり29ドルを使用する必要があります。これはserverlessの定義と矛盾していると思います 。
便利なリンク:
  • 詳細な価格
  • Next.jsとPrismaでPlanetscaleを使用したチュートリアル
  • PlanetscaleとNext.jsを使用し、Vercelにデプロイするビデオチュートリアル
  • PlaneScaleの立ち上げに関するHackernewsのコメント
スーパーベース
  • Supabaseは、データベース、認証サービス、ストレージなどの開発者ツールのコレクションです。彼らは自分たちをOpen Source Firebase Alternativeと呼んでいます
  • SupabaseはPostgreSQLデータベースを提供します。
  • Firebaseと同様に、Supabaseを使用すると、開発者はデータベースの変更をリアルタイムで聞くことができます。
  • Supabaseは、PostgRESTを使用してRESTfulAPIを提供します。これは、サーバーレス機能でSupabaseを使用する場合に特に便利です。
  • SupabaseはRESTAPIのおかげでCloudflareワーカーで使用できます。これを確認してください。
  • Supabaseの無料利用枠は、毎月500MBのストレージと2GBのデータ転送に制限されています。
  • PlanetScaleと同様に、Supabaseの有料データベースの最小コストは月額25ドルです。 Paygの価格設定の概要:
    • ストレージ:1GBあたり月額$ 0.125
    • データ転送:1GBあたり0.09ドル

Next.jsに最適なデータベース

私のコメント:
  • Supabaseは、データベース、認証サービス、オブジェクトストレージ、およびserverless functionsを提供します がやってくる。スタートアップが高品質で多くのサービスを提供し、Googleが支援するFirebaseと競争するのは難しいかもしれないと心配しています。彼らが成功することを願っています。
  • PlanetScaleと同じように、価格設定は真のサーバーレスではないと思います。彼らの有料プランは固定の月額料金を必要とするため、ゼロに拡大することはありません。
便利なリンク:
  • 詳細な価格
  • Next.jsを使い始める
  • ビデオ:Supabaseクラッシュコース
  • ビデオチュートリアル:Next.jsを使用したSupabase

Upstash Redis

  • Upstashは、リクエストごとの価格設定でRedisをサービスとして提供します。
  • RedisとRESTAPIの両方を提供します。そのため、サーバーレス機能とエッジ(Cloudflareワーカー)機能の両方で使用できます。
  • Upstashには、地域およびグローバルのオプションがあります。グローバルデータベースは、データを複数の地域に複製します。
  • 1日あたり最大10.000コマンドの無料利用枠があります。価格に応じた支払いは次のとおりです。
    • コマンド:100Kコマンドあたり$ 0.2
    • ストレージ:1GBあたり0.25ドル

Next.jsに最適なデータベース

私のコメント:
  • 私たち(Upstash)とRedisLabsはどちらも、Redisは従来のRedisユースケース(キャッシング、kv-store)に加えて、多くのユースケースに対して十分に強力であると考えています。しかし、それでも多くの開発者がプライマリデータストアとしてSQLデータベースを好むようです。複雑なクエリ機能が必要な場合は、Redisが最初の選択肢ではない可能性があります。
  • 詳細な価格
  • Next.jsとRedisの使用を開始する
  • Next.jsエッジ関数の使用を開始する
  • ビデオ:Next.jsでサーバーレスRedisを使用する
動物相
  • Faunaは、グローバルに複製された強一貫性のあるデータベースをクラウドサービスとして提供します。
  • FaunaAPIに加えてGraphQLAPIを提供します。
  • その接続はHTTPベースであるため、接続に関連する問題なしにサーバーレス機能で動物相を使用できます。
  • その最も基本的なプラン(個人)は月額$22.5から始まります。
  • 動物相の価格設定:
    • 読み取り:$ 0.45 /百万ユニット(4KB)
    • 書き込み:$ 2.25 /百万ユニット(1KB)
    • ストレージ:$ 0.23 / GB

Next.jsに最適なデータベース

私のコメント:

  • グローバルな強一貫性には、追加のパフォーマンスコストが伴います。書き込みは、他の代替データベースよりも待ち時間が長くなります。
  • GraphQLを使用する場合は素晴らしいですが、それ以外の場合、FQLを習得して使用するのは困難でした。
  • 動物相の価格設定には、独自の単位(TRO、TWO、TCO)と多くの側面があります。価格を理解するには、記事を読む必要があります。
  • 価格設定ページ
  • 動物相でNext.jsを使用する
  • ビデオ:動物相でNext.jsを使用する

MongoDB Atlas

  • Atlasは、サーバーレス、共有、専用のプランを備えたマネージドサービスとしてのMongoDBです。
  • データ(REST)APIが最近発表されました。これにより、HTTPを使用してデータベースにアクセスできます。
  • MongoDB Atlasには、いくつかの制限があるサーバーレスプランがあります。このプランの価格はオペレーションごとであるため、サーバーレス製品から期待されるようにゼロにスケーリングされます。
  • マルチリージョンレプリケーションは、専用プランでのみ利用できます。
  • サーバーレス価格:
    • 読み取り:100万ユニットあたり0.30ドル(4KB)
    • 書き込み:100万ユニットあたり1.25ドル(1KB)
    • ストレージ:$ 0.25/GB-月

Next.jsに最適なデータベース

私のコメント:

  • サーバーレスプランとデータAPIは、MongoDBAtlasがサーバーレススペースを無視しないことを示しています。ただし、どちらのソリューションもプレビュー段階にあり、サーバーレスアプリケーションに最適なデータソリューションになるには、いくつかの改善が必要です。
  • 価格設定ページ
  • MongoDBをNext.jsアプリに統合する方法
  • ビデオ:MongoDBをNextJSアプリに統合する

DynamoDB

  • キー値とドキュメントデータモデルを備えた完全に管理されたNoSQLデータベース。
  • 接続はHTTPベースであるため、サーバーレスアプリケーションに適合します。
  • 料金は、データ転送コストに加えて、操作ごとに発生します。したがって、ゼロにスケーリングします。
  • デフォルトでは、読み取りは結果整合性があります。強一貫性のある読み取りを要求することもできますが、いくつかの制限があります。
  • 追加コストでマルチリージョンレプリケーションを有効にできます。
  • 価格:
    • 読み取り:読み取り要求ユニット100万あたり0.25ドル(2KB)
    • 書き込み:読み取りリクエストユニット100万あたり1.25ドル(1KB)
    • データ転送(出力):1GBあたり0.09ドル
    • ストレージ:1GBあたり月額0.25ドル

Next.jsに最適なデータベース

私のコメント:
  • 私にとって、DynamoDBAPIはRedisやMongoDBほど直感的ではありません。
  • ベンダーロックインの問題があります。 DynamoDBはAWSにのみ存在し、コードを変更せずにアプリケーションを別のプロバイダーに移動することはできません。
  • 価格設定ページ
  • サンプルアプリ:DynamoDBを使用したNext.js
  • ビデオコース:DynamoDBを使用したNext.js
結論

では、Next.jsに最適なデータベースは何ですか?予想通り、単一の答えはありません。しかし、いくつかの条件付きの答えを与えましょう:

  • リレーショナルDBが必要な場合👉🏻SupabaseまたはPlanetScale
  • データベースの分岐が必要な場合👉🏻PlanetScale
  • リアルタイムの更新が必要な場合👉🏻SupabaseまたはMongoDBAtlas
  • グローバルな低レイテンシが必要な場合👉🏻UpstashまたはDynamoDB
  • グローバルな強一貫性が必要な場合👉🏻動物相
  • 低レイテンシのキー値ストアが必要な場合👉🏻Upstash
  • PostgreSQLが好きなら👉🏻Supabase
  • MySQLが好きなら👉🏻PlanetScale
  • Redisが好きなら👉🏻Upstash
  • Mongoが好きなら👉🏻MongoDBAtlas
  • GraphQLが必要な場合👉🏻動物相

私は公平で正しいことを試みました。修正が必要な点があると思われる場合は、コメントをTwitterに投稿してください


  1. 2022 年の Oculus 向けベスト 10 VR ゲーム

    Oculus はそのような VR ヘッドセットの 1 つであり、デジタル エンターテイメントの世界に接続しながら現実を再定義することができます。 Oculus 向けのトップ VR ゲームは、このエンターテインメントの世界に飛び込む方法です。さらに、最高の無料の Oculus Go ゲームがたくさんあります。足を踏み外し、仮想の端にジャンプし、現実世界とは異なるスリリングな体験をすることができます. すべての経験を念頭に置いて、すぐ下の Oculus に最適な VR ゲームのリストについて説明します。スクロールし続けてください! Oculus のトップ VR ゲーム 1.コケ 利用可能: オ

  2. PC 向けニンテンドー DS エミュレーター ベスト 9

    任天堂がまだ素晴らしかった時代に戻りましょう。移動中の暇つぶしには携帯端末が最適でした。ニンテンドー DS は、New スーパー マリオ ブラザーズ、ゼルダの伝説、ポケモン レッドなどの素晴らしいゲームを生み出した、任天堂の人気のゲーム デバイスでした。 Nintendo DS は、これまでで最も広く使用された携帯ゲーム機の 1 つです。ニンテンドー DS ゲーム コンソールは、2004 年に作成およびデビューされ、同社で最も革新的なデュアル スクリーン デバイスでした。任天堂のコンソール ラインナップの実験として売り込まれたにもかかわらず、このハンドヘルド コンソールは約 1 億 5,400