当前位置:首页>热门 > >正文

LiveMe x TiDB 简化技术架构 实现数据量单表 39 亿条 今日热闻

  • 2023-02-16 11:06:17来源:中关村在线

近些年,由于互联网的快速发展以及线上需求的爆发,直播在国内已经成为一个非常成熟的商业模式。在娱乐、教育、办公等场景中涌现出许多优秀的视频直播产品。随着国内市场竞争日益白热化,加之企业出海渐成趋势,越来越多的直播公司选择走出去,寻找新的海外直播市场,借鉴国内成熟的产品、运营以及商业模式,让全球的用户都用上中国人创造的产品,LiveMe 便是成功的出海直播产品之一。


(资料图片)

LiveMe 是一个全球直播和社交平台,于 2016 年 4 月推出。LiveMe 的产品功能包括 H2H、多人聊天、虚拟形象直播、蹦迪房等,它使用户能够随时随地直播、并观看其他精彩的直播以及与世界各地的朋友进行视频聊天。目前 LiveMe 已在全球积累了超过 1 亿用户和超过 300 万的主播。它已成为美国最受欢迎的社交应用程序之一,并已在 200 多个国家和地区推出。

业务痛点

与其他行业出海一样,直播产品的出海也面临着许多全球化挑战。如各地的合规监管、本地化运营、持续创新、政治文化差异等,都为直播产品出海带来巨大挑战。而在出海的过程中,底层的技术能力帮助 LiveMe 在成本节约、用户增长、金融风控、提升研发效率等方面不断实现精细化运营与业务创新。

经过了多年的沉淀,LiveMe 在业务上已经形成了线上微服务主导,线下计算中心主导的技术架构。线上业务是通过 Go 语言开发的一套微服务架构,每个服务根据不同业务特性具有自己独立的存储。线下业务是由数据研发团队来维护,通过 sqoop 和 MySQL Binlog 同步等方式从数据库层面抓取数据到数据仓库,完成一系列业务相关的支持。

这套业务架构中线上业务主要面临着以下痛点:

第一,虽然完成了微服务分库的设计,每个服务都有自己独立的数据库,但是每个业务中又存在很多业务上的大表,都存在 MySQL 分表的现象。在典型的分表场景中,数据库表会按照用户的 UID 尾号经过 MD5 后分到 256 张表,但是日积月累后又需要再根据时间日期做一个垂直的分表,导致数据库表无法完成聚合查询,再加上跨时间段的分表需求,很多场景无法满足线上需求。

第二,对于分析型业务数据而言,需要保证数据的实时性,并保留数据细节。实时的数据分析,可以在业务上更快做出决策,例如在一些活动运营场景中,业务团队需要快速从各个数据维度来分组统计观察活动效果;在金融相关风控业务中,需要根据各个维度快速聚合来判断各项数据是否达到风控模型的阈值。如果使用离线计算的方式,数据的实时性根本无法得到保证;此外,经过离线计算或者实时计算过的数据,如果用户反馈数据有问题,需要查看数据的细节也很难实现。

第三,各种精细化运营需求,例如推荐、个性化运营等场景不断增加,对于数据的实时要求越来越高。因此,LiveMe 急需一种更简单,同时让线上线下业务做好平衡的方案。

此时,如果 LiveMe 继续选择大数据技术栈解决痛点就会面临以下挑战:1)大数据技术栈的架构非常复杂,中间件过多;2)需要额外的技术栈学习成本,比如如果使用数据同步,就需要 sqoop、scala、kafka 等中间件,会大幅增加整个业务的复杂性;3)希望线上业务以及架构非常简单,能够简化到普通开发人员只要能够 CRUD(增加(Create)、读取(Read)、更新(Update)和删除(Delete)) 数据库就可以上手开发。

为什么选择 TiDB ?

基于以上业务挑战,LiveMe 经过一系列技术选型后最终选择了 TiDB 数据库。 TiDB 的以下特性可以帮助 LiveMe 很好的应对挑战:

