B站用户视频观看记录的存储方案 您所在的位置:网站首页 b站视频如何隐藏观看记录 B站用户视频观看记录的存储方案

B站用户视频观看记录的存储方案

#B站用户视频观看记录的存储方案| 来源: 网络整理| 查看: 265

中午上B站看视频的时候,突然好奇B站的视频观看记录是怎么存的。 首先,因为多端观看的视频记录都是同步的,即不管是在手机观看,还是网页观看,还是新设备观看,视频都是可以直接跳转到上次的观看位置的,所以这个记录应该不是存储在本地的。 其次,B站的用户截至2020年底,MAU(月活)达2.02亿,视频总量2020年看有人统计约为7千万条,假设按1亿条计,即使按人均每日观看100个视频,那10年到用户的话每个用户也有36.5万条记录。这样一个超大的稀疏矩阵该怎么存?传统数据库显然不合适。 我自己首先想到的应该是HBase,单实例支持十亿行百万列。因为视频内容是无限增长的,而用户是有限的,所以可以以用户id作为rowkey,视频内容id作为column来记录该用户每个视频的观看位置。 但是视频的数量现在就已经达到亿级别,而且还会继续增长,百万列明显不够。这可能就需要考虑多实例,即把视频内容id按一定的hash规则(或者直接按照顺序,方便扩展)分别存储在不同的实例里,比如1亿条条视频就每个实例存100万条,分100个实例,查询用户视频观看位置时,就根据视频id先到指定的实例去,然后再通过用户id主键+视频内容id列查询位置记录。 不过,想了想又让我感觉这是个比较笨拙的方案。 以上纯属脑子里突然冒出的一个问题,暂且记录一下,具体B站或者其他视频网站(比如腾优爱)是采用的什么技术方案,我会再继续查找和思考。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有