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.4k
ダイニーにおける本番 Hasura 運用
Hasura と共に歩んだ一年と半年を振り返りつつ、どういったプロダクト・組織において Hasura を採用するべきか、採用すると何が起きるかについて説明します。
Hiroaki KARASAWA
November 24, 2021
Tweet
Share
More Decks by Hiroaki KARASAWA
See All by Hiroaki KARASAWA
スタートアップでポストモーテムを4年で200回やって得た学び
karszawa
0
16
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
1.1k
成功する技術選定について
karszawa
2
2.6k
飲食店のインフラサービス “ダイニー” のトラブル対応のすべて
karszawa
0
53
Google Cloud のモニタリング製品を徹底活用してみた
karszawa
0
53
ダウンタイム 30 秒で AlloyDB に移行した話
karszawa
0
490
DMS で AlloyDB に簡単移行!
karszawa
0
58
【現場の本音】App Engine から Cloud Run に移行してみた
karszawa
0
160
cls-hooked による実行コンテキストの保存と利用
karszawa
0
890
Other Decks in Programming
See All in Programming
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
820
テスト分析入門/Test Analysis Tutorial
goyoki
8
2.4k
Agent Rules as Domain Parser
yodakeisuke
1
170
知識0からカンファレンスやってみたらこうなった!
syossan27
5
320
CRUD から CQRS へ ~ 分離が可能にする柔軟性
tkawae
0
210
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
160
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
350
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.6k
tsconfigのオプションで変わる型世界
keisukeikeda
1
110
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
590
Doma で目指す ORM 最適解
nakamura_to
1
160
インターフェース設計のコツとツボ
togishima
2
260
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
830
Designing for Performance
lara
608
69k
Being A Developer After 40
akosma
91
590k
Fireside Chat
paigeccino
37
3.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Making Projects Easy
brettharned
116
6.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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