Download - NoSQL learnings from the world of Telco
{NoSQL the Telco way
@dieswaytoofast
(V.P. Ubiquiti Networks)
The Business
Phone services for SMBs
The Business
Phone services for SMBs
Hosted Phone services for SMBs
The Business
Phone services for SMBs
Hosted Phone services for SMBs
Hosted Cloud Communications service for SMBs
The Business
Phone services for SMBs
Hosted Phone services for SMBs
Hosted Cloud Communications service for SMBs
The BusinessHUH W
HAT?
The Metrics
Phone Calls per Second
The Metrics
Phone Calls per Second
The Metrics
x 1000
Simultaneous Phone Calls
The Metrics
Simultaneous Phone Calls
The Metrics
x 10,000
HTTP API requests
The Metrics
HTTP API requests
The Metrics
∞
Self-hosted (kinda)
The Infrastructure
Self-hosted (kinda)
Big IP pipes
The Infrastructure
Self-hosted (kinda)
Big IP pipes
Erlang
The Infrastructure
Self-hosted (kinda)
Big IP pipes
Erlang
Polyglot Persistence
The Infrastructure
Self-hosted (kinda)
Big IP pipes
Erlang
Polyglot Persistence
The InfrastructureHUH?
Domain-specific data stores
Polyglot Persistence
Domain-specific data stores
Polyglot Persistence
SQL
Domain-specific data stores
Polyglot Persistence
NoSQL
SQL
Domain-specific data stores
Polyglot Persistence
NoSQL
Files
SQL
Domain-specific data stores
Polyglot Persistence
NoSQL
Text
Files
SQL
Domain-specific data stores
Polyglot Persistence
NoSQL
Text
Files
Excel
SQL
Domain-specific data stores
Polyglot Persistence
NoSQL
Text
Files
Excel
Post-ItSQL
Domain-specific data stores
Polyglot Persistence
NoSQL
Text
Files
Excel
Post-ItSQL
Not (necessarily) structured data
NoSQL
Not (necessarily) structured data
Solution Oriented
NoSQL
Not (necessarily) structured data
Solution Oriented
NoSQLHUH?
SQL
NoSQL
75bhp
What d’you want the data to look like when you fetch it from the database?
- Casey Rosenthal
Solution Oriented
Solution Oriented
Key-Value
Solution Oriented
Key-Value
Object
Solution Oriented
Key-Value
Column
Object
Solution Oriented
Key-Value
ColumnDocument
Object
Solution Oriented
Key-Value
ColumnDocument
Graph
Object
Solution Oriented
Key-Value
ColumnDocument
Graph
ObjectEventu
ally
Consiste
nt
Solution Oriented
Key-Value
ColumnDocument
Graph
ObjectEventu
ally
Consiste
ntOrd
ered
Solution Oriented
Key-Value
ColumnDocument
Graph
ObjectMem
ory
Eventually
Consiste
ntOrd
ered
Solution Oriented
Key-Value
ColumnDocument
Graph
ObjectMem
ory
Eventually
Consiste
ntOrd
ered
Multi
ple
Value
Eventually
Consiste
nt
Mem
ory
ObjectSolution Oriented
Key-Value
ColumnDocument
GraphOrdere
d
Multi
ple
Value
http://techcrunch.com/2012/10/27/big-data-right-now-five-trendy-open-source-technologies/
Example please?
"Everybody Knows"
"EVERYBODY K
NOWS
OVER
ENGINEERIN
G!
Anything else?
I lied about reports
Anything else?
I lied about reports (kind-of)
Anything else?
Do tell…
If its easy, people might actually use it
- <name withheld>
Sad but true…
Friction - Bad...
Friction - Good...
Really?
Friction - Good...
Example please?
Friction - Good...
Anything else?
Scaling Matters
Scaling Matters"E
VERYBODY KNOW
S
Scaling is easy
Scaling is easy"E
VERYBODY KNOW
S
Automatic Scaling is hard
Automatic Scaling is hard
Automatic Scaling is hard
Automatic Scaling is hard
Automatic Scaling is hard
Automatic Scaling is hard
And the Failure modes!
And the Failure modes!
And the Failure modes!
And the Failure modes!
And the Failure modes!
Back Office Systems
New CFO
New CEO
The Bottom Line
AGILITY
a·gil·i·ty /əˈdʒɪlɪti/noun
the power of moving quickly and easily; nimbleness
Agility
Loose Coupling
Agility
Loose Coupling
Hot Upgrades
Agility
Loose Coupling
Hot Upgrades
Polyglot Persistence
Agility
Move call information into one (per-client) database
Redesign
New CFO
Preprocess Call information
Separate out billing information
Redesign
Preprocess Call information
Separate out billing information
Redesign
What d’you want the data to look like when you fetch it from the database?
- Casey Rosenthal
New CEO
Move all client info into one Database
Redesign
"EVERYBODY K
NOWS
More pre-computations (Date ranges! Argh!)
Redesign
Expiring calls? Argh!
Redesign
And the Failure modes!
Decouple authentication
Redesign
Mnesia
Automatic Scaling is hard
Caches Caches Everywhere…
Redesign
Mnesia
Automatic Scaling is hard
Caches Caches Everywhere…
Redesign
Mnesia
Mnesia
Caches Caches Everywhere…
Redesign
MnesiaMnesia
Mnesia
Caches Caches Everywhere…
Redesign
MnesiaMnesia
MnesiaMnesia
Caches Caches Everywhere…
Redesign
MnesiaMnesia
MnesiaMnesia
Mnesia
Caches Caches Everywhere…
Redesign
Mnesia
Mnesia
Mnesia
MnesiaMnesia
Mnesia
Caches Caches Everywhere…
Redesign
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Caches Caches Everywhere…
Redesign
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Mnesia
Redesign
Back Office Systems
Redesign