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
Firebase Realtime Database 株式会社マナボ 導入事例
Search
Daisuke Yamashita
October 18, 2016
Technology
4
2.3k
Firebase Realtime Database 株式会社マナボ 導入事例
Firebase.ebisu #1 の発表資料です。
http://firebase.connpass.com/event/41745/
Daisuke Yamashita
October 18, 2016
Tweet
Share
More Decks by Daisuke Yamashita
See All by Daisuke Yamashita
EducationTech Talks Tokyo #1
dddaisuke
2
1.8k
CTOが語る「Challenge」~うちの会社の技術的挑戦、全部話します~
dddaisuke
2
370
Firebaseのススメ入門編 - Google Play APP DOJO
dddaisuke
0
800
Google DevFest Tokyo 2016
dddaisuke
3
1k
Firebase Overview @ Google I/O 2016
dddaisuke
2
1.2k
サーバーサイドから利用するFirebase
dddaisuke
4
3k
非エンジニアでもデキる ラクラク自動化生活
dddaisuke
9
1.3k
クラウドテクノロジーで加速する開発・運用 | EdTech CTO Night
dddaisuke
4
6.3k
Other Decks in Technology
See All in Technology
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
Qiita埋め込み用スライド
naoki_0531
0
4.7k
.NET 9 のパフォーマンス改善
nenonaninu
0
860
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
290
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Invisible Side of Design
smashingmag
298
50k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Bash Introduction
62gerente
608
210k
It's Worth the Effort
3n
183
28k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Rails Girls Zürich Keynote
gr2m
94
13k
Visualization
eitanlees
146
15k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
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