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
ダイニーにおける本番 Hasura 運用
Search
Hiroaki KARASAWA
November 24, 2021
Programming
2
2.5k
ダイニーにおける本番 Hasura 運用
Hasura と共に歩んだ一年と半年を振り返りつつ、どういったプロダクト・組織において Hasura を採用するべきか、採用すると何が起きるかについて説明します。
Hiroaki KARASAWA
November 24, 2021
Tweet
Share
More Decks by Hiroaki KARASAWA
See All by Hiroaki KARASAWA
スタートアップでポストモーテムを4年で200回やって得た学び
karszawa
0
69
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
1.3k
成功する技術選定について
karszawa
2
2.8k
飲食店のインフラサービス “ダイニー” のトラブル対応のすべて
karszawa
0
73
Google Cloud のモニタリング製品を徹底活用してみた
karszawa
0
64
ダウンタイム 30 秒で AlloyDB に移行した話
karszawa
0
520
DMS で AlloyDB に簡単移行!
karszawa
0
66
【現場の本音】App Engine から Cloud Run に移行してみた
karszawa
0
180
cls-hooked による実行コンテキストの保存と利用
karszawa
0
940
Other Decks in Programming
See All in Programming
Navigating Dependency Injection with Metro
zacsweers
1
100
RDoc meets YARD
okuramasafumi
4
160
🔨 小さなビルドシステムを作る
momeemt
3
670
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
500
TDD 実践ミニトーク
contour_gara
1
290
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.6k
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
260
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
230
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
ソフトウェアテスト徹底指南書の紹介
goyoki
1
150
旅行プランAIエージェント開発の裏側
ippo012
2
880
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
100
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Optimizing for Happiness
mojombo
379
70k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Faster Mobile Websites
deanohume
309
31k
Transcript
Hasura dinii aka karszawa UIT meetup vol. 14 2021 11
24
ΞδΣϯμ 2 1. Hasura 2. 3. Hasura 4. Hasura N
5. q Hasura
ࣗݾհ 3 ま ほ aka @karszawa ま dinii ほ ほ
ま JavaScript TypeScript ほ
Hasura
Hasura ͱ 5 ま Hasura ま PostgreSQL GraphQL ま GraphQL
Αࠞ͘ಉ͞ΕΔʢʁʣ֓೦ͱͷཧ 6 ま vs GraphQL ほ GraphQL is ほ GraphQL
ち Hasura ま vs Hasura Cloud ほ Hasura Hasura ほ dinii Cloud Run OSS Hasura ち OSS Hasura ま vs Prisma ほ Prisma is GraphQL ORM ほ
7
μΠχʔͱ 8 ま 2020 1 ま 3 6 ほ Vertical
SaaS Ϩδ ΩΦεΫ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ ϓϦϯλ࿈ܞ ࣗಈમػ࿈ܞ ϓϦϯλ࿈ܞ LINE Mini App
ϙΠϯτ 9 ま ま ほ Node.js ま ほ IF GraphQL
ほ Hasura
Hasura 10
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 11 1. ろろろ 2. ろろ 3. ろ
PostgreSQL
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 12 ま ま dinii ま Firebase &
Firestore ほ NoSQL ほ
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 13 ま = IF ほ ち ち
ち Hasura ま
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 14 PostgreSQL ま PostgreSQL ま MySQL ほ
PostgreSQL Citus ま PostgreSQL ま PostgreSQL
Hasura 15
ຊ൪ Hasura ӡ༻ͷצॴ 16 1. 2. Remote Schema 3.
ຊ൪ Hasura ӡ༻ͷצॴ 17 ま ORM Hasura ほ Hasura ま
ま Hasura Web UI Hasura ほ Hasura ま TypeORM Hasura CI
όοΫΤϯυͷ TypeORM ͷܕఆٛͱ Hasura ͷϚΠάϨʔγϣϯϑΝΠϧʹ߹ੑ͕͋Δ͜ͱΛ CI Ͱ֬ೝ͢Δํ๏ 18 1. Hasura
Web UI 2. TypeORM CI 1. Hasura 2. TypeORM 3. = Hasura TypeORM ❌ = Hasura TypeORM ✅
ຊ൪ Hasura ӡ༻ͷצॴ 19 Remote schema ま ほ Remote schema
ほ Remote schema ま ほ Remote schema ほ Hasura
ຊ൪ Hasura ӡ༻ͷצॴ 20 ま ほ Hasura ほ JWT ち
ex: x-haura-shop-id=xyz JWT order.shopId=xyz order ま order.user.userId = xyz ま ほ Remote schema
ຊ൪ Hasura ӡ༻ͷצॴ 21 ま Introspection Hasura schema.gql ま =
GraphQL Codegen ほ
ͦͷଞͷצॴ 22 Hasura Web ま GraphiQL ま ま REST
Remote schema Hasura Actions ま Remote schema ま Event Trigger ま
23
·ͱΊ 24 1. Hasura 2. dinii 3 SWE 3. 3
1 ま https://about.dinii.jp/recruit ま 3 ま 1 1 3