AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

14 亿人的大项目,如何跑在腾讯云数据库 TDSQL 的“双引擎”上?

  • 2021-05-13
  • 本文字数:2068 字

    阅读完需:约 7 分钟

14亿人的大项目,如何跑在腾讯云数据库TDSQL的“双引擎”上?

5 月 11 日,第七次全国人口普查结果公布。


我国每十年进行一次人口普查:从 1953 年的算盘,到后续的计算机,数据采集的变迁从未改变纸表录入的形式。而到了第七次全国人口普查,电子化采集全面取代纸表,将数据直接上报到国家统计局。700 万普查员、全体中国大陆公民,首次在线上完成人口普查数据采集,而这背后其实是腾讯云在保驾护航。据统计,在该项目中,腾讯云数据库支持了十亿级用户数据、七百万个终端和百万级峰值 TPS(每秒事务处理量)。

高并发、高复杂度实时统计和分析查询的要求


在本次人口普查过程中,700 万普查员使用微信小程序进行数据采集,约一亿人使用微信自主填报小程序进行信息录入,海量数据全部实时入库;与此同时,为了便于假如数据采集出现问题能够在第二天及时补充采集、修正,系统同时需要快速完成对入库数据的实时查询分析。

 

“大量的数据要收集上来,同时数据的更新和数据的查询是互相交错的,不仅要应对动态的人口流动,比如一个人今天在深圳而明天在北京,同时要准确对应起人和户、人和人之间的关系。”据介绍,使用电子化方式开展全国人口普查工作,涉及范围广、统计维度多、技术难度大。


如何在十几亿中国人的数据在 15 天内涌入时保证用户体验和服务可持续性?如何缩短登记时间同时保证数据安全?如何在动态人口流动中准确登记、高效完成多个超大表关联实时分析?


这对背后的数据库技术的并发性、可靠性、一致性、扩展性、稳定性,以及复杂查询分析能力都提出了极高的要求。


团队专家决定再在小程序和 TDSQL 之间加上腾讯云 Redis,将其作为缓存承接所有终端涌入的数据,然后把数据落入 TDSQL 中。有了这么一道缓存墙,业务运行中既能从容应对暴涨的流量,也能防止小程序突然崩溃,相当于上了一道“双保险”。

腾讯云数据库 TDSQL 的解决之道

 

本次全国人口普查项目,腾讯云数据库提供了“OLTP+OLAP”双引擎融合的企业级分布式数据库管理系统 TDSQL,平稳、高效支撑第七次全国人口普查工作完成。


其中,OLTP 能力专门用来做前端生产系统的事务处理,其最大的优点是能即时地处理输入的数据,并及时响应,实时保持系统数据处于最新状态;OLAP 能力则负责后期数据联机查询分析处理,支持复杂的分析操作。


TDSQL OLTP 引擎提供了支撑大并发的性能,包括线程池、无锁优化等等,支撑 3 万+的数据库连接;强同步技术在跨可用区的情况下,满足高吞吐量、主备数据一致性和高可用的能力;弹性的容量伸缩,可根据实际运营情况进行容量水平扩展。此外,智能运营系统“扁鹊”,则可针对性能较低的 SQL 给出优化建议,同时自动评估业务的事务模型,降低锁冲突,提升并发能力。

 

测试中,TDSQL 数据库应对高并发场景时可以实现数百万每秒的吞吐量,这样的吞吐规模已经可以满足目前中国人口 2 倍的数量。借此,实际统计中 TDSQL 数据库也顺利扛住了普查过程中的并发高峰。

 

同时,业务具有大规模实时查询分析的需求,普查员在前端不断录入的数据也将在 TDSQL OLAP 能力引擎中进行进一步的数据分析。据了解,在这些庞大的数据中,不乏多张超级大表关联高并发统计查询,其每张表中存放了超过 20 亿+条记录。如果把其中存放一张超级表的空间用来存放平均 50 万字的书籍,可以放下超过 1000 万本,一个人终其一生也读不完。


在此过程中,OLAP 分析计算开销大、延迟长,同时还要满足海量的并发请求,TDSQL OLAP 引擎通过水平扩展多个只读平面,即可良好地满足业务的要求,为复杂查询分析场景提供线性读扩展能力,并通过在多个平面前置负载均衡做到扩缩容业务完全无感知;与此同时,基于全局一致性技术,可实时保障多平面下内部的全局读一致性。

