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にクローズされました