Closed7

prisma / firestore / fauna / hasura あたりの比較

フロントエンド向けで手早くデータまで取りたいときどうする?の話。

Prisma

Pros

  • めっちゃ使いやすい
  • RDBなので運用知見が使いやすい。安定感。
  • migrationが良い部分ある(生SQL吐き出している・差分を抽出してくれる)

Cons

  • RDBなのでコスト面費用はかかりがち
  • GraphQLしようとすると結構面倒(nexus推奨されてるがあんまりイケてる気がしない)

Firestore

Pros

  • 安い
  • NoSQL向きのデータやりやすい

Cons

  • 設計時に使ってない脳みそ使わされる
  • Admin周りがルール無効できつい
  • ルールとかindexは独自

Fauna

Pros

  • FirestoreよりもRDB寄りに考えやすい
  • GraphQLサポート
  • 安い

Cons

  • GraphQLは別に制約かけてくれたりはしない
  • 割と出たばっかり感あるので本番で使うには勇気がいる

FaunaのGraphQL機能は、「テーブル(コレクション)の作成」と「Indexの作成」は行う。
一方特にそれ以上の制約は無いので、FQLを通した場合などは制約が効かない(はず)

型を効かせるにはgraphql-codegenが必要。体感だがHasuraよりやりづらい印象

Hasura

Pros

  • GraphQLやりたいなら一番やりやすい
  • サーバーが独立してるので組み込みを考えなくていい

Cons

  • サーバーが独立するのでセキュア面は慎重になる

そもそもGraphQLかどうか?

  • GraphQLやろうとすると案外面倒なケースが多い
  • 特に型定義を考えるとgraphql-codegenとかは必要
  • クエリの書き方慣れない。いっつもコンソール開きながら試し試しやる必要がある
  • とはいえやっぱりRESTっぽい感じのときにクライアントから叩くのめんどくさいよなーって気持ちは出てくる
このスクラップは2020/12/15にクローズされました
ログインするとコメントできます