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
About the problem of DBMS choice & what to do i...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Minsk MongoDB User Group
June 07, 2012
Programming
130
3
Share
About the problem of DBMS choice & what to do if you have gone the wrong way | Roman Bugaev
Roman Bugaev
Meetup #4
Minsk MongoDB User Group
June 07, 2012
More Decks by Minsk MongoDB User Group
See All by Minsk MongoDB User Group
MongoDB by Chef | Yauhen Artsiukhou
bymongo
0
140
MongoDB at IronMQ | Alexander Kolesen
bymongo
0
860
Scaling MongoDB | Sergey Gavruk
bymongo
2
190
Event sourcing + CQRS + MongoDB | Alex Shkor
bymongo
1
650
How it works. Indexes | Kirill Duborenko
bymongo
5
290
Aggregation Framework | Mikhail Burtylev
bymongo
1
120
MongoDB 2.2: Release update + Roadmap | Alvin Richards
bymongo
1
120
Meetup#6 Intro | Alex Litvinok
bymongo
1
63
Deploying MongoDB on Amazon WS | Michael Karpitsky
bymongo
2
130
Other Decks in Programming
See All in Programming
Road to RubyKaigi: Play Hard(ware)
makicamel
1
540
第3木曜LT会 #28
tinykitten
PRO
0
120
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
480
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
ハーネスエンジニアリングとは?
kinopeee
13
6.8k
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
170
実用!Hono RPC2026
yodaka
2
300
Firefoxにコントリビューションして得られた学び
ken7253
2
150
The Less-Told Story of Socket Timeouts
coe401_
3
960
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
書き換えて学ぶTemporal #fukts
pirosikick
2
350
Vibe NLP for Applied NLP
inesmontani
PRO
0
600
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
130
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
730
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Balancing Empowerment & Direction
lara
6
1.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
180
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
How GitHub (no longer) Works
holman
316
150k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
690
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Bugaev Roman About the problem of DBMS choice & what
to do if you have gone the wrong way
.NET web-‐‑developer
SQL or NoSQL, that is the question!
Ñ Learning management system Ñ SCORM Ñ 1 million active users CyberU
Ñ No transactions Ñ No relations Ñ No datatypes (some) SimpleDB
Key → ALribute → Value select count(*) from cyberu_users where
RecordType = 'user'
Prons & Cons
Ñ Everything is indexed Ñ Distributed Ñ Replicated Ñ Completely hosted on Amazon system
BUT Ñ Latency specially if you’re not on ec2 (even between nodes) Ñ Only strings, lexicographical string only Ñ Huge amount of code
Ñ If you love writing code-‐‑-‐‑ really, truly love to
write code-‐‑-‐‑ you'ʹll love it enough to write as liLle of it as possible. And SQL can help you.
SQL is awesome! -‐‑ Structured Query Language -‐‑ ACID Atomicity,
Consistency, Isolation, Durability -‐‑ Predictable -‐‑ Schema -‐‑ Based on rational algebra -‐‑ Standardized
No, really, it'ʹs awesome! -‐‑ Hardened -‐‑ Free and commercial
choices -‐‑ MySQL, PostgreSQL, Oracle, DB2, MS SQL... -‐‑ Commercial support -‐‑ Tooling -‐‑ Everyone knows it -‐‑ It'ʹs mature!
None
Sellerhit
So... -‐‑ Some preLy big and important problems -‐‑
And brightest engineers in the world -‐‑ Who loooove to build stuff
Yesterday'ʹs problem of biggest guys Is today'ʹs
problem of startup in garage
Ñ What schema can be fine for a lot of
product’s types? E-‐‑commerce
Books
Music
Jeans
Ñ Flexible (and sane) Ñ Searchable Ñ Easy to use Ñ Fast MongoDB
Ñ Atomic single document writes Ó If you need atomic writes across
multi-‐‑document – don’t use MongoDB And what about $$?
Ñ Orders, Inventory (id, count) and Payment Transaction you
can store in SQL Ñ UI – MongoDB, ecomerce -‐‑ SQL Most boring SQL Scheme ever
Ñ Double check you choice of DBMS and tools
Ñ Do it fast Ñ Check your logic Ñ Enterprise design Ñ Id<User> != Id<Product> Ñ Unit tests Ñ Delete code Ñ Optimize your tools Ñ Be brave! Data migrations
Use case – first, DB – last © Anonymous
Neo4J – Graph database
{ Thx! Q? Bugaev Roman, @rbugaev