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.3k
ダイニーにおける本番 Hasura 運用
Hasura と共に歩んだ一年と半年を振り返りつつ、どういったプロダクト・組織において Hasura を採用するべきか、採用すると何が起きるかについて説明します。
Hiroaki KARASAWA
November 24, 2021
Tweet
Share
More Decks by Hiroaki KARASAWA
See All by Hiroaki KARASAWA
成功する技術選定について
karszawa
2
2.3k
飲食店のインフラサービス “ダイニー” のトラブル対応のすべて
karszawa
0
30
Google Cloud のモニタリング製品を徹底活用してみた
karszawa
0
38
ダウンタイム 30 秒で AlloyDB に移行した話
karszawa
0
110
DMS で AlloyDB に簡単移行!
karszawa
0
48
【現場の本音】App Engine から Cloud Run に移行してみた
karszawa
0
140
cls-hooked による実行コンテキストの保存と利用
karszawa
0
810
Hasura の Relationship と権限管理
karszawa
0
850
React Native + Expo のバージョンアップと互換性の維持に関する運用と絶技
karszawa
0
800
Other Decks in Programming
See All in Programming
TCAを用いたAmebaのリアーキテクチャ
dazy
0
210
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
910
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.1k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
120
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
160
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Jakarta EE meets AI
ivargrimstad
0
470
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
250
Jasprが凄い話
hyshu
0
180
AIプログラミング雑キャッチアップ
yuheinakasaka
19
4.8k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Bash Introduction
62gerente
611
210k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Speed Design
sergeychernyshev
27
810
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
How GitHub (no longer) Works
holman
314
140k
The World Runs on Bad Software
bkeepers
PRO
67
11k
What's in a price? How to price your products and services
michaelherold
244
12k
Documentation Writing (for coders)
carmenintech
68
4.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
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