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
About the problem of DBMS choice & what to do i...
Search
Minsk MongoDB User Group
June 07, 2012
Programming
170
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Transcript
26 slides
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
More Decks by Minsk MongoDB User Group
See All by Minsk MongoDB User Group
MongoDB by Chef | Yauhen Artsiukhou
bymongo
0
150
MongoDB at IronMQ | Alexander Kolesen
bymongo
0
880
Scaling MongoDB | Sergey Gavruk
bymongo
2
210
Event sourcing + CQRS + MongoDB | Alex Shkor
bymongo
1
660
How it works. Indexes | Kirill Duborenko
bymongo
5
310
Aggregation Framework | Mikhail Burtylev
bymongo
1
150
MongoDB 2.2: Release update + Roadmap | Alvin Richards
bymongo
1
130
Meetup#6 Intro | Alex Litvinok
bymongo
1
75
Deploying MongoDB on Amazon WS | Michael Karpitsky
bymongo
2
150
Other Decks in Programming
See All in Programming
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
630
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
2
260
Performance Optimization With LLMs
xleitix
0
250
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
200
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
310
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
650
Distance field of Julia set
kinakomoti321
0
320
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Thoughts on Productivity
jonyablonski
76
5.5k
Exploring anti-patterns in Rails
aemeredith
4
560
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
The agentic SEO stack - context over prompts
schlessera
0
1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
2
520