5月11日,第七次全國人口普查結(jié)果公布。
國家統(tǒng)計(jì)局總統(tǒng)計(jì)師曾玉平在發(fā)布會直播中表示:“普查數(shù)據(jù)質(zhì)量是普查統(tǒng)計(jì)工作的生命線……利用信息化,對普查方式進(jìn)行創(chuàng)新:首次全面采用電子化,實(shí)時(shí)及時(shí)上報(bào)數(shù)據(jù);首次實(shí)現(xiàn)普查對象通過互聯(lián)網(wǎng)自主填報(bào);首次利用行政大數(shù)據(jù)進(jìn)行比對核查;首次實(shí)現(xiàn)利用互聯(lián)網(wǎng)云計(jì)算云服務(wù)實(shí)時(shí)處理工作;首次用信息化系統(tǒng)對700多萬普查員進(jìn)行線上管理?!?/p>
騰訊云在背后為第七次全國人口普查保駕護(hù)航。據(jù)統(tǒng)計(jì),在該項(xiàng)目中,騰訊云數(shù)據(jù)庫支持了十億級用戶數(shù)據(jù)、七百萬個(gè)終端和百萬級峰值TPS(每秒事務(wù)處理量)。
一、高并發(fā)、高復(fù)雜度實(shí)時(shí)統(tǒng)計(jì)和分析查詢的要求
在這個(gè)普查過程中,700萬普查員使用微信小程序進(jìn)行數(shù)據(jù)采集,約一億人使用微信自主填報(bào)小程序進(jìn)行信息錄入,海量數(shù)據(jù)全部實(shí)時(shí)入庫;與此同時(shí),為了便于假如數(shù)據(jù)采集出現(xiàn)問題能夠在第二天及時(shí)補(bǔ)充采集、修正,系統(tǒng)同時(shí)需要快速完成對入庫數(shù)據(jù)的實(shí)時(shí)查詢分析。
“大量的數(shù)據(jù)要收集上來,同時(shí)數(shù)據(jù)的更新和數(shù)據(jù)的查詢是互相交錯的,不僅要應(yīng)對動態(tài)的人口流動,比如一個(gè)人今天在深圳而明天在北京,同時(shí)要準(zhǔn)確對應(yīng)起人和戶、人和人之間的關(guān)系?!睋?jù)介紹,使用電子化方式開展全國人口普查工作,涉及范圍廣、統(tǒng)計(jì)維度多、技術(shù)難度大。
團(tuán)隊(duì)專家決定再在小程序和TDSQL之間加上騰訊云Redis,將其作為緩存承接所有終端涌入的數(shù)據(jù),然后把數(shù)據(jù)落入TDSQL中。有了這么一道緩存墻,業(yè)務(wù)運(yùn)行中既能從容應(yīng)對暴漲的流量,也能防止小程序突然崩潰,給這次普查上了一道“雙保險(xiǎn)”。
這背后也意味著,對背后的數(shù)據(jù)庫技術(shù)在并發(fā)性、可靠性、一致性、擴(kuò)展性、穩(wěn)定性,以及復(fù)雜查詢分析能力提出極高的要求。如何在十幾億中國人的數(shù)據(jù)在15天內(nèi)涌入時(shí)保證用戶體驗(yàn)和服務(wù)可持續(xù)性?如何縮短登記時(shí)間同時(shí)保證數(shù)據(jù)安全?如何在動態(tài)人口流動中準(zhǔn)確登記、高效完成多個(gè)超大表關(guān)聯(lián)實(shí)時(shí)分析?……
二、騰訊云數(shù)據(jù)庫TDSQL解決之道
1. 為億級數(shù)據(jù)裝上“雙引擎”
700多萬B端混合負(fù)載業(yè)務(wù)、十幾億C端OLTP業(yè)務(wù)、海量的數(shù)據(jù)分析任務(wù)……本次全國人口普查項(xiàng)目,騰訊云數(shù)據(jù)庫提供了既具有擅長OLTP場景能力,同時(shí)擅長聯(lián)機(jī)分析處理OLAP場景能力引擎的企業(yè)級分布式數(shù)據(jù)庫TDSQL,通過“雙引擎”設(shè)計(jì)支撐人口普查工作完成。
前者專門用來做前端生產(chǎn)系統(tǒng)的事務(wù)處理,其最大的優(yōu)點(diǎn)是即時(shí)地處理輸入的數(shù)據(jù),并及時(shí)響應(yīng),實(shí)時(shí)保持系統(tǒng)數(shù)據(jù)處于最新狀態(tài);后者負(fù)責(zé)后期數(shù)據(jù)聯(lián)機(jī)查詢分析處理,支持復(fù)雜的分析操作。
雙引擎技術(shù)能力的融合,完整、平穩(wěn)、高效地支撐了全國人口普查數(shù)據(jù)登記及統(tǒng)計(jì)分析整個(gè)體系化工作。
其中,OLTP引擎提供了支撐大并發(fā)的性能,包括線程池、無鎖優(yōu)化等等,支撐3萬+的數(shù)據(jù)庫連接;強(qiáng)同步技術(shù)在跨可用區(qū)的情況下,滿足高吞吐量、主備數(shù)據(jù)一致性和高可用的能力;彈性的容量伸縮,可根據(jù)實(shí)際運(yùn)營情況進(jìn)行容量水平擴(kuò)展。此外,智能運(yùn)營系統(tǒng)“扁鵲”,則可針對性能較低的SQL給出優(yōu)化建議,同時(shí)自動評估業(yè)務(wù)的事務(wù)模型,降低鎖沖突,提升并發(fā)能力。
測試中,TDSQL數(shù)據(jù)庫應(yīng)對高并發(fā)場景時(shí)可以實(shí)現(xiàn)最高數(shù)百萬每秒的吞吐量,這樣的吞吐規(guī)模已經(jīng)可以滿足目前中國人口2倍的數(shù)量。借此實(shí)力,實(shí)際統(tǒng)計(jì)中TDSQL數(shù)據(jù)庫自然扛住了普查過程中的并發(fā)高峰。
同時(shí),業(yè)務(wù)具有大規(guī)模實(shí)時(shí)查詢分析的需求,普查員在前端不斷錄用的數(shù)據(jù)也將在TDSQL OLAP能力引擎中進(jìn)行進(jìn)一步的數(shù)據(jù)分析。在分析型功能特性方面,TDSQL OLAP集群通過對多表join查詢、復(fù)雜子查詢、聚合運(yùn)算、DN數(shù)據(jù)高效重分布表現(xiàn)上進(jìn)行了極大的優(yōu)化,大大地縮短了業(yè)務(wù)報(bào)表分析時(shí)間。據(jù)介紹,TDSQL支持目前市面上幾乎全部標(biāo)準(zhǔn)的OLAP復(fù)雜查詢計(jì)算模型,包括TPCDS等,各類復(fù)雜查詢業(yè)務(wù)需求。
同時(shí),在此過程中,OLAP分析計(jì)算開銷大、延遲長,同時(shí)還要滿足海量的并發(fā)請求,TDSQL OLAP引擎通過水平擴(kuò)展多個(gè)只讀平面,為復(fù)雜查詢分析場景提供線性讀擴(kuò)展能力,并通過在多個(gè)平面前置負(fù)載均衡做到擴(kuò)縮容業(yè)務(wù)完全無感知。
據(jù)了解,在這些龐大的數(shù)據(jù)中,不乏多張超級大表關(guān)聯(lián)高并發(fā)統(tǒng)計(jì)查詢,其每張表中存放了超過20億+條記錄。如果把其中存放一張超級表的空間用來存放平均50萬字的書籍,可以放下超過1000萬本,一個(gè)人終其一生也讀不完。
更重要的是,基于全局一致性技術(shù),可實(shí)時(shí)保障多平面下內(nèi)部的全局讀一致性。
2. 保障系統(tǒng)可用可靠 企業(yè)級安全特性加持護(hù)航
規(guī)模浩瀚的人口普查工作,系統(tǒng)業(yè)務(wù)架構(gòu)復(fù)雜、并發(fā)度高,在災(zāi)備設(shè)計(jì)、高可用能力保障上,整個(gè)數(shù)據(jù)庫采用了一主三從、強(qiáng)同步復(fù)制和異地災(zāi)備的備份方案,在某個(gè)數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)故障時(shí),都能保證數(shù)據(jù)的完整和一致;哪怕出現(xiàn)大規(guī)模的突發(fā)情況,通過異地災(zāi)備,也能夠進(jìn)行數(shù)據(jù)恢復(fù)。
TDSQL 的安全性經(jīng)過了騰訊各類核心業(yè)務(wù)10余年大規(guī)模產(chǎn)品的驗(yàn)證,包括社交、電商、支付、音視頻等不同類型的產(chǎn)品。在災(zāi)備方面,TDSQL提供完善的數(shù)據(jù)備份、容災(zāi)、一鍵升級、快速恢復(fù),以及數(shù)據(jù)庫防火墻、透明加密等功能,同時(shí)建立起完善的監(jiān)控和報(bào)警體系,大部分故障都通過自動化程序處理恢復(fù)。在整個(gè)過程中,TDSQL從早期就磨煉下來的企業(yè)級安全特性能力,持續(xù)為人口普查工作保駕護(hù)航。
此外,為了讓整個(gè)普查過程能夠更加容易感知,騰訊云圖將普查收集到的海量數(shù)據(jù)進(jìn)行處理,通過數(shù)字大屏和餅狀圖等工具實(shí)時(shí)清晰地展示人口報(bào)送情況,并對各省報(bào)送情況進(jìn)行動畫效果展示,使得普查小組能夠更加直觀地了解整體情況和各地普查進(jìn)度,根據(jù)大屏信息安排進(jìn)一步的工作,提高工作效率。完成了數(shù)據(jù)“上傳——入庫——分析——展示”的最后一公里。
三、結(jié)語
全國人口普查的電子化推進(jìn),TDSQL“OLTP+OLAP”雙引擎設(shè)計(jì)融合一起承接了峰值超過百萬級TPS,另外OLAP集群還額外支撐峰值千萬級萬次的統(tǒng)計(jì)查詢服務(wù),助力第七次全國人口普查工作順利完成。同時(shí),據(jù)新華網(wǎng)統(tǒng)計(jì)報(bào)道,與2010年全國第六次人口普查的紙表入戶登記方式相比,電子采集的方式將登記時(shí)間縮小到了20分鐘以內(nèi),也很大程度上降低了后期數(shù)據(jù)錄入、處理的難度。
可以說,這標(biāo)志著,社會生活的方方面面都已逐步邁入信息化智能化的云時(shí)代,我國自研的信息化技術(shù)可常態(tài)化滿足社會大規(guī)模信息化應(yīng)用需求,且能夠滿足政府金融等行業(yè)領(lǐng)域的數(shù)字需求,在任務(wù)量巨大的極端情況下安全可靠。