SlideShare a Scribd company logo
1 of 33
How we use
         Cassandra
Gary Dusbabek
@gdusbabek
We’re hiring

http://jobs.rackspace.com/
http://www.flickr.com/photos/ollesvensson/4252196844/




Goals
        CM Overview
        Control Cluster
        Data Cluster
CM Overview
Thousands of servers
Pre-existing solutions
Lessons learned from
  Cloudkick
Internal versus external
Millions of checks
                     http://www.flickr.com/photos/jean_koulev/2697677595/
Cassandra
        is the

      least
interesting
       part
Terminology
Entity
 Something with an IP address or
  host name
Terminology
Check
 Tied to an Entity
 Is an action
 Produces metrics
Features
                  Remote checks
Collectors in 5 DCs
           Processing in 3 DCs
Alerting
                   Notifications
All REST all
             the time
 More    Ops friendly
Features  Metrics
                 Agent
           https://github.com/racker/virgo
Future
  Automation
    Prediction
 Support hooks
Agent expansion
  Correlation
  Aggregation
Entity Spanning
1,000 Words
Control
     Cluster
Metadata
State
Three datacenters
High RF
Wide rows
Easy dump & load
https://github.com/racker/cassandra-syncer
Data Model
Rich but simple
Objects used together stored together
 Simple parent-child relations
One row per customer (tenant)
Composite column names
Data Model




      Good:
  Single Parent/Child
        Acyclic
Data Model




   Bad:
   Complex
    Cyclic
Data Model



 As Columns
   Easy slicing
Y U NO MySQL?
Control Cluster
API server is Node.js
Javascript ORM library
• Define object model in JS
• Read/write entire objects
• Never think about CQL

node-cassandra-client
https://github.com/racker/node-cassandra-client
Control Cluster
The fun
 starts    Data
 here     Cluster
Data Cluster
Goal: Fast graphs
Time series data
Fewer data points
OK to shave resolution
Recent data is most important
Locator
Identifies a single metric
  check identifier + name
E.g. my:check:id:ttfb
Granularity
Full, 5m, 20m, 60m, 240m,
 1440m
Rollup Concepts
Slot       (Range)

• Pegged at 4032 slots
• One slot is a range of seconds (varies
  with granularity)
• metrics_locator CF
• Key is granularity name + slot num
• Columns index keys in rollup tables
Keyed by ascii
Bigint column names
 Blob column values
               JDBC
    Rollups
Full Resolution!          Arrival
• time, name, several metrics
• metric = name, type, value
• Compute locator and slot
• Insert metrics col=timestamp,
  value=encoded metric
• Single Cassandra APPLY BATCH;
Rollups
• Two types
  – Rollup all metrics from timeX to timeY
  – Rollup a single metric from timeX to timeY
  – Times may span multiple slots (ranges)
• Use rollups to produce rollups
  – E.g.: use 20m data points to create 60m point.
  – Store number of data points with rollup
Rollups
• Gotchas!
  – Do not want to rollup a coarse range when finer
    range that feeds data to it is scheduled for rollup
    shortly
  60m |            |            | …
  20m | | | | | | | |…
                      .
  5m |||||||||||||||||||||||||||||…
  – Mind the “tail” during datapoint queries (calculate
    rollups on the fly)
It Scales
Rollup operations are idempotent*
                   Simplifies availability
Rollups are easily parallelized
        Hash partition the locator space
But…
What if data arrives after rollup
 is performed?

More than 24hrs late: don’t
 care, forget it

Else treat normally: slots are
 scheduled for rollups as they
 age
http://www.flickr.com/photos/nateone/3768979925
           /




   HBase
@gdusbabek
Image Credits
soccer               http://www.flickr.com/photos/ollesvensson/4252196844/
apples               http://www.flickr.com/photos/jean_koulev/2697677595/
      bored          http://www.flickr.com/photos/aidanmorgan/3709199304/
      clock          http://www.flickr.com/photos/szift/3196084839/
hallway              http://www.flickr.com/photos/orinrobertjohn/4354716077/
      car            http://www.flickr.com/photos/ellenm1/3541270451
control              http://www.flickr.com/photos/germanium/117612088/
model                http://www.flickr.com/photos/mikeschinkel/2703438152/
      robot          http://www.flickr.com/photos/kb35/430976324/
