Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

9/14/2017

Reading time:6 min

NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"

by John Doe

NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast" SlideShare Explore You NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast" Upcoming SlideShare Loading in …5 × 0 Comments 3 Likes Statistics Notes David Maekawa , Experienced Technical Product Manager for Content and Technology Software Companies at MobiTV Joshua Fox , Director of Product Management - IP Platform Strategy & Planning at AT&T at AT&T Morgany Mendes , Principal Architect at America Movil Brasil (NET/Claro/Embratel) at América Móvil No Downloads No notes for slide Split the backplane2x4 planesInternal controller drives HDD @ Raid 1LSI controller drives SSD @ Raid 0 Pending writes prevent ability to delete rowNormal compaction will not clean up rowMajor compaction can not clean up if there a pending writes to the row 1. Using Cassandra for DVR Scheduling at ComcastVERSION 1.0DATE 3/20/213AUTHOR John McCann | @dangermccann Using Cassandra for DVR Scheduling at Comcast 4/9/2013 1 2. The X1 Platform XFINITY On Demand Choose from thousands of movies and shows. More than a back button See the last nine shows and channels youve watched with a single tap. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 2 3. The X1 Platform The ultimate scoreboard Track multiple games at once and check the latest scores, standings, and schedules. Apps right on your TV Now your TV is for more than just watching. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 3 4. The X1 Platform• Next generation of the XFINITY TV experience• New line of set-top boxes and technologies that lets XFINITY TV run in the cloud• Premium content viewing experience, with access to XFINITY On Demand, DVR and Pay-Per-View video• De-coupled, service-based architecture where services are developed and deployed independently Using Cassandra for DVR Scheduling at Comcast 4/9/2013 4 5. What Comcast Stores in Cassandra• Customer viewing history• Resume points for DVR and XFINITY On Demand content• Device and account preferences• Pay-Per-View purchases• DVR recordings and scheduling instructions Using Cassandra for DVR Scheduling at Comcast 4/9/2013 5 6. Why Comcast Uses Cassandra• Multi-data center (active / active)• Performance of write-heavy use cases – DVR status updates – Remembering resume points during content playback• Developers (not DBAs) model and manage the data• Open source encourages in-house expertise Using Cassandra for DVR Scheduling at Comcast 4/9/2013 6 7. Redesigned DVR Using Cassandra for DVR Scheduling at Comcast 4/9/2013 7 8. DVR System ArchitectureEast Data Center West Data Center API Server Worker API Server Worker Worker Queue Worker Queue API Server Worker API Server Worker API Server Worker API Server Worker Cassandra Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 8 9. Cassandra Configuration• 4-node rings in 2 data centers• NetworkTopologyStrategy replication strategy• Replication factor is 3 (per data center)• LOCAL_QUORUM consistency level for most operations Using Cassandra for DVR Scheduling at Comcast 4/9/2013 9 10. Comcast Message Bushttps://github.com/Comcast/cmb CQS Endpoint• Horizontally scalable queuing and notification service• Compatible with Amazon SQS and SNS Cassandra Redis• Cassandra used to persist messages• Redis used as caching layer• Open source (Apache license) CNS Endpoint CNS Worker Using Cassandra for DVR Scheduling at Comcast 4/9/2013 10 11. Use Case ExplorationScheduling a Series Recording Using Cassandra for DVR Scheduling at Comcast 4/9/2013 11 12. User Interaction Set-top boxUser UI Server Using Cassandra for DVR Scheduling at Comcast 4/9/2013 12 13. User Interaction Set-top box API Server Worker Worker QueueUser API Server Worker UI Server API Server Worker Cassandra Memcached Using Cassandra for DVR Scheduling at Comcast 4/9/2013 13 14. Recording Schedule Update API Server Worker Worker Queue API Server Worker API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 14 15. Recording Schedule Update Set-top box API Server Worker Worker Queue API Server Worker API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 15 16. Recording Schedule Update Set-top box API Server Worker Worker Queue API Server Worker API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 16 17. UI Update API Server Worker Worker Queue API Server Worker UI Server API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 17 18. UI Update API Server Worker Worker Queue API Server Worker UI Server API Server Worker Cassandra Memcached Using Cassandra for DVR Scheduling at Comcast 4/9/2013 18 19. System Diagram Set-top box API Server Worker Worker QueueUser API Server Worker UI Server API Server Worker Cassandra Memcached Using Cassandra for DVR Scheduling at Comcast 4/9/2013 19 20. Data Model Analysis1. Recording Instructions2. Recording Schedule3. Completed Recordings Using Cassandra for DVR Scheduling at Comcast 4/9/2013 20 21. Recording Instructions Schema• Stores the instructions used to produce the recording schedule in the order that the instructions were generated.ScheduleInstruction AccountID/DeviceID TimeUUID : [instruction] TimeUUID : [instruction] … Composite row key Instructions sorted by creation time using TimeUUID as the column name. The column value contains the instruction data. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 21 22. Recording Schedule Schema• Stores the data for the most recent recording schedule that has been delivered to the Recorder on the STB.DvrSchedule AccountID/DeviceID Properties of each recording stored as separate columns using composite column names: recording_ID/[property_name] Using Cassandra for DVR Scheduling at Comcast 4/9/2013 22 23. Completed Recordings Schema• Stores the data for all of the completed recordings on the STB.Recording AccountID/DeviceID Properties of each recording stored as separate columns using composite column names: recording_ID/[property_name] Using Cassandra for DVR Scheduling at Comcast 4/9/2013 23 24. Hardware Configuration• HP DL360 G8• 64GB RAM• 2 x 600 GB SATA Hard Drive• RAID 1 for OS Partition• LSI controller• 2 x Samsung 840 512GB SSD (room for up to 4 SSDs) Using Cassandra for DVR Scheduling at Comcast 4/9/2013 24 25. Solid State DrivesSamsung 840 512GB• 50% cost increase per node• 400% capacity increase per node• Smaller rings, better read performance• Read performance consistency (flat 99th percentiles for reads) Using Cassandra for DVR Scheduling at Comcast 4/9/2013 25 26. Lessons Learned• If youre using Hector, pay close attention to CassandraHostConfigurator.maxActive.• Don’t enable the row cache if you need to perform slice queries.• Don’t delete a row if you plan to write columns to the same row later (better in 1.2).• Don’t run Cassandra on shared storage if you can avoid it. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 26 27. Q&AThanks for your attention!http://xfinity.comcast.net/x1John McCann@dangermccann Using Cassandra for DVR Scheduling at Comcast 4/9/2013 27 Recommended Teacher Tips Online Course - LinkedIn Learning Learning the Basics of Branding Online Course - LinkedIn Learning Creative Inspirations: Duarte Design, Presentation Design Studio Online Course - LinkedIn Learning Cassandra & puppet, scaling data at $15 per month daveconnors Cassandra at eBay - Cassandra Summit 2012 Jay Patel Migrating Netflix from Datacenter Oracle to Global Cassandra Adrian Cockcroft C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ... DataStax Academy Couchdb awesomeness - History, the basics and how we use it Ben Duncan Blueflood: Open Source Metrics Processing at CassandraEU 2013 gdusbabek Best Practices for couchDB developers on Microsoft Azure Brian Benz About Blog Terms Privacy Copyright LinkedIn Corporation © 2017 Public clipboards featuring this slide No public clipboards found for this slide Select another clipboard × Looks like you’ve clipped this slide to already. Create a clipboard You just clipped your first slide! Clipping is a handy way to collect important slides you want to go back to later. Now customize the name of a clipboard to store your clips. Description Visibility Others can see my Clipboard

