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
Firebase Realtime Database 株式会社マナボ 導入事例
Search
Daisuke Yamashita
October 18, 2016
Technology
2.6k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firebase Realtime Database 株式会社マナボ 導入事例
Firebase.ebisu #1 の発表資料です。
http://firebase.connpass.com/event/41745/
Daisuke Yamashita
October 18, 2016
More Decks by Daisuke Yamashita
See All by Daisuke Yamashita
EducationTech Talks Tokyo #1
dddaisuke
2
2.1k
CTOが語る「Challenge」~うちの会社の技術的挑戦、全部話します~
dddaisuke
2
420
Firebaseのススメ入門編 - Google Play APP DOJO
dddaisuke
0
920
Google DevFest Tokyo 2016
dddaisuke
3
1.1k
Firebase Overview @ Google I/O 2016
dddaisuke
2
1.4k
サーバーサイドから利用するFirebase
dddaisuke
4
3.1k
非エンジニアでもデキる ラクラク自動化生活
dddaisuke
9
1.4k
クラウドテクノロジーで加速する開発・運用 | EdTech CTO Night
dddaisuke
4
6.4k
Other Decks in Technology
See All in Technology
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
210
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
100
演劇と私とスクラム
chinmo
0
160
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
1.9k
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
5
2.4k
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
240
Obsidian Vault Architectures
x5gtrn
PRO
0
190
クラウドサインを止めずに Nuxt へ 次の10年のために先に決めたこと
bengo4com
1
170
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
320
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
490
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
460
Let's Change Our World—Again
snoozer05
PRO
6
700
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
370
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
540
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
950
Discover your Explorer Soul
emna__ayadi
2
1.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
What's in a price? How to price your products and services
michaelherold
247
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Facilitating Awesome Meetings
lara
57
7.2k
Claude Code のすすめ
schroneko
67
230k
The Curse of the Amulet
leimatthew05
3
16k
WCS-LA-2024
lcolladotor
0
920
Transcript
None
山下 大介 ( だいちゃん ) 株式会社マナボ 取締役CTO Blog :
h+p://blog.daisukeyamashita.com Twi+er : @dddaisuke Facebook : dice.k.yamashita Google Developer Expert (Cloud): h+ps://developers.google.com/experts/people/daisuke-‐yamashita ConfidenIal © mana.bo Inc. All Rights Reserved 2
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Google For Mobile 2016
DevFest 2016
None
None
信頼性 • FirebaseはGoogleが買収してきたテクノロジー
None
None
信頼性 稼働率は99.9%程度かな?
信頼性 日々、安定してきているとは言え、現状それなり のダウンタイムがある。
対策 • マナボでは、RealIme DBを100%信用せず、 WebSocketで、フォールバックのラインを用意 した。 • それぞれの障害率を0.1%とすると、同時に障 害が発生する障害率は0.01%。
書き込み
LINE風メッセージング機能の実装 新しいメッセージング機能に関しては、 当初マスターデータを Firebaseに保管する予定だった
LINE風メッセージング機能の実装 FirebaseのRealIme Databaseを 運用するノウハウがそれほど無かった 複雑なスキーマ設計に自信が無い
LINE風メッセージング機能の実装 スキーマ変更がある前提の設計にしよう!
REST APIが遅い!!! REST APIが遅いので、データを高速に マイグレーションするのは不可能!!!
REST APIが遅い!!! REST APIが遅すぎて、全データのクローンを どこかに持つ必要があると判断
REST APIが遅い!!! Firebase RealIme Databaseに マスターデータを格納するのを諦める
非同期の読み込み (最初の1回目など)
汎用的なお話
RealIme DBの設計 • Firebase RealIme DBの設計の勘所は、以下 のURLを参照 • h+ps://firebase.google.com/docs/database/
rest/structure-‐data
非正規化の問題 • 同じデータが複数箇所に保存され、更新が難 しい(更新漏れが発生する)
リレーションの問題 • リレーションを表現するのに、双方向リストと して表現する必要がある
リレーションの問題 • 更新をミスると即死亡
これらの問題に対応しようとすると クライアントのコード中で発生することは
THE・スパゲッティコード
まとめ Firebaseはカジュアルに リアルタイム更新をデバイス間で共有できるが、 現実的に大規模運用をスマホ(Android/iOS)の コードだけで完結させるのは厳しそう
今後の機能追加に期待しています!
None