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
Introduction to NoSQL
Search
Arun Sasidharan
January 04, 2018
Programming
16
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to NoSQL
Arun Sasidharan
January 04, 2018
More Decks by Arun Sasidharan
See All by Arun Sasidharan
Protocol Buffers
esoxjem
0
32
Loosely Coupled Identity Management Architecture
esoxjem
0
25
Other Decks in Programming
See All in Programming
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
The Rails Doctrine Decade
koic
2
590
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
630
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
Making Projects Easy
brettharned
120
6.8k
Code Review Best Practice
trishagee
74
20k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Designing for humans not robots
tammielis
254
26k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Ruling the World: When Life Gets Gamed
codingconduct
0
400
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Transcript
Introduction to NoSQL
HISTORY
1980s - Rise of Relational Databases
Persistence SQL Concurrency through Transactions Integration Reporting
PROBLEMS
Structure of objects. Cohesive units. Stripped out to tables and
rows.
None
OBJECT RELATIONAL IMPEDANCE MISMATCH
Two different models. Have to be matched. Causes difficulties.
Awkward problem. Leads to ORM Frameworks.
PREDICTION Mid 1990s
Fall of Relational Databases. Rise of Object Databases.
Take in-memory structures, map them directly to disk.
NOPE
TOTAL RELATIONAL DOMINANCE
WHY?
SQL became an integration mechanism.
None
Fast seek times of tables on mechanical disks.
20 YEARS OF RELATIONAL DOMINANCE INTO 2000s
2000s saw rise of internet traffic. Google. Amazon. etc.
Large amounts of data. Scalability issues.
Scale vertically. Bigger boxes. More cost. Hit the limit.
Scale horizontally. Lots and lots of small boxes. Cheap commodity
hardware. Massive grids.
PROBLEM
Designed to run on one system. Not for large clusters
of boxes.
Orgs tried to spread SQL without much success.
Google - Bigtable Amazon - Dynamo
#nosql movement
Fall of mechanical disks. Enter flash memory. SSD. No more
spindles.
WHO NEEDS TABLES?
MongoDB HYPERTABLE Cassandra Apache HBase CouchDB Dynomite Project Voldemort
Non-Relational Cluster-Friendly, exceptions Open Source, exceptions 21st century web origin
Schema-less
Data Model different from Relational Model
KEY-VALUE STORE
Hashmap on the disk.
DOCUMENT DATA MODEL
Storage of mass of documents. Each document is a complex
data structure.
Usually JSON. XML. Uncool.
Query portions of a document. Update portions of a document.
Schema less. Shove anything you like.
Not the entire truth.
Because we retrieve specific pieces of data:
None
None
Assumption that “quantity”, “price” exist in the document structure.
Implicit schema has to be managed. Just like a relational
database. But with flexibility.
BLURRY LINE KV and Document Stores
Key-Value stores let you add metadata to values. Helps to
index.
Document data stores are queried through an “id”. Kind of
like a key.
Common notion of a single unit being saved to the
database.
Transparent document. Opaque value.
Aggregate-Oriented
Aggregate
While modelling, group things into natural aggregates.
In Relational DBs, aggregate is splattered across a lot of
tables.
In Aggregate DBs, aggregate can be saved as a single
unit.
KVS, aggregate == value DDM, aggregate == document
COLUMN FAMILY DB
A row key, with multiple column families.
Column family, aggregate with columns that fit together.
None
None
Aggregates in clusters run efficiently
ADVANTAGE
Same aggregate to push data back and forth.
DISADVANTAGE
Slicing and dicing data in different ways.
GRAPH DATABASES
Not aggregates, nodes and arcs data model.
Easy to move across relationships between things.
Relational DBs are not good at relationships. “Relational” comes from
set theory. Joins, intersects, etc.
None
Aggregate oriented databases lump together. Graph oriented databases break things
apart into smaller units.
CONSISTENCY
RDBMS == ACID NoSQL == BASE
Atomic. Consistent. Isolated. Durable.
Basically Available. Soft state. Eventual consistency.
Graph DBs do ACID. Decompose better than RDBMS.
Aggregate Oriented Databases don’t need transactions. Aggregates are a single
unit. Atomic.
CONSISTENCY PROBLEMS
Booking a railway ticket at the same time on different
nodes.
Interview question: 100 people shopping for 10 items on Amazon.
CAP THEOREM
Between Consistency, Availability and Partition Tolerance. PICK ANY TWO.
For the user, consistency vs response time.
In concurrency terms, safety vs liveliness.
Amazon: we always want to always get people shopping fast.
Because what’s the most important thing in America?
SHOPPING.
NOSQL: WHEN AND WHY?
Easy development.
Large data.
Natural aggregate: newspaper articles, user profiles
Integration Problems?
Service oriented interaction
FUTURE
POLYGLOT PERSISTENCE
MongoDB, PostgreSQL, Redis, ElasticSearch, Amazon RDS, Redshift
None
FIN.