DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

Netflix Media Database

原文链接

NMDB is built to be a highly scalable, multi-tenant, media metadata system that can serve a high volume of write/read throughput as well as support near real-time queries

针对noSQL部分,schemas are implicit in a schemaless system as the code that reads the data needs to account for the structure and the variations in the data (“schema-on-read”)

we have implemented NMDB as a “schema-on-write” system — data is validated against schema at the time of writing to NMDB

Within the NMDB system, Media Data Validation Service (MDVS), is the component that makes sure the data being written to NMDB is in compliance with an aforementioned schema

a DataStore is characterized by the three-tuple (1) a namespace, (2) a media analysis type (e.g., video shot boundary data), and (3) a version of the media analysis type (different versions of a media analysis correspond to different data schemas)

an NMDB DS is also associated with a single MID schema. However unlike the media data schema, MID schema is immutable

These business requirements motivated us to incorporate immutability and read-after-write consistency as fundamental precepts while persisting data in NMDB

MDPS uses local quorum for reads and writes to guarantee read-after-write consistency. 这个的含义是?

关于查询

Media Data Query Service (MDQS)

Media Data Analysis Service (MDAS)

block diagram

We use the Conductor orchestration framework to coordinate and execute workflows related to the NMDB Create, Read, Update, Delete (CRUD) operations and for other asynchronous operations such as querying. Conductor helps us achieve a high degree of service availability and data consistency across different storage backends