Illustration Image
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
Using Cassandra for DVR Scheduling at ComcastVERSION   1.0DATE      3/20/213AUTHOR    John McCann | @dangermccann         ...
The X1 Platform                     XFINITY On Demand                     Choose from thousands of movies and             ...
The X1 Platform                     The ultimate scoreboard                     Track multiple games at once and check    ...
The X1 Platform• Next generation of the XFINITY TV experience• New line of set-top boxes and technologies that lets XFINIT...
What Comcast Stores in Cassandra•   Customer viewing history•   Resume points for DVR and XFINITY On Demand content•   Dev...
Why Comcast Uses Cassandra• Multi-data center (active / active)• Performance of write-heavy use cases   – DVR status updat...
Redesigned DVR             Using Cassandra for DVR Scheduling at Comcast   4/9/2013   7
DVR System ArchitectureEast Data Center                                            West Data Center API Server        Work...
Cassandra Configuration•   4-node rings in 2 data centers•   NetworkTopologyStrategy replication strategy•   Replication f...
Comcast Message Bushttps://github.com/Comcast/cmb                                                                        C...
Use Case ExplorationScheduling a Series Recording                          Using Cassandra for DVR Scheduling at Comcast  ...
User Interaction         Set-top boxUser         UI Server                       Using Cassandra for DVR Scheduling at Com...
User Interaction         Set-top box                                                    API Server              Worker    ...
Recording Schedule Update                                            API Server              Worker                       ...
Recording Schedule Update        Set-top box                                                   API Server              Wor...
Recording Schedule Update        Set-top box                                                   API Server              Wor...
UI Update                                                 API Server              Worker                                  ...
UI Update                                                 API Server              Worker                                  ...
System Diagram       Set-top box                                                  API Server              Worker          ...
Data Model Analysis1. Recording Instructions2. Recording Schedule3. Completed Recordings                            Using ...
Recording Instructions Schema• Stores the instructions used to produce the recording schedule  in the order that the instr...
Recording Schedule Schema• Stores the data for the most recent recording schedule that  has been delivered to the Recorder...
Completed Recordings Schema• Stores the data for all of the completed recordings on the STB.Recording AccountID/DeviceID  ...
Hardware Configuration•   HP DL360 G8•   64GB RAM•   2 x 600 GB SATA Hard Drive•   RAID 1 for OS Partition•   LSI controll...
Solid State DrivesSamsung 840 512GB•   50% cost increase per node•   400% capacity increase per node•   Smaller rings, bet...
Lessons Learned• If youre using Hector, pay close attention to  CassandraHostConfigurator.maxActive.• Don’t enable the row...
Q&AThanks for your attention!http://xfinity.comcast.net/x1John McCann@dangermccann                                Using Ca...

