Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Prismaを1年くらい使ってみたのでちょっと語る
Search
TsukasaSekiguchi
June 29, 2024
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Prismaを1年くらい使ってみたのでちょっと語る
Gunma.web #53のLT資料です
TsukasaSekiguchi
June 29, 2024
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
既存repo / AIとのやり取りから、おれのハーネスエンジニアリングの現状と課題を見てもらった
tsukasagr
1
100
おれのAgentic Coding 2026/03
tsukasagr
1
170
Agentic Coding 時代に絶対抑えておきたい git worktree の基礎知識と、ちょっとだけMCPについても言及
tsukasagr
0
130
おれのAI活用の現状とこれから
tsukasagr
0
250
Deep Researchで積読解消!技術書キャッチアップ術
tsukasagr
0
140
v0とCursorで爆速開発🚀
tsukasagr
0
300
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
260
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
430
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
330
Other Decks in Programming
See All in Programming
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
5分で問診!Composer セキュリティ健康診断
codmoninc
0
600
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
550
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.2k
AIエージェントで 変わるAndroid開発環境
takahirom
2
720
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
530
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.9k
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
430
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
130
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
380
How to train your dragon (web standard)
notwaldorf
97
6.7k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
Context Engineering - Making Every Token Count
addyosmani
9
1k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Bash Introduction
62gerente
615
220k
The SEO Collaboration Effect
kristinabergwall1
1
510
The World Runs on Bad Software
bkeepers
PRO
72
12k
Amusing Abliteration
ianozsvald
1
240
Transcript
Prisma を1 年くらい使ってみたので ちょっと語る 2024/06/29 Gunma.web #53 @TsukasaGR
Prisma とは
Prisma とは JavaScript/TypeScript で利⽤可能なモダンなORM ⭐
主な特徴
主な特徴 型安全性 スキーマからTypeScript の型定義情報を⾃動⽣成してくれるので、型安全に書ける 簡潔なクエリ 直感的なクエリ、かつ補完も効くので初学者でもすぐにクエリを書ける マイグレーション スキーマからマイグレーションファイルを⾃動⽣成してくれる DB クライアント
独⾃のDB クライアントも標準装備してる
使うモチベーション
使うモチベーション( 好きなところ) 1. どうせフロントでJavaScript/TypeScript 書くんだからバッ クエンドも同じ⾔語で書けたほうが楽じゃない? 何と⾔っても多くのWeb 開発者が⼀度は思うであろうこの動機。やっぱり⼀番はここかなと思います。 2. 型安全とマイグレーション!
TypeScript の利⽤が増えた昨今、型安全であるかどうかは超重要な選定基準だと思います。 また、後述しますがPrisma のマイグレーションもモダンな仕組みでこの体験は他ではなかなか味わえないと思います。
歯がゆいところ
歯がゆいところ 1. フルスタックORM と⽐較してしまうとどうしても物⾜りな さが。。。 RoR やLaravel 等のフルスタックフレームワークを使われている⽅にとってORM とはもはやフレームワークのおける⽣命線のよ うにも感じると思います。その利便性を⼀度味わってしまったらなかなか他のORM
に戻れないとすら思います。 Prisma も便利なORM ではあるものの、ActiveRecord(RoR) やEloquent(Laravel) と⽐較してしまうと、「えーこれPrisma じ ゃできないの。。?」という場⾯は少なからず出てきてしまうと思います。 2. パフォーマンスぇ。。。 バージョンを増すごとにカイゼンは繰り返しているものの、複雑/ ⼤規模なDB 構造になるとどうしてもパフォーマンスの課題は 出てきがちです。 いずれのORM にも出てくる話だと思いますが、特にPrisma は規模が⼤きくなってきた場合のパフォーマンス課題が他のORM に ⽐べて⼤きくなりがちかなと思います。( 根拠ベースの話ではなく体感ベースの話です)
今後の展望( 個⼈的な予想)
今後の展望( 個⼈的な予想) まず⼈気⾯で考えると、JS/TS のORM の選択肢はPrisma 以外にもいくつかありますが、それでも今後数年で最も⼈気のある ORM ライブラリとしての地位を確⽴するだろうなと予想しています。 ここでは紹介しませんでしたが、Prisma はサーバーレスアーキテクチャにも注⼒しており、サーバーレスアーキテクチャの発展
によってさらに⾶躍する可能性も⾼いと思います。 次に、「複雑/ ⼤規模なDB に耐えうるフルスタックなモリモリORM になっていくか」という⾯で考えると、こちらは何とも⾔え ない気がしています。 バージョンを増すごとに「待ってました!」という新たなAPI は提供されるものの、Prisma が⽣成するモデルはプレーンなオブ ジェクトであるため、ActiveRecord やEloquent 等と同等の機能数を求めてしまうと物⾜りなさはずっと残り続ける気がしま す。 ただ、こちらはそもそも「複雑/ ⼤規模になってもNode.js 等のJS/TS ⼀本で頑張るのか」みたいにPrisma 単体で考える話ではな いのかもしれません。 つらつらと書いてしまいましたが、「JS/TS でバックエンドも書きたいぜ!という気持ちが強くある⽅はPrisma に挑戦して損は ない!」という⼀⾔で締めさせていただきます。
ご清聴ありがとうございました