swings               http://www.flickr.com/photos/pierrebedat/1095337445/
cluster              http://www.flickr.com/photos/inl/5097547405/
              dish   http://www.flickr.com/photos/mrpbps/2862208028/
     sand            http://www.flickr.com/photos/backkratze/3480338854/
     slots           http://www.flickr.com/photos/andresrueda/2925383781
     sushi           http://www.flickr.com/photos/basykes/4348613931/
     airplane        http://www.flickr.com/photos/fhashemi/72489620/
     scale           http://www.flickr.com/photos/puuikibeach/4765115333
     hourglass       http://www.flickr.com/photos/aidanmorgan/2331754875/
     street          http://www.flickr.com/photos/nateone/3768979925/

More Related Content

What's hot

What's hot (9)

ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesomeClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
 
GIS: The Future's So Bright, I Gotta Wear Shades
GIS: The Future's So Bright, I Gotta Wear ShadesGIS: The Future's So Bright, I Gotta Wear Shades
GIS: The Future's So Bright, I Gotta Wear Shades
 
Apache Jackrabbit Oak - Scale your content repository to the cloud
Apache Jackrabbit Oak - Scale your content repository to the cloudApache Jackrabbit Oak - Scale your content repository to the cloud
Apache Jackrabbit Oak - Scale your content repository to the cloud
 
Boot It Up
Boot It UpBoot It Up
Boot It Up
 
Ansible lightning talk at Scale 12
Ansible lightning talk at Scale 12Ansible lightning talk at Scale 12
Ansible lightning talk at Scale 12
 
Traceur - Javascript.next - Now! RheinmainJS April 14th
Traceur - Javascript.next - Now! RheinmainJS April 14thTraceur - Javascript.next - Now! RheinmainJS April 14th
Traceur - Javascript.next - Now! RheinmainJS April 14th
 
Locarise,reagent and JavaScript Libraries
Locarise,reagent and JavaScript LibrariesLocarise,reagent and JavaScript Libraries
Locarise,reagent and JavaScript Libraries
 
WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)
 
the Spring Update from JavaOne 2013
the Spring Update from JavaOne 2013the Spring Update from JavaOne 2013
the Spring Update from JavaOne 2013
 

Viewers also liked (8)

English
EnglishEnglish
English
 
Toiletcleaner
ToiletcleanerToiletcleaner
Toiletcleaner
 
Ayrton senna
Ayrton sennaAyrton senna
Ayrton senna
 
Sunum Investgrup
Sunum InvestgrupSunum Investgrup
Sunum Investgrup
 
Internet protocol concepts and overview
Internet protocol concepts and overviewInternet protocol concepts and overview
Internet protocol concepts and overview
 
La paella envenenada
La paella envenenadaLa paella envenenada
La paella envenenada
 
Guy debaux
Guy debauxGuy debaux
Guy debaux
 
About Empire 2011
About Empire 2011About Empire 2011
About Empire 2011
 

Similar to Austin cassandra meetup

Capacity Management from Flickr
Capacity Management from FlickrCapacity Management from Flickr
Capacity Management from Flickr
xlight
 

Similar to Austin cassandra meetup (20)

How Rackspace Cloud Monitoring uses Cassandra
How Rackspace Cloud Monitoring uses CassandraHow Rackspace Cloud Monitoring uses Cassandra
How Rackspace Cloud Monitoring uses Cassandra
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
Dok Talks #124 - Intro to Druid on Kubernetes
Dok Talks #124 - Intro to Druid on KubernetesDok Talks #124 - Intro to Druid on Kubernetes
Dok Talks #124 - Intro to Druid on Kubernetes
 
Avoiding big data antipatterns
Avoiding big data antipatternsAvoiding big data antipatterns
Avoiding big data antipatterns
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
 
Data Science Lab Meetup: Cassandra and Spark
Data Science Lab Meetup: Cassandra and SparkData Science Lab Meetup: Cassandra and Spark
Data Science Lab Meetup: Cassandra and Spark
 
Cassandra's Sweet Spot - an introduction to Apache Cassandra
Cassandra's Sweet Spot - an introduction to Apache CassandraCassandra's Sweet Spot - an introduction to Apache Cassandra
Cassandra's Sweet Spot - an introduction to Apache Cassandra
 