Upcoming SlideShare

Loading in …5

×

  1. 1. Using Cassandra for DVR Scheduling at ComcastVERSION 1.0DATE 3/20/213AUTHOR John McCann | @dangermccann Using Cassandra for DVR Scheduling at Comcast 4/9/2013 1
  2. 2. The X1 Platform XFINITY On Demand Choose from thousands of movies and shows. More than a back button See the last nine shows and channels youve watched with a single tap. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 2
  3. 3. The X1 Platform The ultimate scoreboard Track multiple games at once and check the latest scores, standings, and schedules. Apps right on your TV Now your TV is for more than just watching. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 3
  4. 4. The X1 Platform• Next generation of the XFINITY TV experience• New line of set-top boxes and technologies that lets XFINITY TV run in the cloud• Premium content viewing experience, with access to XFINITY On Demand, DVR and Pay-Per-View video• De-coupled, service-based architecture where services are developed and deployed independently Using Cassandra for DVR Scheduling at Comcast 4/9/2013 4
  5. 5. What Comcast Stores in Cassandra• Customer viewing history• Resume points for DVR and XFINITY On Demand content• Device and account preferences• Pay-Per-View purchases• DVR recordings and scheduling instructions Using Cassandra for DVR Scheduling at Comcast 4/9/2013 5
  6. 6. Why Comcast Uses Cassandra• Multi-data center (active / active)• Performance of write-heavy use cases – DVR status updates – Remembering resume points during content playback• Developers (not DBAs) model and manage the data• Open source encourages in-house expertise Using Cassandra for DVR Scheduling at Comcast 4/9/2013 6
  7. 7. Redesigned DVR Using Cassandra for DVR Scheduling at Comcast 4/9/2013 7
  8. 8. DVR System ArchitectureEast Data Center West Data Center API Server Worker API Server Worker Worker Queue Worker Queue API Server Worker API Server Worker API Server Worker API Server Worker Cassandra Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 8
  9. 9. Cassandra Configuration• 4-node rings in 2 data centers• NetworkTopologyStrategy replication strategy• Replication factor is 3 (per data center)• LOCAL_QUORUM consistency level for most operations Using Cassandra for DVR Scheduling at Comcast 4/9/2013 9
  10. 10. Comcast Message Bushttps://github.com/Comcast/cmb CQS Endpoint• Horizontally scalable queuing and notification service• Compatible with Amazon SQS and SNS Cassandra Redis• Cassandra used to persist messages• Redis used as caching layer• Open source (Apache license) CNS Endpoint CNS Worker Using Cassandra for DVR Scheduling at Comcast 4/9/2013 10
  11. 11. Use Case ExplorationScheduling a Series Recording Using Cassandra for DVR Scheduling at Comcast 4/9/2013 11
  12. 12. User Interaction Set-top boxUser UI Server Using Cassandra for DVR Scheduling at Comcast 4/9/2013 12
  13. 13. User Interaction Set-top box API Server Worker Worker QueueUser API Server Worker UI Server API Server Worker Cassandra Memcached Using Cassandra for DVR Scheduling at Comcast 4/9/2013 13
  14. 14. Recording Schedule Update API Server Worker Worker Queue API Server Worker API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 14
  15. 15. Recording Schedule Update Set-top box API Server Worker Worker Queue API Server Worker API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 15
  16. 16. Recording Schedule Update Set-top box API Server Worker Worker Queue API Server Worker API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 16
  17. 17. UI Update API Server Worker Worker Queue API Server Worker UI Server API Server Worker Cassandra Using Cassandra for DVR Scheduling at Comcast 4/9/2013 17
  18. 18. UI Update API Server Worker Worker Queue API Server Worker UI Server API Server Worker Cassandra Memcached Using Cassandra for DVR Scheduling at Comcast 4/9/2013 18
  19. 19. System Diagram Set-top box API Server Worker Worker QueueUser API Server Worker UI Server API Server Worker Cassandra Memcached Using Cassandra for DVR Scheduling at Comcast 4/9/2013 19
  20. 20. Data Model Analysis1. Recording Instructions2. Recording Schedule3. Completed Recordings Using Cassandra for DVR Scheduling at Comcast 4/9/2013 20
  21. 21. Recording Instructions Schema• Stores the instructions used to produce the recording schedule in the order that the instructions were generated.ScheduleInstruction AccountID/DeviceID TimeUUID : [instruction] TimeUUID : [instruction] … Composite row key Instructions sorted by creation time using TimeUUID as the column name. The column value contains the instruction data. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 21
  22. 22. Recording Schedule Schema• Stores the data for the most recent recording schedule that has been delivered to the Recorder on the STB.DvrSchedule AccountID/DeviceID Properties of each recording stored as separate columns using composite column names: recording_ID/[property_name] Using Cassandra for DVR Scheduling at Comcast 4/9/2013 22
  23. 23. Completed Recordings Schema• Stores the data for all of the completed recordings on the STB.Recording AccountID/DeviceID Properties of each recording stored as separate columns using composite column names: recording_ID/[property_name] Using Cassandra for DVR Scheduling at Comcast 4/9/2013 23
  24. 24. Hardware Configuration• HP DL360 G8• 64GB RAM• 2 x 600 GB SATA Hard Drive• RAID 1 for OS Partition• LSI controller• 2 x Samsung 840 512GB SSD (room for up to 4 SSDs) Using Cassandra for DVR Scheduling at Comcast 4/9/2013 24
  25. 25. Solid State DrivesSamsung 840 512GB• 50% cost increase per node• 400% capacity increase per node• Smaller rings, better read performance• Read performance consistency (flat 99th percentiles for reads) Using Cassandra for DVR Scheduling at Comcast 4/9/2013 25
  26. 26. Lessons Learned• If youre using Hector, pay close attention to CassandraHostConfigurator.maxActive.• Don’t enable the row cache if you need to perform slice queries.• Don’t delete a row if you plan to write columns to the same row later (better in 1.2).• Don’t run Cassandra on shared storage if you can avoid it. Using Cassandra for DVR Scheduling at Comcast 4/9/2013 26
  27. 27. Q&AThanks for your attention!http://xfinity.comcast.net/x1John McCann@dangermccann Using Cassandra for DVR Scheduling at Comcast 4/9/2013 27

Related Articles

spring
angular
rest

GitHub - jhipster/jhipster-sample-app-cassandra: This is a sample application created with JHipster, with the Cassandra option

jhipster

3/7/2024

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

cassandra