Applying Graphs to Enterprise Media Asset Management — C. Goodacre and B. Boehmann, Scripps Networks
这个视频主要是介绍了在Scripps Networks(一家数字电视公司)中,Neo4j作为其DAM(数字资产管理系统)的应用。
如果我们要存储诸如电视节目的数字资产,那基础模型如上图所示:节目可以分为不同季度(Seanson),继续细分为集数(Episode),随后一集可以有不同的实例(对应同一集可能根据放映频道有不同的删减剪辑),最后可以细分为视频片段。 关系型数据库
可是以上的"基础模型"如果以关系型数据库来存放,需要建立很多表来表示不同的关系类型。而且数字资产也不只是视频这一种,最终会变成上图这样的复杂情况。
对于存储多媒体的数字资产管理系统,不能使用关系型数据库而且对于这样的数字资产管理系统,我们更关注于资产间的关系是什么,比如一个厨房节目中对应的食谱有哪些,和这个节目相关的人物有哪些(比如节目中出现的人和食谱作者),关系型数据库不擅长诸如此类的查询。
于是首先尝试了LDAP,但是其schema的灵活度不高随着后续商业模式的变化有很多问题 正片开始图数据库擅长于表现资产的各种关联。
Scripps Networks 中数字资产的节点数以及访问请求频率 服务器部署在AWS上 图数据库的ER图
每一个数字资产(Asset)都是一个抽象的概念,可以视为是一项知识产权(intellectual property),不同资产间有着不同的关系,最后资产都会有一个实例(Instance),表现为这个抽象概念对应的文件(文档或音乐或图片),实例会连上对应的存储地址。
一张图中存储不同类型的数字资产首先我们可以看到大图中有三种颜色的节点,绿色节点对应上图的Asset,蓝色节点对应Instance,黄色节点对应Location。
接下来我们对图中每个子图进行解释。
子图1
这个子图表示的是视频资源的子图。对于电视节目的划分和第一张图相同,值得注意的是PART有分ABSTRACT_PART和CONCRETE_PART。这样分的意义是一集节目可以有不同的版本(同一集可能根据放映频道有不同的删减剪辑,以及清晰度的区分),所有的这些不同版本都会连接到这一集对应的abstract_episode节点上,同时不同版本的节点都由VERSION关系互相连接。
子图2
这张子图表现了子图1的abstract_instance可以连接对应这一集对应的一些文档资源。
子图3
一些其他的多媒体资源比如音乐资源。注意这张图中是连接到了episode节点上,实际也可以连接到abstract_instance节点。
灵活性高
这里显示了图数据库的灵活性。以人们现在观看视频的习惯,经常会有混剪视频(collection)即包含了许多不同来源的视频片段。Neo4j可以轻便地对混剪视频的关系进行表示。
查询功能强
依赖于强大的查询功能,可以用很直观明了的CYPHER语句来查询需要寻找的数据。左下是要寻找符合条件的数字资产,右上是要找到资产的位置。
总结
网友评论