1)TiDB 的性能大于等于 MySQL ;

2)TiDB 的 HTAP 特性能够解决线上大表的问题,在后台或者一些实时分析场景中,其 OLAP 分析能力能够保证实时数据报表;

3)TiDB 引入的 MPP 架构分析能力,使得 OLAP 查询速度非常快,这也是 OLAP 数据库架构上的技术方向;

4)TiDB 团队有着完善和专业的技术支持,在过程中可以帮助 LiveMe 解决很多问题,在线上大规模使用后也没有后顾之忧。

如何利用 TiDB 实现实时聚合查询

鉴于 LiveMe 的微服务架构,如果将数据源全部替换,工程量大且不能一蹴而就,因此就需要一种兼容性的方案,在保证线上业务不受影响的同时也能使用 TiDB 的特性来解决 LiveMe 的业务痛点。因此,对于需要聚合查询的业务, LiveMe 通过消息队列广播的方式,在业务层订阅相关事件再补充业务侧需要的宽表信息写入 TiDB,基于 TiFlash 就可以做到实时的运营报表。业务开发人员只需要编写对应的 SQL 查询,就可以轻松完成需求。 没有了复杂的 ETL 过程,大大简化了开发流程。

对于业务数据, LiveMe 使用 AWS SQS 消息队列,相比 Kafka 的优势在于每条数据都是原子性的,每条数据都可以用来做幂等重试,来保证数据的最终一致性。目前,这套技术方案已经支撑了 LiveMe 的活动运营和金融风控等多个业务场景,满足了 LiveMe 对于线上大量数据实时聚合查询的要求。

如何使用 TiDB 简化技术架构

LiveMe 有一个类似朋友圈功能的场景,这个业务中存在两个技术难点:第一是对于数据的无限量增长存储如何实现扩容;第二是数据的冷热分离,这又涉及到数据成本的问题。

以用户发 Twitter 的场景举例:如果用户发了一条 Twitter,它会写入到自己所有的关注列表,比如有 100 个粉丝,就写入 100 条,如果有 10 万粉丝就需要写入 10 万条数据,这是一个典型的写扩散场景。这个场景带来的效果是数据爆炸半径非常大,如果某流量网红发一条 Twitter ,数据写入量会非常大,因此需要一个能够接近于无限扩容的存储机制才可以实现这个场景。

Twitter 是通过维护一个 redis-cluster 来解决 feed 分发的存储。LiveMe 的技术团队也想到使用这种技术架构,技术团队经过选型考虑使用 codis 集群来做存储,但通过对成本的考量,认为这个方案是不可行的,大量的 feed 冷数据存储在 codis 这样的内存密集型数据库中,成本非常高。因此,技术团队面临的挑战是如何用低成本的方式去实现一个写扩散的场景。

基于 TiDB 解决方案,LiveMe 技术团队在上述写扩散场景中,把扩散写入的部分替换成了 TiDB,使用一张数据库表来存储所有 feed 的写入关系,比如用户有 100 万粉丝,就在数据库里插入 100 万条数据。基于 TiDB 的分布式数据库特性,帮助 LiveMe 简单高效地解决了数据增长扩容问题。

基于此技术架构,技术团队简化了一个典型的 redis 缓存设计问题,热数据放在 redis 中,用 mget 来获取。冷数据放在 TiDB 中,用 select in 查询,这样做数据冷热区分就非常容易,甚至可以实现一个简单的布隆过滤器来了解哪些数据在热数据,哪些数据在冷数据里。以此减少无效数据的回源,更高效获取数据。

LiveMe 的朋友圈功能基于 TiDB 的分布式存储特性进行技术改造后, feed 表从 2021 年中旬上线至今已经达到数十亿数据写入,现在的数据量单表 39 亿条。因为这些数据是永久保留不会删除的,所以该数据也会一直增长。

未来规划

