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 分钟以内,并在很大程度上降低了后期数据录入、处理的难度。
评论