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
GraphQL DataLoader 적용하기
Search
angelxtry
February 08, 2020
Programming
0
99
GraphQL DataLoader 적용하기
angelxtry
February 08, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
460
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.2k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
CSC307 Lecture 09
javiergs
PRO
1
840
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
ぼくの開発環境2026
yuzneri
0
230
CSC307 Lecture 06
javiergs
PRO
0
690
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Writing Fast Ruby
sferik
630
62k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to build a perfect <img>
jonoalderson
1
4.9k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
310
Speed Design
sergeychernyshev
33
1.5k
Between Models and Reality
mayunak
1
190
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
66
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
Transcript
GraphQL DataLoader 2020.02.08 doit team ࣻഐ https://github.com/angelxtry
TL; DR GraphQLਸ بੑ೮ݶ DataLoaderܳ ਊೞࣁਃ. فߣ ೞࣁਃ.
Teck stack
GraphQL
GraphQL ػ(nested) ࠁܳ োझۣѱ ۽٘ೡ ࣻ .
GraphQL ػ(nested) ࠁܳ োझۣѱ ۽٘ೡ ࣻ .
None
None
GraphQL ػ(nested) ࠁܳ োझۣѱ ۽٘ೡ ࣻ .
None
ޙઁߊࢤ
dummy data 50 user full data
וܻ. ৵? ۽Ӓܳ ࠁ! ۽Ӓܳ!
۽Ӓо ցޖ ݆ই! query query query query query query query
query query query query query query query query query query query query query query
ࠗఠ द! 10 user data + motivations data ઑഥ
۽Ӓܳ ࠁ! ۽Ӓܳ!
য?!?! user * 1 + motivaions * 10 = 11(?)
user * 1 + table 6 * user 50 =
301(!!)
N+1 Problem
users user user user user user Select
users user user user user user m m m m
m Select Select Select Select Select Select
যڌѱ ೧Ѿ೮աਃ?
DataLoader
DataLoader is a generic utility to be used as part
of your application’s data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching.
users user user user user user 1 User ప࠶ select
key key key key key DataLoader users user user user
user user 2 DataLoaderী key 1 User ప࠶ select
key key key key key DataLoader val val val val
val users user user user user user Select 3 Motivations table select 2 DataLoaderী key 1 User ప࠶ select
key key key key key DataLoader val val val val
val users user user user user user m m m m m Select 4 User߹ Motivation ೡ 3 Motivations table select 2 DataLoaderী key 1 User ప࠶ select
userSchema.ts
userResolver.ts
DataLoader ਊ!
yarn add dataloader
userResolver.ts
userResolver.ts
userRepository.ts
userRepository.ts
ࢎ೦
ࢎ೦ 1
ࢎ೦ 2
ࢎ೦ 3
ޤо જইաਃ?
Select 2ߣ
500 user full data
Select 2ߣ
Postman 10ഥ ߈ࠂ प೯ റ 10ഥ ಣӐ प೯ ࣘب ஏ
Postman 10ഥ ߈ࠂ प೯ റ 10ഥ ಣӐ प೯ ࣘب ஏ
ਊ : 1318ms ਊ റ: 117ms
Ѿۿ
TL; DR GraphQLਸ بੑ೮ݶ DataLoaderܳ ਊೞࣁਃ. فߣ ೞࣁਃ.
ӟ ߊ ٜয࣊ࢲ хࢎפ! ߊ ղਊਸ ؊ ࠁҊ रਵदݶ? https://blog.doitreviews.com/development/
2020-02-04-graphql-typeorm-dataloader/ ۽ં ٘о ҾӘೞदݶ? https://github.com/codestates/healthFriend-server