速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

发布了 801 篇内容, 共 556.9 次阅读, 收获喜欢 2790 次。

关注

评论

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

我用ChatGPT,给RabbitMQ加了个连接池

Java你猿哥

Java 源码 ssm RabbitMQ ChatGPT

GitHub上13个高赞Java项目推荐,会一个就能跟面试官谈笑风生

Java你猿哥

Java 微服务 秒杀系统 网约车项目 java项目

直击灵魂!美团大牛手撸并发原理笔记,由浅入深剖析JDK源码

做梦都在改BUG

Java 并发编程 多线程 jdk源码

最高奖金100万!第二届广州·琶洲算法大赛火热报名中

飞桨PaddlePaddle

百度飞桨 算法大赛

百度工程师移动开发避坑指南——Swift语言篇

百度Geek说

swift 移动端 开发语言 企业号 5 月 PK 榜

不吹不黑!阿里新产微服务架构进阶笔记我粉了!理论实战齐飞

做梦都在改BUG

Java 架构 微服务 Spring Cloud

SpringBoot 中实现定时任务的几种方式

做梦都在改BUG

Java Spring Boot

企业研发效能度量利器,华为云发布CodeArts Board看板服务

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

红旗软件正式发布龙蜥社区版国产高可靠操作系统

OpenAnolis小助手

Linux 开源 龙蜥社区 红旗软件 社区版操作系统

背完这套Java面试八股文,自动解锁面试牛逼症被动技能

Java你猿哥

MySQL redis java面试 java基础 分布式微服务

云图说丨初识商标注册服务

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

40亿个QQ号,限制1G内存,如何去重?

Java你猿哥

Java ssm 布隆过滤器 BitMap 过滤器

阿里SpringBoot实战手册横空出世!从此不再是易学难精

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

理解JVM工作机制(二) 对象的创建

Geek漫游指南

Java JVM Java web

发挥数据价值!数据驱动的日志解析与异常检测方法介绍!

嘉为蓝鲸

日志分析 管理日志 日志统计

全新一代小度智能屏X9焕新上市 正式开启预售

Geek_2d6073

为什么老有人想让我们“程序员”失业?征文获奖作品合集

InfoQ写作社区官方

技术专题合集 热门活动 三周年征文

还在服务器上捞日志?试试这款可视化监控系统吧,真香!

Java你猿哥

Java 日志 ssm 监控系统 Frostmourne

Scrum的三个工件(产品Backlog、Sprint Backlog、产品增量 )

顿顿顿

Scrum 敏捷 敏捷开发管理 敏捷开发管理工具

Velocity不用愁!Velocity系统的前端工程化之路 | 京东云技术团队

京东科技开发者

Java 前端工程化 Web H5 Velocity.js 企业号 5 月 PK 榜

实例解读华为云数字工厂平台的逻辑模型编排器

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

嘉为蓝鲸CMP多云管理平台解决方案成功入选!

嘉为蓝鲸

多云管理 IT运维 蓝鲸

胜面试官半子!阿里SpringBoot全栈笔记首发,源码实战齐飞

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

使用 PAI-Blade 优化 Stable Diffusion 推理流程(二)

阿里云大数据AI技术

人工智能 优化 推理 Stable Diffusion 企业号 5 月 PK 榜

ps vs top:CPU占用率统计的两种不同方式

极限实验室

Linux 运维 监控系统 INFINI Console

涅槃重生!字节大牛力荐大型分布式手册,凤凰架构让你浴火成神

Java你猿哥

架构 Kubernetes 分布式 架构师 分布式架构

现代应用开发模式:PWA vs 小程序

Onegun

小程序 PWA

又爆神作!阿里首发并发编程神仙笔记,差距不止一点点

做梦都在改BUG

Java 并发编程

浅谈财务共享未来发展趋势

用友BIP

业财融合 财务共享

AntDB数据库参加开源数据库技术沙龙,分享全栈业务能力

亚信AntDB数据库

AntDB AntDB数据库 企业号 5 月 PK 榜

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