AWS Database Blog
Amazon DynamoDB use cases for media and entertainment customers
AWS customers in the media and entertainment industry are reinventing how they create and distribute content across streaming, broadcast, and direct-to-consumer platforms. Delivering content across channels to millions of users around the world requires low-latency access to data at high scale in multiple AWS Regions. Providing in-game insights to fans or personalized recommendations to users requires integrations that simplify how you store and serve the outputs of machine learning (ML) models for APIs and on-screen graphics. Delivering these requirements becomes increasingly complex as the data generated from applications grows. Maintaining fast, local performance can involve error-prone processes such setting up database read replicas across Regions. Updating downstream systems may be delayed by batching database changes or complicated by adding proxy services to enable event-driven workloads. Recurring maintenances such as patching, version upgrades, recovering failed instances, data compaction, and index rebuilds can impact your application availability and consume engineering resources.
In this post, we discuss how Amazon DynamoDB helps media and entertainment customers overcome these challenges for streaming and media supply chain workloads. We also share customer examples, such as Disney, Warner Bros. Discovery, ViacomCBS, and other media applications that are built with DynamoDB.
DynamoDB is a serverless, NoSQL, fully-managed database with single-digit millisecond performance at any scale. Developers choose DynamoDB because its serverless architecture eliminates the overhead of operating and scaling databases. DynamoDB provides seamless scalability as workloads grow from hundreds of users to hundreds of millions of users, or single Regions to spanning multiple Regions. DynamoDB has over 1 million customers, with customers like Okta issuing millions of requests per second to tables replicated to multiple Regions in DynamoDB. Although DynamoDB solves common challenges of scaling traditional database solutions, customers often ask for guidance on how DynamoDB supports uses cases that apply to media and entertainment customers.
Why media and entertainment customers use DynamoDB
Media and entertainment customers choose DynamoDB for scalability, performance, and resiliency. DynamoDB scales to support workload changes as they ramp up or down, enabling streaming media use cases that can support any levels of demand. For example, your streaming platform may be publishing a highly publicized season finale or new season of a popular show where you expect a significant increase in viewers. DynamoDB automatically scales your table’s capacity to support traffic growth. As a serverless database, you don’t need to think about provisioning larger or additional read instances, or sharding write traffic beforehand. DynamoDB delivers consistent single-digit millisecond latency at any scale, so applications can access content metadata or playlists with high performance regardless of your traffic. Furthermore, DynamoDB global tables, a fully managed, serverless, multi-Region, multi-active database, lets you serve traffic from your choice of Region. With global tables, your users can watch a video on one device, travel to a new location, and resume the same video on any device with fast, local read and write performance from the nearest Region. Lastly, DynamoDB is built for applications with the most stringent high availability requirements: there are no servers to provision or manage, no software to install or maintain, zero downtime maintenance, and a 99.999% availability SLA.
Media and entertainment use cases
In this section, we discuss common media and entertainment use cases for DynamoDB.
Content metadata indexes
Media companies like ViacomCBS use DynamoDB as a metadata index for content stored in Amazon Simple Storage Service (Amazon S3). Mapping queryable attributes to S3 objects improves the performance of content lookups. For more information about how to use DynamoDB as an S3 metadata index, see Building and Maintaining an Amazon S3 Metadata Index without Servers.
The following screenshot shows what an S3 metadata index data model might look like in DynamoDB. On the base table, the partition key is the etag
of the S3 object being indexed. Because the queryable attributes can have multiple values in a list, a collection of items is used in an overloaded global secondary index (GSI) pattern.
A GSI then supports queries on the commonly searched attributes, such as cast, genre, and title.
Watchlists
Streaming providers like Max and Prime Video use DynamoDB to run user watchlist and bookmarking services. DynamoDB global tables automatically replicates your data across AWS Regions, delivering low latency data access to users around the world. As multi-Region, multi-active database, DynamoDB global tables can provide users who are traveling wide distances or members of a family subscription plan living in different locations with a consistent application experience.
A data model to support watchlists might use a userId
as the partition key and a composite sort key composed off the listId
and the titleId
of the content on the list. Querying the contents of a list is straightforward with a query where the primary key is userId
and the sort key is begins_with “listId#”
.
A GSI can be added as well to support another access pattern—list all watchlists for a user.
Video bookmarking
Media customers like Disney+ use DynamoDB to store content metadata and customer events to generate personalized content recommendations.
A bookmarks service could use Amazon Kinesis to ingest real-time telemetry data from clients to update positions in a DynamoDB table, as shown in the following diagram.
A bookmarks table could have a partition key of userId
and a sort key of titleId
for fast lookup of position in any title.
Content management services
Publishers like The Washington Post use DynamoDB for rendering and content stores.
The following diagram shows an example of a content store architecture. Static assets and pre-rendered pages are stored in Amazon S3, but pages requiring dynamic rendering are generated through an AWS Lambda function and Amazon Elastic Container Store (Amazon ECS) container. That rendering process uses templates and rendering configurations stored in DynamoDB to apply the appropriate style to content stored in a content management system (CMS).
Sports stats
Sports leagues like the PGA use DynamoDB to serve and refresh scoring data across their digital platform in near real time.
A sports score data design might look like the following diagram. As score changes are written to DynamoDB, Amazon DynamoDB Streams invokes a pipeline to update existing statically generated web content and invalidate any currently cached versions of that content in Amazon CloudFront.
Predictive insights
Customers like Formula 1 (F1) use DynamoDB to store large amounts of real-time performance data, which is later used to train artificial intelligence (AI) models to support predictive outcomes and insights for future events.
A predictive insights architecture might look like the following diagram, where data is aggregated in DynamoDB and exported to Amazon S3 to train AI models in Amazon SageMaker.
Streaming analytics
DynamoDB simplifies how you can capture video streaming playout events to generate business insights. DynamoDB zero-ETL integration replicates and transforms your data to Amazon Redshift and Amazon OpenSearch Service without custom code or infrastructure. DynamoDB export to Amazon S3 and DynamoDB Streams enables you to aggregate your data in Amazon S3 for different types of analytics—from dashboards and visualizations to big data processing, real-time analytics, and ML to guide better decisions.
Content authorization
Content providers use DynamoDB transactions to confirm that users are authorized to view content. DynamoDB offers consistent performance at any scale and can support authorization for 100 users or 100 million users without any performance degradation.
Title and schedule metadata enrichment
Media and entertainment customers schedule live event and VOD entitlements using metadata from broadcast systems, content licensors, scheduling systems, title systems, and third parties. DynamoDB has a flexible schema that makes it straightforward for you to respond to upstream metadata changes by updating your content management systems without complex schema changes. With DynamoDB global tables, you can deliver fast local read and write performance to apply Regional scheduling rules or content restriction based on a user’s location. DynamoDB zero-ETL integration with OpenSearch Service enables you to store enriched content in OpenSearch Service for text-based search with no code or extra infrastructure.
Media and entertainment customers
The following are some of the media and entertainment customers that use DynamoDB:
- Disney – Disney+ has over 149 million customers in 60 countries. Disney+ uses DynamoDB global tables to deliver low-latency access for use cases like watchlists, content recommendations, and video bookmarking. For more information, see How Disney+ scales globally on Amazon DynamoDB.
- Amazon Prime Video – Prime Video uses DynamoDB to manage playback, ownership, downloads, offers, order fulfillment, library management, season passes, subscriptions, rentals, and content discovery for its video catalog. Prime Video migrated these services from Oracle to DynamoDB, which resulted in improved resiliency, scalability, latency, operational efficiency, and a 55% reduction in cost. To learn more, refer to Prime Video Boosts Scale and Resilience Using Amazon DynamoDB.
- National Football League – The NFL uses DynamoDB to process and store its Next Gen Stats data for consumption by on screen graphics, APIs, and tools used by their media team. Learn more at NFL on AWS.
- Warner Bros. Discovery – Max uses DynamoDB global tables to record, update, and store user watchlists with multi-active replication across Regions. For more details, see Modernize your data infrastructure at warp speed with AWS.
- ViacomCBS – ViacomCBS’s media supply chain processes, orchestrates, and delivers media for linear and video-on-demand (VOD) distribution. This service uses DynamoDB as a fast, resilient, serverless, and scalable metadata index for media assets stored in Amazon S3. For more information, see ViacomCBS: Multiplatform Distribution Powered by AWS.
- Washington Post – The Washington Post built their Arc Publishing content management service with DynamoDB to serve static and dynamic content rendering. To learn more, see The Washington Post: Building a Content Management Platform with Speed at its Core.
- Formula One Group – Formula 1 delivers driver and race insights and predictions to fans in real time. For example, Formula 1 can predict when the window of opportunity is opening and closing for teams to pit their cars for maximum advantage, as well as determine the best timing for changing tires. To accomplish this, Formula 1’s data scientists use SageMaker to train deep learning models with over 65 years of historical race data stored in DynamoDB for fast performance and limitless scalability. Learn more at F1 Insights.
- Netflix – Netflix uses DynamoDB to run A/B testing that builds personalized streaming experiences for over 260 million customers. For more details, see A story of Netflix and AB Testing in the User Interface using DynamoDB.
- A&E Networks – DynamoDB enables A&E programming teams to sell shows to advertisers for “cheaper than getting a latte.” A+E indexes their programs in DynamoDB, including cast and crew, promos, and credit documents. Its serverless architecture allows engineers to experiment with natural language processing and AI-powered video recognition, and lets A&E release new applications in minutes rather than hours. For more information, refer to A+E Networks Migrates to Serverless AWS Databases to Create Cloud-Native Apps.
- PGA – PGA TOUR a created serverless architecture with DynamoDB and Amazon AppSync to deliver fast access to scoring data in their digital platform, accelerating feature deployment from 2 weeks to minutes. Delivering single-digit millisecond latency at any scale, DynamoDB enables PGA TOUR to refresh scoring data across five times faster than its previous architecture. For more details, see Delivering Near-Real-Time Experiences for Golf Fans in the PGA TOUR App Using AWS AppSync.
Conclusion
In this post, we discussed why media and entertainment customers use DynamoDB, common media and entertainment DynamoDB use cases, and how DynamoDB can improve your application’s performance, scale, and cost-efficiency, as shown through some customer examples. For more examples and case studies, refer to Customer Success Stories. To get started with DynamoDB, refer to the Amazon DynamoDB Developer Guide.
About the authors
Jason Laschewer is an Outbound Product Manager on the Amazon DynamoDB team. Jason has held a number of Business Development roles in non-relational databases at AWS. Outside of work, Jason enjoys seeing live music, cooking, and spending time with his wife and three children in NY.
John Terhune is a Solutions Architect specializing in Amazon DynamoDB. In previous roles John has focused on both support and architecture for strategic customers, helping design and launch new applications. Beyond databases, John enjoys traveling with his wife and kids to exciting new places.
Heather Field is a Solutions Architect at AWS. She has 25 years in Media and Entertainment industry, everything from Digital Marketing IT, Content Protection (wrote the ChinaDRM protection standard), and Broadcast to Live digital sports, and now generative AI video analysis and metadata guru.