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
2.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQL SQL
Cybozu Meetup Osaka 大阪のエンジニアが好きそうな話
chimame
October 02, 2018
More Decks by chimame
See All by chimame
知って得する@cloudflare_vite-pluginのあれこれ
chimame
2
580
Boost Your Web Performance with Hyperdrive
chimame
1
520
RemixでVersion skewに立ち向かう
chimame
2
1.3k
私がエッジを使う理由
chimame
10
4.1k
GraphQL Server on Edge after that
chimame
1
1.8k
Accelerating App Dev with Cloudflare Workers
chimame
1
500
GraphQL Server on Edge
chimame
12
6.4k
エッジで輝くフロントエンド
chimame
11
6.9k
Cloudflare Workersと状態管理
chimame
4
2.1k
Other Decks in Technology
See All in Technology
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
290
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
140
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
310
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
140
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
170
初めてのDatabricks勉強会
taka_aki
2
210
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
530
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
150
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
160
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
190
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
530
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.9k
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
490
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Ethics towards AI in product and experience design
skipperchong
2
320
A Tale of Four Properties
chriscoyier
163
24k
Crafting Experiences
bethany
1
190
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Utilizing Notion as your number one productivity tool
mfonobong
4
330
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Skip the Path - Find Your Career Trail
mkilby
1
150
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
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