南瓜电影是一家纯会员制视频服务平台,专注于为其8000多万用户提供精品影视服务。区别于传统视频平台,通过无任何广告和附加费用的清爽模式,在为用户提供全球优质影视资源的同时,创造纯粹简单的观影环境。
大数据、虚拟现实等技术与视频媒体的深度融合,让互联网影视新媒体行业步入了高速发展的数字化进程。数据显示,近年来中国网络视频用户规模逐年上升,2021年用户规模约达7.34亿人。
用户对线上观影接受度的逐步提高,让不少院线电影开始通过线上放映的模式实现新增长点,影视平台成为了承载用户观影体验需求的主体。
行业的欣欣向荣,也意味着平台需要通过比传统线下影院更具创新的服务来获得观影者的青睐。南瓜电影致力于通过数据为观影者创造更身临其境的定制化观影体验。在南瓜平台上的每一部电影,都会以一种全新的智能算法重新解构,基于用户画像及数据分析,精准为每一位用户推荐专属于自己的影片清单,让平台内容与用户习惯实现“双向奔赴”。此外,新增的放映厅功能让满足条件的会员可以建立自己的云影厅,邀请亲友聚于云端互动观影。
线上影厅难以像线下影院一样预控观影人数,许多时候会面临高低峰值的波动变化,为了不影响用户顺畅的观影体验,数据库需要拥有弹性的承压能力。此外,为了满足用户实时互动和聊天的需求,南瓜电影新增了弹幕、道具等功能与玩法,业务的与时俱进对数据库的快速迭代能力也提出了新的要求。
南瓜电影早期使用的是MySQL传统关系型数据库,但随着用户量增长,传统型数据库的首要挑战就是单表的最大限制。南瓜电影发现,单表数据在500万以上时,数据库的性能急剧下滑,单表数据在1000万时,数据库只能实现部分简单的查询功能,若想实现新增或变更则心有余而力不足,且一次新增属性的时间需要约一个小时,开发迭代效率低下。
面对传统关系型数据库实现方式上的弊端,南瓜电影最初尝试了拆表、分库分表等操作,但数据库的风险范围因此扩大,对代码的耦合度也变得更高,代码要处理分库分表的逻辑才能保证业务的正常运行。这使得代码和数据库的风险绑定在一起,遇到问题时会一荣俱荣,一损俱损。
经过团队评估,南瓜电影最终决定使用阿里云数据库MongoDB版,MongoDB很容易处理分库分表的问题并且支持分布式,能够改善数据库的灵活性、扩展性,提高开发效率并降低日常运维的复杂性。
阿里云数据库MongoDB版是由阿里云运行的完全托管的云数据库服务,并通过MongoDB Inc(构建和维护MongoDB软件的公司)认证。2022年,MongoDB与阿里云也迎来了合作三年的“里程碑”,2022年11月推出了最新的阿里云版MongoDB 6.0,更加有效地赋能南瓜电影进行现代应用架构优化,支撑更多类型的使用场景,推动业务性能与规模的进一步发展。
以南瓜电影采用阿里云数据库MongoDB版最大的使用场景“日志系统”为例,日志系统会引入来源于多个渠道的日志,包含业务日志、应用端日志等,这导致数据结构灵活多变,传统存储结构很难适应这种变化。随着业务的发展,日志增长快速,对数据存储端也存在冲击,需要按需弹性扩展。同时,日志存储端需要与大数据框架易集成。
面对每秒钟有上百万上千万写入的数据高并发场景,阿里云数据库MongoDB版整体带来了三个方面的提升:
南瓜电影大数据团队及基础安全部负责人殷金良表示:“阿里云数据库MongoDB版最打动我们的是其灵活多变的数据结构,以及能够处理大数据场景的能力。传统关系型数据库的弊端有悖于开发者最基本的‘开闭原则’,MongoDB对开发者友好程度高,我们只需聚焦业务创新本身,而不用将过多的时间投入到数据库的设计结构上,不用担心代码问题会影响到数据库性能、招致风险。我们的实践表明,阿里云数据库MongoDB版对开发效率的提升及其所表现的性能明显优于传统关系型数据库。”
南瓜电影大数据团队及基础安全部负责人殷金良