Capacity Management from Flickr
Capacity Management from FlickrCapacity Management from Flickr
Capacity Management from Flickr
 
JDD2014: Real Big Data - Scott MacGregor
JDD2014: Real Big Data - Scott MacGregorJDD2014: Real Big Data - Scott MacGregor
JDD2014: Real Big Data - Scott MacGregor
 
ETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetupETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetup
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
 
Amazon Web Services at iProperty
Amazon Web Services at iPropertyAmazon Web Services at iProperty
Amazon Web Services at iProperty
 
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudJRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
YOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at NetflixYOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at Netflix
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamFrom Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
 
Monitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECSMonitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECS
 
Openstack Swift - Lots of small files
Openstack Swift - Lots of small filesOpenstack Swift - Lots of small files
Openstack Swift - Lots of small files
 
Architecture at Scale
Architecture at ScaleArchitecture at Scale
Architecture at Scale
 

More from gdusbabek

Rackspace Cloud Monitoring - Strata NYC
Rackspace Cloud Monitoring - Strata NYCRackspace Cloud Monitoring - Strata NYC
Rackspace Cloud Monitoring - Strata NYC
gdusbabek
 
Cassandra Codebase 2011
Cassandra Codebase 2011Cassandra Codebase 2011
Cassandra Codebase 2011
gdusbabek
 

More from gdusbabek (13)

My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
Blueflood and Beyond: The Future of Metrics - Berlin Buzzwords 2014
Blueflood and Beyond: The Future of Metrics - Berlin Buzzwords 2014Blueflood and Beyond: The Future of Metrics - Berlin Buzzwords 2014
Blueflood and Beyond: The Future of Metrics - Berlin Buzzwords 2014
 
Measure All the Things! - Austin Data Day 2014
Measure All the Things! - Austin Data Day 2014Measure All the Things! - Austin Data Day 2014
Measure All the Things! - Austin Data Day 2014
 
Blueflood: Open Source Metrics Processing at CassandraEU 2013
Blueflood: Open Source Metrics Processing at CassandraEU 2013Blueflood: Open Source Metrics Processing at CassandraEU 2013
Blueflood: Open Source Metrics Processing at CassandraEU 2013
 
Introduction to Blueflood at Berlin Buzzwords 2013
Introduction to Blueflood at Berlin Buzzwords 2013Introduction to Blueflood at Berlin Buzzwords 2013
Introduction to Blueflood at Berlin Buzzwords 2013
 
Rackspace Cloud Monitoring - Strata NYC
Rackspace Cloud Monitoring - Strata NYCRackspace Cloud Monitoring - Strata NYC
Rackspace Cloud Monitoring - Strata NYC
 
Breaking the Relational Headlock: A Survey of NoSQL Datastores
Breaking the Relational Headlock: A Survey of NoSQL DatastoresBreaking the Relational Headlock: A Survey of NoSQL Datastores
Breaking the Relational Headlock: A Survey of NoSQL Datastores
 
Cassandra Codebase 2011
Cassandra Codebase 2011Cassandra Codebase 2011
Cassandra Codebase 2011
 
Data Modeling with Cassandra Column Families
Data Modeling with Cassandra Column FamiliesData Modeling with Cassandra Column Families
Data Modeling with Cassandra Column Families
 
Getting to Know the Cassandra Codebase
Getting to Know the Cassandra CodebaseGetting to Know the Cassandra Codebase
Getting to Know the Cassandra Codebase
 
Introduction to Cassandra (June 2010)
Introduction to Cassandra (June 2010)Introduction to Cassandra (June 2010)
Introduction to Cassandra (June 2010)
 
