Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Firestore東京リージョン利用に伴う Firebaseプロジェクト移行手順 / alu-...
Search
Hikaru Tooyama
February 18, 2019
Business
2.7k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firestore東京リージョン利用に伴う Firebaseプロジェクト移行手順 / alu-firestore #アル
Hikaru Tooyama
February 18, 2019
More Decks by Hikaru Tooyama
See All by Hikaru Tooyama
アルとAlgoliaと私 / alu_algolia
vexus2
8
2.6k
Firestoreを本番運用して得た知見と事件簿 / manga-village
vexus2
6
2.6k
エンジニア向けサービスを提供するチームでの開発環境改善
vexus2
1
1.4k
Other Decks in Business
See All in Business
株式会社TableCheck - 会社紹介 Company Profile
tablecheckac
0
11k
株式会社KINS 採用ピッチ資料 2026
kinsofficial
1
900
20261022_【DCC】Tokenized-JGB-Onchai- Repo-WG_Interim Report
progmat
0
680
営業が見てきた"AI導入ガバナンス"のリアル — あなたの会社は今どのステージ?
kuraryu0128
0
290
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
chibanba1982
0
120
ピリカ 採用候補者向け資料(スマホ版)2026.11
pirika_info
0
200
ハンディ株式会社 | 会社ご説明資料
handy_official
0
4.5k
チームコーチング|チームが自ら決めて動く力を育てる
chibanba1982
0
180
Nstock 採用資料 / We are hiring
nstock
30
410k
20261107_なぜ記帳の前に事業を理解する必要があるのか.pdf
shunsuke_takeuchi
PRO
0
320
Hello, Inc. - Company Deck
helloinc
PRO
0
220
20261022_【DCC】トークン化国債・オンチェーンレポWG_中間整理_本紙
progmat
0
1.3k
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
550
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
4 Signs Your Business is Dying
shpigford
187
23k
My Coaching Mixtape
mlcsv
0
380
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
470
The Limits of Empathy - UXLibs8
cassininazir
2
770
Balancing Empowerment & Direction
lara
6
1.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Transcript
1 Firestore౦ژϦʔδϣϯར༻ʹ͏ FirebaseϓϩδΣΫτҠߦखॱ Ξϧגࣜձࣾɹԕࢁߊ !WFYVT
2 ࣗݾհ - Ξϧגࣜձࣾ ԕࢁߊ (@vexus2) - ݱ৬Ͱ VP of
Product - ݩʑBackend(Ruby/PHP)͕ͩ࠷ۙFrontendدΓ - TypeScript / Vue / Nuxt / Firebase ͳͲ - Firebaseྺ16ϲ݄͘Β͍ - ຊ൪ӡ༻ྺ8ϲ݄͘Β͍ - झຯϚϯΨΛಡΉ͜ͱ
3 ࣗݾհ ແྉͰఏڙ͞Ε͍ͯΔອըΛूΊͨʮອըϏϨοδʯΛݸਓͰӡӦɻ ϐʔΫ࣌ͷաڈ30ؒͰ1060ສPV͕͋ΓɺͦͷޙΞϧϦϒϥϯυɻ Xxx ίϛϡχςΟ GoogleͰʮອըଜʯͰݕࡧ͢Δͱ1Ґʹ Yahoo!χϡʔεͷτοϓʹ(هࣄݩɿITmedia)
4 Ξϧͱʁ W
5 ࠓ͢༰ͷલఏհ ΞϧɺϚϯΨϑΝϯͷͨΊʹɺϚϯΨΛൃݟͰ͖ΔศརͳαʔϏεΛఏڙ͢Δ ϚϯΨ୳͠ͷใαʔϏεͰ͢ɻ iOS/Web൛ΛͦΕͧΕఏڙதɻ
6 ౦ژϦʔδϣϯͷҠߦ W
7 Firestoreͷલఏ
8 ؆қͳϕϯνϚʔΫ ଌఆ2019/1/25 ࣮ߦڥ ॳճ 2ճҎ߱ us-central 1݅औಘ 892.3ms 202.3ms
20݅औಘ(SubCollection) 864ms 260.8ms asia-northeast1 1݅औಘ 370.3ms 125.6ms 20݅औಘ(SubCollection) 461.3ms 156.4ms ࠃͰαʔϏεΛల։͢Δ্Ͱ1ඵͰૣ͘TokyoϦʔδϣϯʹ Ҡߦ͢Δʹӽͨ͜͠ͱͳ͍͕ɺ໘ͳͱ͜Ζ͕͍͔ͭ͋͘Δɻ ࢼߦճ100ճఔͷ؆қతͳϕϯνϚʔΫͰͷฏۉɻ ࣮ߦωοτϫʔΫڥͳͲʹΑͬͯมΘΔ͕ࢀߟ·Ͱɻ
9 Firestoreͷલఏ 1. Cloud FirestoreͷσϑΥϧτϦʔδϣϯ us-centralɻ βҎલ͔Β༻͍ͯ͠ΔϓϩδΣΫτશ෦͜ͷঢ়ଶɻ 2. FirestoreͷϦʔδϣϯ ʮFirebaseϓϩδΣΫτʯͷ࡞࣌
ͷΈมߋՄೳ 3. Firestore1ͭͷϓϩδΣΫτʹ͖ͭ 1͔ͭ͠࡞Ͱ͖ͳ͍ (GCPͷϓϩδΣΫτʹඥ͍͍ͯΔ) FirestoreͷϦʔδϣϯΛมߋ͢ΔͨΊʹ FirebaseϓϩδΣΫτΛ࡞Γ͢ඞཁ͕͋Δ
10 खॱͱΔ͜ͱ W
11 ϓϩδΣΫτҠߦ·Ͱͷશମ૾ - GCPϢʔβͳͲͷཧɺҠߦ - PubSub, Cloud Scheduler, BigQueryͳͲ༻͍ͯ͠ΔGCPαʔϏεͷҠߦ -
ΞϓϦଆͷॾʑ͖ઌมߋͨ͠ঢ়ଶͰΞϓϦ৹ࠪΛ௨͓ͯ͘͠ - Force UpdateͳͲͷΈେৎ͔ʁཁ֬ೝ - Cloud StorageͷҠߦઌͷBucketΛ࡞͓ͬͯ͘ - ϓϩδΣΫτҠߦʹ͏Ϣʔβ੍ͷ֬ೝ - ϝϯςφϯε࣌ؒͷࠂ - σʔλྔʹΑΔ͕Ұ൪ֻ͕͔࣌ؒΔͷFirestoreͷσʔλҠߦ ࣄલʹΔ͜ͱ ϝϯςφϯεதʹΔ͜ͱ - Firestore AuthͷσʔλҠߦ - FirestoreͷσʔλͷҠߦ - Cloud StorageͷσʔλҠߦ - CDNͷOriginͷઃఆͳͲ͋ΕΕͣʹ - Cloud FunctionsͷσϓϩΠ - ϝϯςφϯεऴྃ࣌ͷForce Update
12 ϓϩδΣΫτҠߦʹ͏Ϣʔβ੍ͷ֬ೝ - Firebase AuthenticationImport/Export͕Ͱ͖ΔͷͰ৽ϓϩδΣΫτͰҠ ߦલͱಉ͡ϢʔβͰϩάΠϯ͕Ͱ͖Δ(ιʔγϟϧϩάΠϯؚΉ) - ͨͩ͠ɺϩάΠϯঢ়ଶ͕Ҿ͖ܧ͕Εͳ͍ͨΊಗ໊(Anonymous)Ϣʔβͷσʔ λ࣮࣭ফ͑Δ -
·ͨɺϨΞέʔε͕ͩʢΞϧͷΑ͏ʹʣGoogleϩάΠϯʹՃͰGmailͳͲ ͷݖݶΛऔಘ͍ͯ͠Δ߹ɺ৽ϓϩδΣΫτҠߦޙʹ࠶શϢʔβʹݖݶ ֬ೝը໘ΛܦͯaccessTokenΛऔಘ͢Δඞཁ͕͋Δɻ ಗ໊Ϣʔβ͕ϝϯςҠલͷσʔλ͕͑ͳ͘ͳͬͯͳ͍͔ɺ ͕͋ΔΑ͏Ͱ͋ΕҠߦલʹଞϩάΠϯͤ͞Δ͜ͱͰ σʔλ͕ফ͑ͳ͘ͳΔΑ͏௨ظؒΛઃ͚ΔඞཁͳͲݕ౼͢Δ
13 Firestore AuthͷσʔλҠߦ - جຊతʹExportͯ͠Import͢Δ͚ͩɻ - લड़ͷͱ͓Γಗ໊ϩάΠϯϩάΠϯঢ়ଶ͕Ҿ͖ܧ͛ͳ͍ͷͰɺʢ৽ϓϩδΣ Ϋτʹಗ໊ϢʔβͷϊΠζΛ࣋ͪࠐΈͨ͘ͳ͍߹ʣExport͞ΕͨJSON ͷத͔Βಗ໊ϢʔβͷσʔλΛআͯ͠ྑ͍ɻ $
firebase auth:export firebase-auth-users.json --format json --project چFirebaseϓϩδΣΫτ $ firebase auth:import firebase-auth-users.json --project ৽FirebaseϓϩδΣΫτ https://gist.github.com/vexus2/d5eecdc76cf94526645656c7a01f87c9
14 FirestoreͷσʔλͷExport/Import چFirestore→GCSʹσʔλΛExportɺGCS→৽Firestoreʹ Import͢Δɻ ͨͩ͠ɺಉҰϦʔδϣϯͷGCS͔Β͔͠Import/ExportͰ ͖ͳ͍ͷͰBucketΛ2ͭ༻ҙ͢Δඞཁ͕͋Δɻ چFirestore (us-central) ৽Firestore (asia-northeast1)
gs:// backup-us (us-central1) gs:// backup-asia (asia-northeast1)
15 FirestoreͷσʔλͷExport/Import $ gcloud beta firestore export gs://backup-us --project چFirebaseϓϩδΣΫτ
$ gsutil ls -a gs://backup-us | tail -n1 # όοΫΞοϓϑΝΠϧ֬ೝ $ gsutil cp -r `gsutil ls -a gs://backup-us | tail -n1` gs://backup-asia $ gsutil ls -a gs://backup-asia | tail -n1 # όοΫΞοϓϑΝΠϧ֬ೝ $ gcloud beta firestore import `gsutil ls -a gs://backup-asia | tail -n1` --project ৽Firebaseϓϩδ ΣΫτ https://gist.github.com/vexus2/d5eecdc76cf94526645656c7a01f87c9
16 ·ͱΊ W
17 ·ͱΊ - ʢࣗࣾͷαʔϏε͕ʣຊ൪ϩʔϯνલͳΒɺҠߦʮ͍͑ͬʯͰҰؾʹ ͬͪΌ͏ͷ͕ಘࡦɻ - طʹϩʔϯνޙͳΒɺ૿͍͑ͯ͘طଘσʔλͱͷ߹ੑΛ୲อ͢ΔͨΊʹϝ ϯςφϯεΛೖΕͯҠߦ͢Δͷ͕ݱ࣮తɻ - ਖ਼Δ͜ͱଟ͍͠ߟྀࣄ߲ଟ͍ͷͰେม͕ͩɺΔՁेʹ͋
Δɻ
18