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
Architecture with NoSQL: Experiences of a SaaS ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
lautis
August 21, 2012
Technology
760
4
Share
Architecture with NoSQL: Experiences of a SaaS startup
Presentation at WICSA 2012 Industry day.
lautis
August 21, 2012
More Decks by lautis
See All by lautis
Real-Time with Flowdock
lautis
2
200
Other Decks in Technology
See All in Technology
幾億の壁を超えて/Beyond Countless Walls(JP)
ikuodanaka
0
130
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
170
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
240
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
160
Code Interpreter で、AIに安全に コードを書かせる。
yokomachi
0
6.5k
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
8
2.2k
2026年、知っておくべき最新 サーバレスTips10選/serverless-10-tips
slsops
12
4.9k
NgRx SignalStore: The Power of Extensibility
rainerhahnekamp
0
230
Do Ruby::Box dream of Modular Monolith?
joker1007
0
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
CloudSec JP #005 後締め ~ソフトウェアサプライチェーン攻撃から開発者のシークレットを守る~
lhazy
0
220
Featured
See All Featured
HDC tutorial
michielstock
2
620
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
720
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
98
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Cult of Friendly URLs
andyhume
79
6.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Building the Perfect Custom Keyboard
takai
2
730
WCS-LA-2024
lcolladotor
0
530
Raft: Consensus for Rubyists
vanstee
141
7.4k
Transcript
Architecture with NoSQL Experiences of a SaaS startup Ville Lautanala
None
•Single page JavaScript front-end •Thousands of concurrent users •Three replicated
databases •X servers on two continents •99.98% availability Facts
Streaming API MongoDB Redis + IRC, Twitter, RSS, and Email
integrations WebSocket API Message Backend PostgreSQL Rails App
MongoDB • Document-oriented • JSON based queries • Scalable reads
and writes • Replication and failover built-in • No transactions, no JOINs
SSD == Awesome
None
Chef
Manage servers with code 1. Edit recipes 2. knife upload
3. ??? 4. Profit!!!
Redis: in-memory DB •Key-value store •Data-structure server •Network accessible shared
memory •Non-blocking event-bus (pub/sub)
Flowdock message processing Redis Queue Redis Pubsub MongoDB Flowdock Backend
Redis is SPoF
ZooKeeper
ZooKeeper? •Highly-available key-value store •Enables distributed coordination •Listen for value
changes •Eventual consistency with quorum semantics
Node Manager Node Manager Redis Node Redis Node ZooKeeper Monitor
Update Redis Failover
Zoos are kept.
Chef ZooKeeper Configuration files Dynamic configuration variables Server installation Failover
handling Chef vs ZooKeeper
Network fail Flowdock Comcast Problems
Taking control of the routes 1. Submarine communications cable 2.
3rd party CDN/Load Balancers 3. AWS as SSL endpoint
This Is How We Roll •GeoDNS chooses endpoint •Encrypted VPN
mesh between servers •Servers near client act as SSL endpoint •Request processed near data
150ms faster page requests from U.S.
Conclusions •MongoDB a bit like MySQL 15 years ago •Some
NoSQL databases are suitable for distributed setups •Hardware and network issues needs to be addressed
Thanks!