Cassandra Presentation for San Antonio JUG
Cassandra Presentation for San Antonio JUGCassandra Presentation for San Antonio JUG
Cassandra Presentation for San Antonio JUG
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Austin cassandra meetup

  • 1. How we use Cassandra Gary Dusbabek @gdusbabek
  • 3. http://www.flickr.com/photos/ollesvensson/4252196844/ Goals CM Overview Control Cluster Data Cluster
  • 4. CM Overview Thousands of servers Pre-existing solutions Lessons learned from Cloudkick Internal versus external Millions of checks http://www.flickr.com/photos/jean_koulev/2697677595/
  • 5. Cassandra is the least interesting part
  • 6. Terminology Entity Something with an IP address or host name
  • 7. Terminology Check Tied to an Entity Is an action Produces metrics
  • 8. Features Remote checks Collectors in 5 DCs Processing in 3 DCs Alerting Notifications
  • 9. All REST all the time More Ops friendly Features Metrics Agent https://github.com/racker/virgo
  • 10. Future Automation Prediction Support hooks Agent expansion Correlation Aggregation Entity Spanning
  • 12. Control Cluster Metadata State Three datacenters High RF Wide rows Easy dump & load https://github.com/racker/cassandra-syncer
  • 13. Data Model Rich but simple Objects used together stored together Simple parent-child relations One row per customer (tenant) Composite column names
  • 14. Data Model Good: Single Parent/Child Acyclic
  • 15. Data Model Bad: Complex Cyclic
  • 16. Data Model As Columns Easy slicing
  • 17.
  • 18. Y U NO MySQL?
  • 19. Control Cluster API server is Node.js Javascript ORM library • Define object model in JS • Read/write entire objects • Never think about CQL node-cassandra-client https://github.com/racker/node-cassandra-client
  • 21. The fun starts Data here Cluster
  • 22. Data Cluster Goal: Fast graphs Time series data Fewer data points OK to shave resolution Recent data is most important
  • 23. Locator Identifies a single metric check identifier + name E.g. my:check:id:ttfb
  • 24. Granularity Full, 5m, 20m, 60m, 240m, 1440m
  • 25. Rollup Concepts Slot (Range) • Pegged at 4032 slots • One slot is a range of seconds (varies with granularity) • metrics_locator CF • Key is granularity name + slot num • Columns index keys in rollup tables
  • 26. Keyed by ascii Bigint column names Blob column values JDBC Rollups
  • 27. Full Resolution! Arrival • time, name, several metrics • metric = name, type, value • Compute locator and slot • Insert metrics col=timestamp, value=encoded metric • Single Cassandra APPLY BATCH;
  • 28. Rollups • Two types – Rollup all metrics from timeX to timeY – Rollup a single metric from timeX to timeY – Times may span multiple slots (ranges) • Use rollups to produce rollups – E.g.: use 20m data points to create 60m point. – Store number of data points with rollup
  • 29. Rollups • Gotchas! – Do not want to rollup a coarse range when finer range that feeds data to it is scheduled for rollup shortly 60m | | | … 20m | | | | | | | |… . 5m |||||||||||||||||||||||||||||… – Mind the “tail” during datapoint queries (calculate rollups on the fly)
  • 30. It Scales Rollup operations are idempotent* Simplifies availability Rollups are easily parallelized Hash partition the locator space
  • 31. But… What if data arrives after rollup is performed? More than 24hrs late: don’t care, forget it Else treat normally: slots are scheduled for rollups as they age
  • 33. Image Credits soccer http://www.flickr.com/photos/ollesvensson/4252196844/ apples http://www.flickr.com/photos/jean_koulev/2697677595/ bored http://www.flickr.com/photos/aidanmorgan/3709199304/ clock http://www.flickr.com/photos/szift/3196084839/ hallway http://www.flickr.com/photos/orinrobertjohn/4354716077/ car http://www.flickr.com/photos/ellenm1/3541270451 control http://www.flickr.com/photos/germanium/117612088/ model http://www.flickr.com/photos/mikeschinkel/2703438152/ robot http://www.flickr.com/photos/kb35/430976324/ swings http://www.flickr.com/photos/pierrebedat/1095337445/ cluster http://www.flickr.com/photos/inl/5097547405/ dish http://www.flickr.com/photos/mrpbps/2862208028/ sand http://www.flickr.com/photos/backkratze/3480338854/ slots http://www.flickr.com/photos/andresrueda/2925383781 sushi http://www.flickr.com/photos/basykes/4348613931/ airplane http://www.flickr.com/photos/fhashemi/72489620/ scale http://www.flickr.com/photos/puuikibeach/4765115333 hourglass http://www.flickr.com/photos/aidanmorgan/2331754875/ street http://www.flickr.com/photos/nateone/3768979925/

Editor's Notes

  1. Self serviceExtensive dashboard12 platformsDeep analysis
  2. Secondary, nice to have, but not critical to monitoring.