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
Web Scale with NoSQL
Search
Sergejus
April 09, 2011
Technology
1
83
Web Scale with NoSQL
Sergejus
April 09, 2011
Tweet
Share
More Decks by Sergejus
See All by Sergejus
Bringing Developers to the Next Level
sergejusb
0
220
True story of re-architecting website for scale on Windows Azure
sergejusb
1
66
Continuous Happiness by Continuous Delivery
sergejusb
2
3.9k
Windows Azure from practical point of view
sergejusb
1
69
Windows Azure Web Sites: new cloud hosting offering
sergejusb
2
70
Intro to Big Data using Hadoop
sergejusb
2
130
Optimizing ASP.NET application performance: tough but necessary
sergejusb
2
61
Release Often, Release Safely
sergejusb
1
42
NoSQL – What’s that.pdf
sergejusb
1
69
Other Decks in Technology
See All in Technology
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
16k
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
110
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
9
3.9k
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.5k
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
260
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
120
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
230
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
200
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
300
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Documentation Writing (for coders)
carmenintech
72
4.9k
What's in a price? How to price your products and services
michaelherold
246
12k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Writing Fast Ruby
sferik
628
62k
Transcript
Web Scale with NoSQL Sergejus Barinovas (@sergejusb) http://sergejus.blogas.lt
None
Who Am I? Architect at Running NoSQL servers
in production Blogger (http://sergejus.blogas.lt, @sergejusb) Community member (http://dotnetgroup.lt) Contact me via
[email protected]
Powered by RDBMS Used everywhere… …even where it
shouldn’t Used for 30+ years!
Back to 1980’s…
Data boom
in numbers 600 000 000 users 30 000
servers 20+ TB raw data per day >20 PB stored data
You really think they use RDBMS?
RDBMS Scaling Example
Simple usage Customers Reads / Writes master
Scale reads Customers master slave slave
Scale writes Customers [A-M] master master Customers [N-Z]
Scale reads / writes Customers [A-M] master slave slave master
Customers [N-Z] slave slave
Pray your system won’t fail
None
Why NoSQL Limited SQL scalability Sharding and vertical
partitioning Limited SQL availability Master / slave configuration Limited SQL speed of read operations Multiple read replicas SQL limitations for huge amount of data Key / value / type columns
NoSQL history 2009, Eric Evans, no:sql(est) NoSQL –
open source distributed databases, not relational SQL databases NoSQL – not only SQL NoSQL → Big Data
NoSQL characteristics (1/2) Scalability The ability to horizontally
scale simple- operation throughput over many servers BASE A “weaker” concurrency model than the ACID transactions in most SQL systems
NoSQL characteristics (2/2) Distributed Efficient use of distributed
indexes and RAM for data storage Schema-less The ability to dynamically define new attributes or data schema
CAP theorem 2000, Eric Brewer It is impossible
for a distributed computer system to simultaneously provide all three of the following guarantees: Consistency Availability Partition tolerance
None
NoSQL Databases
NoSQL categories Key / value store Document database
Graph database Columnar database
Key / value store <key, value> or Tuple<key, v1,.
., vn> Simple operations Get Put Delete Byte[] Byte[] Key Value
Key / value store Key Value “current_date” 2013.02.01 “sergejusb” Binary
Object “sergejusb” JSON Object
Key / value stores Redis (+)messaging (-)no
shards Voldermort Membase (+)memcache interface Riak
Document database Document == complex object XML
YAML JSON / BSON Support for secondary indexes Schema can be defined at runtime Optional support for simple querying using Map / Reduce
Document databases MongoDB (+)shards CouchDB (+)master
/ master replication
Graph database Graph == network Basic constructs
Node Edge Properties sergejus sergejus.blogas.lt tdagys knows knows
Graph databases Neo4j (-)paid version required for scaling
FlockDB (+)fast (-)limited functionality
Columnar database For HUGE amount of data Columns
are added at a runtime Great scalability Horizontal Vertical
Columnar database Unusual data model Key Space →
Database Column Family → Table Columns and Super Columns Super Column → array of Columns Column → Tuple<Key, Value, Timestamp, TTL>
Columnar database Simple column
Columnar database Simple column
Columnar database Cassandra (+)easy scalable HBase
(+)consistent (+)part of Hadoop Hypertable
NoSQL is Cool! But…
None
NoSQL limitations ORDER BY ? Natural key order
GROUP BY ? Map / Reduce* JOIN ? Multiple Map / Reduce* SELECT * ? Multi-machine Map / Reduce* *if possible
NoSQL Limitations Maturity Tooling Specificity
SQL vs. NoSQL Choose the right tool for the
task You can use BOTH
Thank you! Sergejus Barinovas (@sergejusb)
[email protected]
http://sergejus.blogas.lt