NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:171585
用户头像
蔡芳芳 InfoQ主编

发布了 781 篇内容, 共 495.4 次阅读, 收获喜欢 2748 次。

关注

评论

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

分享Java资深架构师的成长之路,今日头条面试经历

Java 程序员 后端

分享一次面试经历,享学课堂java架构师课程,【高级Java架构师系统学习】

Java 程序员 后端

分享一波阿里、字节、腾讯、美团等精选大厂面试题,Java面试题整理

Java 程序员 后端

再见SpringMVC,linux教程第四版实验答案,Java全栈面试题

Java 程序员 后端

写给即将正在找工作的Java攻城狮,5分钟搞定

Java 程序员 后端

做Java程序员真的没有春天吗,12年高级工程师的“飞升之路”

Java 程序员 后端

入职3个月的Java程序员面临转正,原来SqlSession只是个甩手掌柜

Java 程序员 后端

架构实战营-模块一

Aha hello xzy

架构实战营 「架构实战营」

全靠我啃烂了这份2021最新面试题,系统盘点Java开发者必须掌握的知识点

Java 程序员 后端

关于Java性能优化的几点建议,图灵学院4期百度网盘,附项目源码

Java 程序员 后端

你头秃都没想到还能这样吧,Java这些高端技术只有你还不知道

Java 程序员 后端

你的技术真的到天花板了吗,值得推荐!

Java 程序员 后端

全套教程百度云,java菜鸟教程多态,Mybatis源码解析

Java 程序员 后端

DoS?DDoS?这件事要从另一个D说起……

郑州埃文科技

网络安全 DOS攻击 IP定位

其实Zookeeper的选举机制也不难理解,今日头条Java后端面试

Java 程序员 后端

准备Java面试?中公教育java讲师,死磕原理

Java 程序员 后端

你想学的都在这里,开课吧java架构师百度云,阿里Java开发面试解答

Java 程序员 后端

掌握渗透测试,从Web漏洞靶场搭建开始

华为云开发者联盟

测试 渗透测试 漏洞 漏洞靶场 wavsep

写给互联网大厂员工的真心话,MySQL优化原理分析及优化方案总结

Java 程序员 后端

区块链交易隐私如何保证?华为零知识证明技术实战解析

华为云开发者联盟

区块链 金融 零知识证明 同态加密 交易隐私

你还搞不定分布式系统流控、熔断吗,2021年最新Java面试点梳理

Java 程序员 后端

写给Java软件工程师的3条建议,百度笔试题百度校招面试经验,开源新作

Java 程序员 后端

分享一点面试小经验,2021吊打面试官系列

Java 程序员 后端

分享Java资深架构师的成长之路,Java面试常见问题及回答技巧

Java 程序员 后端

你连基础的JVM运行时内存布局都忘了,springmvc实战教程

Java 程序员 后端

云图说|初识云数据库GaussDB(for Redis)

华为云开发者联盟

数据库 redis 开源 华为云 GaussDB(for Redis)

全栈系统化的学习路线,基于SpringCloud微服务化开发平台项目

Java 程序员 后端

关于SQL书写建议-&索引优化的总结,真香警告

Java 程序员 后端

写给Java开发的小程序布局指南,震惊

Java 程序员 后端

你有过迷茫吗,java的网络编程教程视频,这些知识点你会吗

Java 程序员 后端

关于Java性能优化的几点建议,java编程书籍合集百度云,终局之战

Java 程序员 后端

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