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 startup
Search
lautis
August 21, 2012
Technology
4
680
Architecture with NoSQL: Experiences of a SaaS startup
Presentation at WICSA 2012 Industry day.
lautis
August 21, 2012
Tweet
Share
More Decks by lautis
See All by lautis
Real-Time with Flowdock
lautis
2
190
Other Decks in Technology
See All in Technology
個人のAWSアカウントをマルチ運用してみた
miura55
2
250
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
4
1.4k
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
310
類似ロジック実装をiOS/Android間で合わせる道標No.1
fumiyasac0921
1
160
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
370
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.2k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
NewSQL Landscape
oracle4engineer
PRO
2
2.6k
cgroup v2 で何が変わったのか / TechFeed Experts Night #28
tenforward
2
110
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
190
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
450
中年男性がメインフレームから クラウドへキャリアシフトしてみた
uechishingo
1
420
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Gamification - CAS2011
davidbonilla
77
4.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
4 Signs Your Business is Dying
shpigford
176
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
Designing with Data
zakiwarfel
96
4.8k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Rails Girls Zürich Keynote
gr2m
91
13k
Infographics Made Easy
chrislema
238
18k
Git: the NoSQL Database
bkeepers
PRO
423
63k
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!