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 SQL
Search
chimame
October 02, 2018
Technology
0
2.7k
GraphQL SQL
Cybozu Meetup Osaka 大阪のエンジニアが好きそうな話
chimame
October 02, 2018
Tweet
Share
More Decks by chimame
See All by chimame
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
150
Boost Your Web Performance with Hyperdrive
chimame
1
310
RemixでVersion skewに立ち向かう
chimame
2
1.2k
私がエッジを使う理由
chimame
10
4.1k
GraphQL Server on Edge after that
chimame
1
1.5k
Accelerating App Dev with Cloudflare Workers
chimame
1
450
GraphQL Server on Edge
chimame
12
6k
エッジで輝くフロントエンド
chimame
11
6.7k
Cloudflare Workersと状態管理
chimame
4
1.8k
Other Decks in Technology
See All in Technology
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
19
5k
マイクロモビリティシェアサービスを支える プラットフォームアーキテクチャ
grimoh
1
200
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
2
200
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
5
380
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
440
Backboneとしてのtimm2025
yu4u
4
1.4k
夢の印税生活 / Life on Royalties
tmtms
0
280
自治体職員がガバクラの AWS 閉域ネットワークを理解するのにやって良かった個人検証環境
takeda_h
2
380
モダンフロントエンド 開発研修
recruitengineers
PRO
2
260
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
1
160
トヨタ生産方式(TPS)入門
recruitengineers
PRO
2
210
Claude Code x Androidアプリ 開発
kgmyshin
1
570
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Bash Introduction
62gerente
614
210k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Into the Great Unknown - MozCon
thekraken
40
2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
What's in a price? How to price your products and services
michaelherold
246
12k
Agile that works and the tools we love
rasmusluckow
329
21k
Scaling GitHub
holman
462
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Optimizing for Happiness
mojombo
379
70k
Transcript
GraphQL SQL 2018/10/02 Cybozu Meetup Osaka rito
目次 ➔ 自己紹介 ➔ What's GraphQL ➔ SQL Libraries ➔
まとめ
{ me { name, job, company, community, twitter } }
{ “data” : { “me”: { “name”: “rito” “job”: “software developer” “company”: “Ateam Lifestyle Inc.” “community”: “Rails follow-up osaka organizer” “twitter”: “@chimame_rt” } }
What’s GraphQL
公式のページによると GraphQLはAPI用のクエリ言語であり、既存のデータでこれらのク エリを実行するためのランタイムです。GraphQLは、APIのデータ の完全で分かりやすい説明を提供し、クライアントに必要なものを 何でも尋ねる能力を与え、時間の経過とともにAPIを進化させやす くし、強力な開発ツールを可能にします。
雑に言うと "API用でかつSQLぽいもの"でクライアント が好きなデータを好きな形式で好きなだけ JSONを取得できるもの。
サーバ側はどうやって 作ればいいの?
GraphQLを実装するLibraryは 各言語ごとあります
Ruby https://github.com/rmosolgo/graphql-ruby
PHP https://github.com/webonyx/graphql-php
Python https://github.com/graphql-python/graphene
Java https://github.com/graphql-java/graphql-java
結局どの言語も実装には大小の 学習コストが必要
None
もっと楽したい!
よろしい ならばSQL Libraryだ
SQL Libraries
ここで言うSQL Library RDBMSやNoSQLなどのスキーマ定義から いい感じにGraphQL APIを生やしてくれる Library。逆方向で言うとGraphQLをそのま まデータベースに投げるようなもの。
3つ紹介します
None
PostGraphile(ぽすとぐらふぃる) GitHub: https://github.com/graphile/postgraphile DockerHub: https://hub.docker.com/r/graphile/postgraphile/
特徴 ❏ PostgreSQL専用(名前の通り) ❏ PostgreSQLにGraphQLを投げれるようになるイ メージ ❏ 名前の通りPostgreSQLにかなり特化しており、 FunctionもGraphQLにできる ❏
認証が必要ならJWTぽい(公式見る限り) 認証もFunctionで思いのまま
None
Hasura GraphQL Engine(はすらぐらふきゅえるえんじん) GitHub: https://github.com/hasura/graphql-engine DockerHub: https://hub.docker.com/r/hasura/graphql-engin e/
特徴 ❏ PostgreSQL専用 ❏ Hasuraのサービスを一部OSSに切り出し ❏ PostGraphileと違いDBスキーマの管理画面を有 する ❏ 認証はJWT以外にもWebhookで自在(firebaseも
可能)
None
Prisma(ぷりずま) GitHub: https://github.com/prisma/prisma DockerHub: https://hub.docker.com/r/prismagraphql/prisma /
特徴 ❏ 複数のRDBMS等に対応 (MySQL,PostgreSQL,MongoDB一部) ❏ 紹介する中では勢いは一番ある なぜならGraphQL tutorialに掲載 ❏ 認証は自前で実装する必要あり
❏ Prismaのclient libraryも近々リリース (現在beta)
比較 PostGraphile Hasura GraphQL Engine Prisma GitHubスター数 対応データベース 認証機構 導入方法
実装言語 5,919 3,933 10,422 Nodejs Haskell Scale PostgreSQL PostgreSQL PostgreSQL, MySQL MongoDB Function独自実装 Webhook Nodejs独自実装 npm or docker docker npm or docker その他特徴 PostgeSQL上です べて実装可能 管理画面付きで使 いやすい なんといっても GraphQL公式
まとめ
まとめ ❏ SQLエンジンがGraphQLを解釈できるようになる 感覚でOK ❏ GraphQL APIサクッと作るだけならそこまでハード ルは高くない ❏ フロントエンド技術の発展とGraphQL
SQL Library の登場でC/Sシステム構造に近い形になる(かも)
ご清聴ありがとうご ざいました。 rito@chimame_rt