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
Google I/O 2024で発表されたFirebase Data Connectを試してみた
Search
Kanon
August 24, 2024
1
36
Google I/O 2024で発表されたFirebase Data Connectを試してみた
Kyoto.なんか #6 の登壇資料です。
https://kyoto-nanka.connpass.com/event/324686/
Kanon
August 24, 2024
Tweet
Share
More Decks by Kanon
See All by Kanon
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
そうだ、神戸へ行こう
ysknsid25
2
76
テストコードの品質を客観的な数値で担保しよう〜Mutation Testのすすめ〜
ysknsid25
12
4.4k
「ばん・さく・つき・たー!」にならないためにSHIROBAKOから 学んだこと
ysknsid25
4
1k
AI時代のソフトウェア エンジニアリングに備える
ysknsid25
2
65
2024年に発表されたFirebase(Web)の新機能を使ってみよう
ysknsid25
2
38
変な先入観を捨てて、 明日から勉強会・カンファレンス登壇 してみない?
ysknsid25
2
200
useSWRをuseContextの代わりに使ってみる試み
ysknsid25
1
470
東遊園地近辺のおすすめランチ・カフェ
ysknsid25
3
300
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Adopting Sorbet at Scale
ufuk
73
9.1k
Practical Orchestrator
shlominoach
186
10k
Writing Fast Ruby
sferik
627
61k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Embracing the Ebb and Flow
colly
84
4.5k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Six Lessons from altMBA
skipperchong
27
3.5k
Transcript
Google I/O 2024 で発表された Firebase Data Connectを使ってみた 1 Kanon (@ysknsid25)
#kyoto.なんか
自己紹介 ↓詳しくは↓ Kanon アニオタ声豚酒カスラーメンレンジャー 水瀬いのり無限恒久永遠推し ysknsid25 Kobe.tsという勉強会を主催しています アイコンは公式配布のものです。 https://x.com/i/bookmarks/all?post_id=1806583319951233034
3 水瀬いのりさん
4 すいません、最初に宣伝させてください🙏
5 📢 最初に宣伝 🙏
6 以上、お知らせでした🙇
Firebase Data Connectとは? 7
8 ちな、知ってる人🙋
Firestoreに代わる新たなデータソース • これまで ◦ Firebase でデータソースを扱うには基本的には Firestoreを使う必要があった ◦ Firestore =
NOSQL ◦ RDB(CloudSQL)を使うには、Cloud Functionsを作る必要 • これから ◦ Data Connect が選択肢の一つに 9
できること • GraphQLを書けば、Data Connectが勝手にSQLへ変換してく れる ◦ 裏側ではCloud SQL for PostgreSQLが動いている
• SQLに詳しくない人でもGraphQLだけわかればDBにアクセス できる ◦ 後述しますが一長一短とは思います • Cloud SQLを使うための設定などがめちゃくちゃ簡単 • 現在は限定公開プレビューのため、申請者のみ利用可能 10
11 たぶん今日話す内容で 記事書いたり発表してるのは 日本人では自分が初 Qiitaにも記事あるけど ちゃんと環境作って試 して記事を出してるの は自分がおそらく初
12
使い方 13
Cloud SQLインスタンスの用意 14
Cloud SQLインスタンスの用意 15
Cloud SQLインスタンスの用意 16
Cloud SQLインスタンスの用意 17
開発用のPostgreSQLコンテナを用意 18
VSCodeに開発用拡張機能を追加 19
Data Connect 用プロジェクトの作成 20 firebase init dataconnect
デモ用のファイルが用意されている 21
利用するスキーマ (テーブルに対応) 22
コメントを外し、保存するだけでテーブル作成 23
GraphQLのquery,mutationも自動作成 24
実行もコードから可能 25
データを登録 26
再度参照すると…? 27
DB側も…? 28
本番へデプロイし確認 29
デプロイ時、CREATE TABLEが走ってるのがわかる 30
Firebase Console側 31
実行 32
Cloud SQL側で確認 33
Cloud SQL側で確認 34
とあるユーザーが送信したメールの一覧 35 join が使われそうだけど …?
すごいクエリが吐かれてる… 36
アプリに組み込んで使うには…? 37 SDKに firebase/data-connect がいないので 検証できず…
まとめ • ローカルでの開発体験やGraphQLがそのままSQLになっ てるのは素直に感動 • アプリケーションの成長に伴いFirestore -> CloudSQL への移行とかが発生しなくなりそうなのは良い •
複雑なデータ抽出が必要になったり、チューニングが 必要になったときはしんどそう • どういうGraphQLを書けばどういうSQLができるか?が イメージできないのはしんどそう 38
39 ご清聴、あざざました
おわりに: 次はこの辺でお会いしましょう🙋