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 at Twitter
Search
George Leontiev
February 21, 2019
Technology
0
160
GraphQL at Twitter
George Leontiev
February 21, 2019
Tweet
Share
More Decks by George Leontiev
See All by George Leontiev
Typelevel programming in Scala (with lies)
folone
0
470
Case study: typelevel programming in real world
folone
1
620
Type level programming in Scala
folone
0
510
ScalaUA: Typelevel Scala
folone
2
220
Hands-on TLC
folone
2
960
42: Rise of the dependent types
folone
2
480
∃ PROLOG |PROLOG ∈ SCALA
folone
5
1.1k
42.type: Literal-based Singleton types
folone
4
1.5k
There's a Prolog in your Scala!
folone
6
4k
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
First-Principles-of-Scrum
hiranabe
1
300
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
21k
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
150
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
270
20251222_サンフランシスコサバイバル術
ponponmikankan
2
160
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
AWS Lambda durable functions を使って AWS Lambda の15分の壁を超えてみよう
matsuzawatakeshi
0
120
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
6
1.9k
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
34
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
99
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Transcript
George Leontiev AgentConf — February 2019
George Leontiev @YukiFartlek
None
None
None
Datastorage Thrift HTTP
HTTP Thrift Datastorage
HTTP Thrift Datastorage
None
HTTP Thrift GraphQL API
Schema
None
A federated database brings together multiple data sources so that
they can be queried and mutated uniformly.
GraphQL brings together multiple data sources so that they can
be queried and mutated uniformly.
Strato brings together multiple data sources so that they can
be queried and mutated uniformly.
Column({ name = "User/birthday", source = DbColumn({ dest = "twitter_db",
dataset = "birthdays", mapping = KeyValue({ key = Type(Long), // User ID value = Type(Long) // Timestamp }) }) })
Column({ name = "User/birthday", source = DbColumn({ dest = "twitter_db",
dataset = "birthdays", mapping = KeyValue({ key = Type(Long), // User ID value = Type(Long) // Timestamp }) }), graphql = Field("User", "birthday") })
Subscriptions
None
Clients subscribe to an event with a GraphQL query and
receive payloads. — Laney Kuenzel
Clients subscribe to an event with a GraphQL query and
receive payloads.
Subscriptions EventBus Event Producer
Clients subscribe to an event with a GraphQL query and
receive payloads.
def execute( query, against: Event, as: User ): Payload
{ "query": "subscription { random_tweet { id } }", "event":
{ "type": "random_tweet", "tweet_id": "..." }, "user": { "id": "12" } }
API EventBus Event Producer Subscriptions
Clients subscribe to an event with a GraphQL query and
receive payloads.
None
Live Pipeline { "topic": "tweet_engagement/20", "payload": { ... } }
POST /subscribe?topic= tweet_engagement/20
def topic( query, for: User ): String
subscription { random_tweet { __typename ... on Status { topic
} ... on Tweet { id text } } } { "data": { "random_tweet": { "__typename": "Status", "topic": "graphql/sM_xI92k" } } }
{ "topic": "graphql/sM_xI92k", "payload": { "data": { "random_tweet": { "__typename":
"Tweet", "id": "...", "text": "..." } } } } POST /subscribe?topic= graphql/sM_xI92k Live Pipeline
Subscriptions API Live Pipeline EventBus subscription { random_tweet { ...
} } { "topic": "graphql/sM_xI92k", "payload": { "data": { "random_tweet": { ... } } } } { "random_tweet_id": "..." } { ... "topic": "graphql/sM_xI92k" ... } Event Producer
Tips
None
None
None
{ user(id: "12") { name followers { name followers {
name followers { name followers { name } } } } } }
POST /graphql/eyBuaWNlIHsgdHJ5IH0gfQ
enabling technology noun An invention or innovation, that can be
applied to drive radical change in the capabilities of a user or culture. Enabling technologies are characterized by rapid development of subsequent derivative technologies, often in diverse fields.
adjacent possible noun A kind of shadow future, hovering on
the edges of the present state of things, a map of all the ways in which the present can reinvent itself.
None
George Leontiev @YukiFartlek
None