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.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ダイニーにおける本番 Hasura 運用
Hasura と共に歩んだ一年と半年を振り返りつつ、どういったプロダクト・組織において Hasura を採用するべきか、採用すると何が起きるかについて説明します。
Hiroaki KARASAWA
November 24, 2021
More Decks by Hiroaki KARASAWA
See All by Hiroaki KARASAWA
スタートアップでポストモーテムを4年で200回やって得た学び
karszawa
1
160
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
1
1.6k
成功する技術選定について
karszawa
2
3.2k
飲食店のインフラサービス “ダイニー” のトラブル対応のすべて
karszawa
0
160
Google Cloud のモニタリング製品を徹底活用してみた
karszawa
0
120
ダウンタイム 30 秒で AlloyDB に移行した話
karszawa
0
590
DMS で AlloyDB に簡単移行!
karszawa
0
130
【現場の本音】App Engine から Cloud Run に移行してみた
karszawa
0
250
cls-hooked による実行コンテキストの保存と利用
karszawa
0
1.1k
Other Decks in Programming
See All in Programming
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.3k
不幸な GC
chencmd
0
820
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.3k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
460
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
840
信頼性の目標を誰も求めてない
shubox
0
300
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
170
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
1
390
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
160
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
100
VibeCodingからAgenticWorkflowへ
starfish719
0
950
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
WENDY [Excerpt]
tessaabrams
12
39k
Ethics towards AI in product and experience design
skipperchong
2
350
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Designing for humans not robots
tammielis
254
26k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
A designer walks into a library…
pauljervisheath
211
24k
Music & Morning Musume
bryan
47
7.3k
Leo the Paperboy
mayatellez
8
2.2k
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