未来, LiveMe 将会继续尝试 TiDB 在更多业务中,一方面会做数据库管理开发;另一方面将对于强事务依赖交易型的业务尝试使用 TiDB,为直播电商场景做技术储备。

标签: 新闻资讯

延伸阅读

推荐阅读

LiveMe x TiDB 简化技术架构 实现数据量单表 39 亿条 今日热闻

近些年,由于互联网的快速发展以及线上需求的爆发,直播在国内已经成为一个非常成熟的商业模式。在娱乐、教育、办公等场景中涌现出许多优秀的

莲子心中苦梨儿腹内酸是什么意思-每日聚焦

莲子心中苦梨儿腹内酸是什么意思,“莲子心中苦,梨儿腹中酸”是一副对联,上联的“莲”与“怜”同音,意为看到儿子悲切恸哭之状深感可怜;...

世界百事通!2023中国国际数字经济博览会专家座谈会在北京召开

更多精彩,请点击上方蓝字关注我们2月10日,2023中国国际数字经济博览会专家座谈会在北京成功召开。会议由中国国际数字经济博览会执委会副秘书

霹雳mit 电视剧_关于霹雳mit 电视剧的介绍 天天微速讯

1、《花美男侦探俱乐部MIT》又名《霹雳MIT》,是由林清振执导,炎亚纶、黄鸿升、陆廷威、吴映洁等主演的校园侦探剧。2、该剧主要讲述霹雳MIT成

做什么工作能月入两万到三万_做什么工作 全球球精选

1、看你自己愿不愿意付出了?可以去学一点东西,学会了之后再出去想着挣钱,因为你也没有什么特别的技能,所以你出去低人一等就

小家庭群名温馨|当前快报

现在,越来越多人都开始用微信了,qq和微信这两大聊天是绝对少不了的。相信大家微信好友也是很多的吧特别是家人,大家都是通

天天讯息:适合情侣旅游的地方_适合情侣旅行的10个目的地

适合情侣旅行的地方(适合情侣旅行的10个目的地)钱树老师曾经说过:“如果你想结婚,先去旅行”,经过长途旅行后,还没有讨厌对方,我还没吵...

一类银行卡有什么标志 天天速讯

一类银行卡是没有什么特殊标志的,从卡表面上看也没有特别的地方。但是一类银行卡和二类银行卡之间还是有区别的,一类卡在同一银

佛说三世因果经

尔时,阿难陀尊者,在灵山会上,一千二百五十人俱。阿难顶礼合掌,绕佛三匝,胡跪合掌。请问本师释迦牟尼佛:南阎浮提,一切众生

世界快资讯:抽贷是什么意思

银行抽贷就是指银行贷款给企业,在未到协议规定的还款期限期间提前收回贷款的行为。银行认为企业经营出现问题,所以要提前收回贷

赣江新区施工现场机械轰鸣

江西新闻客户端讯(江西日报全媒体记者洪子波)2月14日,记者在赣江新区儒乐湖新城看到,各大重点项目建设一片繁忙景象。儒乐

固生堂:预计2022财年录得溢利净额约1.8亿元-今热点

固生堂:预计2022财年录得溢利净额约1 8亿元,财政,财年,账目,利净额,固生堂

焦糖玛奇朵怎么做

原料:咖啡豆、焦糖浆、牛奶。具体操作步骤如下:1、选择咖啡豆。好的咖啡豆颜色大小均匀一致表面有光泽,有香气无异味。2、将咖啡豆进行研磨

每日看点!颜国志:反诈先锋 永不止步

颜国志:反诈先锋永不止步人民公安报记者黄晓洁通讯员王鹏近年来,电信网络诈骗手段花样翻新,这让与犯罪分子斗智斗勇的反诈民警也越来越“...

借壳上市的好处和坏处是什么

借壳上市的优点:审核程序简单、审核周期并不长、标准相对宽松。保荐人也不需要签字,上市周期通常比较短,重组审核比较快。借壳

