SlideShare a Scribd company logo
NoSQL the Telco way
  {   @dieswaytoofast
      (V.P. Ubiquiti Networks)
NoSQL learnings from the world of Telco
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




                       T?
       Hosted Phone services for SMBs




                     HA
       Hosted Cloud Communications service for SMBs




                W
             H
        HU

The Business
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
The Metrics
   Phone Calls per Second




The Metrics
   Phone Calls per Second



               x 1000
The Metrics
   Simultaneous Phone Calls




The Metrics
   Simultaneous Phone Calls



            x 10,000
The Metrics
   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




                                H?
                               HU
The Infrastructure
   Domain-specific data stores




Polyglot Persistence
   Domain-specific data stores



                SQL
Polyglot Persistence
NoSQL
        Domain-specific data stores



                SQL
Polyglot Persistence
NoSQL
       Domain-specific data stores



               SQL
Polyglot PersistenceFiles
NoSQL
          Domain-specific data stores




Text              SQL
Polyglot PersistenceFiles
NoSQL
Excel
          Domain-specific data stores




Text              SQL
Polyglot PersistenceFiles
NoSQL
Excel
          Domain-specific data stores
                                         Post-It
Text              SQL
Polyglot PersistenceFiles
NoSQL
Excel
          Domain-specific data stores
                                         Post-It
Text              SQL
Polyglot PersistenceFiles
   Not (necessarily) structured data




NoSQL
   Not (necessarily) structured data
      Solution Oriented




NoSQL
   Not (necessarily) structured data
      Solution Oriented




                                     H?
                               HU
NoSQL
SQ
   L
No
     SQ
          L
75
     bh
        p
What d’you want the data to look like when you fetch
    it from the database?
                          - Casey Rosenthal




Solution Oriented
Key-Value


Solution Oriented
Key-Value


Solution Oriented
Object
Key-Value

              Column
Solution Oriented
Object
Key-Value

Document
               Column
 Solution Oriented
 Object
Key-Value
                Graph
Document
               Column
 Solution Oriented
 Object
Key-Value
                Graph




                   is lly
Document


                ns tua
                        nt
               Column


                     te
                    en
                 Ev
 Solution Oriented
 Object      Co
Key-Value
     d
    re          Graph
  de
Or




                   is lly
Document


                ns tua
                        nt
               Column


                     te
                    en
                 Ev
 Solution Oriented
 Object      Co
Key-Value
            d
         re       Graph
       de
     Or




                      is lly
Document


                   ns tua
                           nt
   y

                 Column


                        te
or



                       en
 em



 Solution Oriented  Ev
  Object
M




                Co
lu le
    Key-Value
            d

                              Va tip
         re



                   ns tua e
                    Graph
       de


                ul
                M
     Or




                      is lly
Document



                           nt
   y

                    Column


                        te
or



                       en
 em



 Solution Oriented  Ev
  Object
M




                Co
lu le
    Key-Value
            d

                              Va tip
         re



                   ns tua e
                    Graph
       de


                ul
                M
     Or




                      is lly
Document



                           nt
   y

                    Column


                        te
or



                       en
 em



 Solution Oriented  Ev
  Object
M




                Co
http://techcrunch.com/2012/10/27/big-data-right-now-five-trendy-open-source-technologies/
NoSQL learnings from the world of Telco
Example please?
NoSQL learnings from the world of Telco
"Everybody Knows"
"E
  VE
    RY
       B   OD
             YK
               NO
                    W
                        S
NoSQL learnings from the world of Telco
EN O
  GI V E
    NE R
      ER
        IN
          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...
NoSQL learnings from the world of Telco
Friction - Good...
Friction - Good...
Really?
Friction - Good...
Example please?
NoSQL learnings from the world of Telco
Anything else?
Scaling Matters
S
                  W
             NO
           YK
        BOD
     RY

Scaling Matters
   VE
 "E
Scaling is easy
S
                  W
             NO
           YK
        BOD
     RY

Scaling is easy
   VE
 "E
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
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
NoSQL learnings from the world of Telco
AGILITY
The Bottom Line
NoSQL learnings from the world of Telco
a·gil·i·ty   /əˈdʒɪlɪti/
     noun
     the power of moving quickly and easily; nimbleness




Agility
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
   Loose Coupling




Agility
   Loose Coupling

        Hot Upgrades




Agility
   Loose Coupling

        Hot Upgrades

        Polyglot Persistence




Agility
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco
   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



    What d’you want the data to look like when you fetch
    it from the database?
                          - Casey Rosenthal


Redesign
New CEO
   Move all client info into one Database




Redesign
"E
  VE
    RY
       B   OD
             YK
               NO
                    W
                        S
   More pre-computations (Date ranges! Argh!)




Redesign
NoSQL learnings from the world of Telco
   Expiring calls? Argh!




Redesign
And the Failure modes!
   Decouple authentication



             Mnesia
Redesign
Automatic Scaling is hard
   Caches Caches Everywhere…



            Mnesia
Redesign
Automatic Scaling is hard

                       Mnesia
        Caches Caches Everywhere…



            Mnesia
Redesign

                       Mnesia
        Caches Caches Everywhere…



     Mnesia
 Mnesia
Redesign
Mnesia
Mnesia
        Caches Caches Everywhere…



      Mnesia
  Mnesia
 Redesign
Mnesia
                        Mnesia
Mnesia
        Caches Caches Everywhere…



      Mnesia
  Mnesia
 Redesign
Mnesia
  Mnesia
          Mnesia
Mnesia
        Caches Caches Everywhere…



       Mnesia
  Mnesia
 Redesign
Mnesia
  Mnesia
           Mnesia
Mnesia
       Caches Caches Everywhere…



        Mnesia
  Mnesia
 Redesign  Mnesia
Mnesia
  Mnesia
           Mnesia
Mnesia
       Caches Caches Everywhere…



        Mnesia
  Mnesia
 Redesign  Mnesia
     Mnesia
NoSQL learnings from the world of Telco
Redesign
NoSQL learnings from the world of Telco
Back Office Systems
Redesign
NoSQL learnings from the world of Telco
NoSQL learnings from the world of Telco

More Related Content

PPTX
PPTX
Erlang - Because S**t Happens
PPTX
What I did on my Vacation (hint: Scuba & Erlang)
PDF
Fluidinfo in a Nutshell
PPTX
Drinking From The Firehose - The Erlang Way
PPTX
Active Queue Management (for Cloud Services)
PPTX
Syntax - Why so CareMad?
PDF
Transition from relational to NoSQL Philly DAMA Day
Erlang - Because S**t Happens
What I did on my Vacation (hint: Scuba & Erlang)
Fluidinfo in a Nutshell
Drinking From The Firehose - The Erlang Way
Active Queue Management (for Cloud Services)
Syntax - Why so CareMad?
Transition from relational to NoSQL Philly DAMA Day

Similar to NoSQL learnings from the world of Telco (20)

PDF
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
PPT
Choosing the Right Big Data Tools for the Job - A Polyglot Approach
PDF
Introduction to NoSQL and Couchbase
PDF
What Drove Wordnik Non-Relational?
PPTX
Data Modeling for NoSQL
PDF
NoSQL overview #phptostart turin 11.07.2011
PPTX
Big Data Platforms: An Overview
PPTX
Sharing a Startup’s Big Data Lessons
PPTX
Anti-social Databases
PPTX
Silicon valley nosql meetup april 2012
PDF
Anomalous symmetry succession for seek out
PDF
Choosing the right database
PPTX
PPTX
The Rise of NoSQL and Polyglot Persistence
PPTX
Nick Patience, Director Product Marketing & Strategy at Recommind - Big Data:...
ZIP
Forget The ORM!
PPTX
Big Data (NJ SQL Server User Group)
PDF
Seminar.2010.NoSql
PDF
NoSQL and CouchDB
PPT
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Choosing the Right Big Data Tools for the Job - A Polyglot Approach
Introduction to NoSQL and Couchbase
What Drove Wordnik Non-Relational?
Data Modeling for NoSQL
NoSQL overview #phptostart turin 11.07.2011
Big Data Platforms: An Overview
Sharing a Startup’s Big Data Lessons
Anti-social Databases
Silicon valley nosql meetup april 2012
Anomalous symmetry succession for seek out
Choosing the right database
The Rise of NoSQL and Polyglot Persistence
Nick Patience, Director Product Marketing & Strategy at Recommind - Big Data:...
Forget The ORM!
Big Data (NJ SQL Server User Group)
Seminar.2010.NoSql
NoSQL and CouchDB
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Machine Learning_overview_presentation.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation theory and applications.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
cuic standard and advanced reporting.pdf
Machine Learning_overview_presentation.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation theory and applications.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Ad

NoSQL learnings from the world of Telco

Editor's Notes

  • #26: Images here!!!
  • #27: Images here!!!
  • #28: Images here!!!
  • #29: Images here!!!
  • #30: Images here!!!
  • #31: Images here!!!
  • #32: Images here!!!
  • #33: Images here!!!
  • #40: Data model is(more) variable
  • #41: Images here
  • #42: Images here
  • #43: Images here
  • #44: Images here
  • #45: Images here
  • #46: Images here
  • #47: Images here
  • #48: Images here
  • #49: Images here
  • #50: And this is an issue. If the problem space changes…
  • #51: Images here
  • #52: And once the problem has changed, you are left w/ a solution that no longer applies
  • #54: Reporting
  • #55: The two most dangerous words in Product Development
  • #56: I person cares about biling. Another about reporting. No one actually cares about calls over a day old. This stuff is – mostly – irrelevant.
  • #57: A solution designed to process massive numbers of calls is useless if no-one wants to process massive numbers of calls
  • #58: A solution designed to process massive numbers of calls is useless if no-one wants to process massive numbers of calls
  • #61: Still one user, but uses it all the timeOh s**t, people actually use this.
  • #62: Which leads, inexporably, to the next point, which is that
  • #64: Efficient markets
  • #65: Friction can be very useful in avoiding issues
  • #66: The two most dangerous words in Product Development
  • #69: With callrooms, people want to do voicemail in real time. Worldwide. Ack!
  • #73: But I designed for scaleAdd servers, rebalance, etc
  • #74: But I designed for scaleAdd servers, rebalance, etc
  • #82: You can’t restart servers, ‘cos your clients are “always on”
  • #83: You can’t restart servers, ‘cos your clients are “always on”
  • #84: You can’t predict crazy spikes (Obama)
  • #85: Order of magnitude changes are, well, a PITA
  • #87: Server crash – clients reloaded from data store – overload - argh
  • #88: Server crash – clients reloaded from data store – overload - argh
  • #89: Spike, data being stored, overload, argh
  • #90: The bigger they are, the harder they fall
  • #91: I thought we build products?
  • #92: Anniversary billing. Monthly billing. Billing!!!
  • #93: Multiple accounts w/ one single relationship
  • #94: Customer service? Really?
  • #96: Sure, if this floats your boat, but not the point
  • #98: You can’t predict crazy spikes (Obama)
  • #99: S**t is going to happenPlanning is goodThe ability to react (well) is gooder
  • #104: Why not Postgres?“Just Because”Also, Erlang/JSON
  • #105: Provides AutomaticScalingFault Tolerance
  • #106: Very few people cared about callsCall info is 99.999…. % of the dataMonster CRUD improvement
  • #107: Anniversary billing. Monthly billing. Billing!!!
  • #110: Multiple accounts w/ one single relationship
  • #111: Don’t need Map/Reduce for multi-client queriesPhone informationBilling information
  • #112: I person cares about biling. Another about reporting. No one actually cares about calls over a day old. This stuff is – mostly – irrelevant.
  • #113: Message / VM / Fax countsBut need to do it by date-rangeNo-one cares about stuff more than a week oldBut some doLearn to say “No”
  • #114: Expiring calls? Argh!
  • #115: Break call records into individual databases
  • #116: Server crash – clients reloaded from data store – overload - argh
  • #117: Specifically for phonesBrief outage causes huge spikesMnesia as K-V store
  • #118: You can’t predict crazy spikes (Obama)
  • #120: Order of magnitude changes are, well, a PITA
  • #128: Customer service? Really?
  • #130: Billing flexibilityMove billing its own systemStream data from other stores to itCan rebuild offlineExcel is your friend!
  • #131: I thought we build products?
  • #133: Moved back-office ops to its own storeSingle Source of TruthTightly controlled