企业级安全特性保障系统可用可靠


规模浩瀚的人口普查工作,系统业务架构复杂、并发度高。在灾备设计、高可用能力保障上,整个数据库采用了一主三从、强同步复制和异地灾备的备份方案,在某个数据节点出现故障时,能保证数据的完整和一致;哪怕出现大规模的突发情况,通过异地灾备,也能够进行数据恢复。

 

TDSQL 的安全性经过了腾讯各类核心业务 10 余年大规模产品的验证,包括社交、电商、支付、音视频等不同类型的产品。在灾备方面,TDSQL 提供完善的数据备份、容灾、一键升级、快速恢复,以及数据库防火墙、透明加密等功能,同时建立起完善的监控和报警体系,大部分故障都通过自动化程序处理恢复。在整个过程中,TDSQL 从早期就磨炼下来的企业级安全特性能力,持续为人口普查工作保驾护航。

 

此外,为了让整个普查过程能够更加容易感知,腾讯云图将普查收集到的海量数据进行处理,通过数字大屏和饼状图等工具实时清晰地展示人口报送情况,并对各省报送情况进行动画效果展示,使得普查小组能够更加直观地了解整体情况和各地普查进度,根据大屏信息安排进一步的工作,提高工作效率。和其他产品协同,完成了数据“上传——入库——分析——展示”的最后一公里。

 

据不完全统计,在此次第七次全国人口普查项目中,腾讯共有 40 多个部门、超过 300 人参与其中,封闭周期长达 200 多天。据新华网统计报道,与 2010 年全国第六次人口普查的纸表入户登记方式相比,电子采集的方式将登记时间缩短到了 20 分钟以内,并在很大程度上降低了后期数据录入、处理的难度。

2021-05-13 12:171971
用户头像
蔡芳芳 InfoQ主编

发布了 804 篇内容, 共 579.0 次阅读, 收获喜欢 2802 次。

关注

评论

发布
暂无评论
发现更多内容

DevSecOps 中的漏洞管理(上)

禅道项目管理

DevOps

软件测试/测试开发丨Web自动化测试 关键数据记录

测试人

Python 程序员 软件测试 自动化测试 测试开发

安全攻防丨反序列化漏洞的实操演练

华为云开发者联盟

安全 开发 华为云 华为云开发者联盟 企业号9月PK榜

一文读懂GPU的十个重要参数

Finovy Cloud

gpu GPU服务器 GPU渲染

颠覆传统数据集,开启人工智能新篇章

百度开发者中心

人工智能 数据 文心一言

引领生产力新时代

百度开发者中心

人工智能 文心一言

AI如何改变设觉特效

测吧(北京)科技有限公司

测试

人工智能对游戏世界的革新

测吧(北京)科技有限公司

测试

如何调试 C# Emit 生成的动态代码?

互联网工科生

C# Emit

Little Snitch 5 小飞贼工具 +Little Snitch 5 激活密钥

胖墩儿不胖y

防火墙 Mac软件 防火墙软件

RabbitMQ 如何实现延迟队列?

王磊

Java Java面试题

大数据平台数据安全具体措施有哪些?有推荐的吗?

行云管家

大数据平台 大数据平台安全

创新引擎,重新定义生产力

百度开发者中心

人工智能 教育 生成式AI 文心一言

大模型时代的规则与挑战

百度开发者中心

人工智能 生成式AI 文心一言

聚焦2023全球智博会 百度CIO李莹:大模型加速工作生产力变革

极客天地

物联网的崭新时代:AI驱动的智能世界

测吧(北京)科技有限公司

测试

软件测试 | AI革命性技术未来的领域

测吧(北京)科技有限公司

测试

3天上手Ascend C编程丨带你认识Ascend C基本概念及常用接口

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟 企业号9月PK榜

人工智能在新能源和环境领域的角色

测吧(北京)科技有限公司

测试

八个针对高级职位的高级 JavaScript 面试题

树上有只程序猿

JavaScript 程序员 面试

14亿人的大项目,如何跑在腾讯云数据库TDSQL的“双引擎”上?_语言 & 开发_蔡芳芳_InfoQ精选文章