环球关注:白流苏在倾世之恋中的形象_白流苏

1、《倾城之恋》承载的是一个年代的故事,有着一个年代的气息,固然作为主人公的白流苏也就承载了一个年代的文化、人情、性格种

【当前独家】黎姿老公马廷强的个人资料简介 他怎么瘸的?

公开个人资料简介显示,马廷强是香港富豪,也是香港艺人黎姿的老公。值得一提的是,尽管资产不菲,马廷强却是瘸的。不少网友很是好奇,马廷强

036期金原排列三预测奖号:五码直选参考

上期回顾:排列三第2023035期开奖号码为649,历史上组选出现53次,直选出现9次。排列三直选649出现之后下期奖号分别为:786-033-224-824-

天天通讯!万马科技2月15日快速上涨

以下是万马科技在北京时间2月15日10:16分盘口异动快照:2月15日,万马科技盘中快速上涨,5分钟内涨幅超过2%,截至10点16分,报28 19元,成交29

中国象棋攻略宝典技巧 今日观点

中国文化博大精深,象棋可以分为全棋和残棋,残棋一般都有自己的套路,您只要严格按照我们的方法练习,熟练掌握每步棋的步骤,变招。学习啦小

世界观点:MINI COOPER SE敞篷版官图 限量999台/仅欧洲发售

近日,MINI官方发布了COOPERSE敞篷版的官图,其原型车在2022年7月正式发布。新车延续了MINI的经典设计风格,并将限量999台,且仅在欧洲市场发售

全球即时:免费全本电子书下载网

1、很多网站,当然现在被HX了很多不过还是可以去浩扬,baidu。2、或者4020之类的下载。本文就为大家分享到这里,

2022中国传媒大学录取分数线_中国传媒大学各省录取分数线-快资讯

【↓】更多推荐【↓】▓怎样填报高考志愿▓新版高考志愿如何填报▓高考填志愿知识与技巧▓高考志愿怎么填写同学们,不拿到大学的录取通知书,

如何制作儿童圣诞老人套装

您可以制作自己的儿童圣诞老人套装。你需要的东西红色运动服-上衣和裤子两卷白色人造毛皮剪针线或胶枪1-2卷细胞泡沫填充

天天即时看!带有居字的词语有哪些

想必大家对居字都不陌生,那么关于带有居字的词语都有哪些呢?下面是小编为大家收集的关于带有居字的词语和相关知识,供大家参考,欢迎大家一起

当前短讯!隔夜茶洗头能生发吗 隔夜茶洗头有生发效果吗

1、隔夜茶洗头不能生发。2、隔夜茶也就是隔夜的茶水,隔夜的茶水通常不会达到生发的效果,并且隔夜的茶水内的细菌非常多,经过一晚上的沉淀也

春天现代诗歌3首

春天来了,步履蹒跚,凝眸可视,凝神可闻。下面是学习啦小编整理的春天现代诗歌,以供大家阅读。春天现代诗歌:迟迟不归的春日迟迟不归的春日我以

贯彻省委农村工作会议精神|绥化:兴产业促就业 走稳脱贫路

过去的一年,望奎县莲花镇厢黄后三村脱贫户初立忠有一笔不错的增收账。“去年,我和老伴在村上富林园成果蔬园区做樱桃树技术员,

消息称小米汽车接近获得新能源汽车生产资质:明年量产

2月14日,微博博主“科技媒体电厂”发文称,小米汽车接近获得新能源汽车生产资质。  据其介绍,两名汽车行业的知情人士确认了以上消息,...

环球快讯:美甲到底需要什么工具?

美甲到底需要什么工具?引导语:想做美甲都需要哪些工具呢?深爱美甲的女孩儿们是不是有嗲犯难了,有的时候自己想去做一个专业的

猜您喜欢

Copyright ©  2015-2022 每日服装网版权所有  备案号:浙ICP备2022016517号-15   联系邮箱:5 146 761 13 @qq.com