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
Web Scale with NoSQL
Search
Sergejus
April 09, 2011
Technology
90
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Web Scale with NoSQL
Sergejus
April 09, 2011
More Decks by Sergejus
See All by Sergejus
Bringing Developers to the Next Level
sergejusb
0
230
True story of re-architecting website for scale on Windows Azure
sergejusb
1
74
Continuous Happiness by Continuous Delivery
sergejusb
2
3.9k
Windows Azure from practical point of view
sergejusb
1
89
Windows Azure Web Sites: new cloud hosting offering
sergejusb
2
80
Intro to Big Data using Hadoop
sergejusb
2
140
Optimizing ASP.NET application performance: tough but necessary
sergejusb
2
71
Release Often, Release Safely
sergejusb
1
68
NoSQL – What’s that.pdf
sergejusb
1
78
Other Decks in Technology
See All in Technology
10分で知る最近のOmarchy
komagata
0
320
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
190
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
Genieを崇めよ
kameitomohiro
0
120
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
810
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
2
1.6k
品質と信頼性を地続きにする
grimoh
0
380
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
120
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.5k
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
5
2.3k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
280
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
270
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Building Adaptive Systems
keathley
44
3.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
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