中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

揭秘騰訊TDSQL全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)

2019-12-30    來源:raincent

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

作者:騰訊TDSQL團(tuán)隊(duì)

全時(shí)態(tài)數(shù)據(jù)為數(shù)據(jù)安全、數(shù)據(jù)重演、數(shù)據(jù)挖掘和 AI 技術(shù)的施展提供了物理基礎(chǔ)。這篇文章重點(diǎn)介紹了基于騰訊云 TDSQL 擴(kuò)展而來的全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)(T-TDSQL),T-TDSQL 在保證 OLTP 性能的前提下提供了輕量級(jí)的全時(shí)態(tài)數(shù)據(jù)管理功能和全時(shí)態(tài)數(shù)據(jù)的事務(wù)處理能力,以及集當(dāng)前態(tài)數(shù)據(jù)于生產(chǎn)系統(tǒng)集歷史態(tài)數(shù)據(jù)于分析型系統(tǒng)的集群架構(gòu),構(gòu)成了全時(shí)態(tài)數(shù)據(jù)的完備解決方案。相應(yīng)論文已入選 VLDB 2019。

一 前言

騰訊與中國人民大學(xué)于 2017 年起,依托于騰訊 TEG 計(jì)費(fèi)平臺(tái)部豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)和中國人民大學(xué)數(shù)據(jù)工程與知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室的多年學(xué)術(shù)積累,在數(shù)據(jù)庫前沿研究領(lǐng)域開展了深入合作,研究成果已經(jīng)連續(xù)兩年入選國際頂級(jí)會(huì)議 VLDB。

VLDB 會(huì)議是國際公認(rèn)的數(shù)據(jù)管理與數(shù)據(jù)庫領(lǐng)域頂尖的三大學(xué)術(shù)會(huì)議(SIGMOD、VLDB、ICDE)之一,旨在展示和推廣領(lǐng)域內(nèi)最新的研究成果和核心科技。自 1975 年開辦至今,VLDB 會(huì)議已經(jīng)成功舉辦了 44 屆,每年的 VLDB 能在全球范圍內(nèi)吸引到大量優(yōu)秀的研究人員、企業(yè)代表以及行業(yè)精英到場參會(huì),是一場不容錯(cuò)過的學(xué)術(shù)盛會(huì)。

繼去年在 VLDB2018 上通過 DEMO 論文展示了合作成果 MSQL+ 后(基于 TDSQL 的插件式近似查詢工具),今年騰訊與中國人民大學(xué)最新聯(lián)合研究成果“A Lightweight and Efficient Temporal Database Management System in TDSQL”成功被 VLDB2019 Industry Track 接收并將通過長文形式發(fā)表。該研究成果由騰訊 TEG 計(jì)費(fèi)平臺(tái)部 TDSQL 數(shù)據(jù)庫團(tuán)隊(duì)與中國人民大學(xué)數(shù)據(jù)工程與知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室深度合作完成。論文介紹了一款基于 TDSQL 擴(kuò)展而來的全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng),該系統(tǒng)在保證 OLTP 性能的前提下,提供了輕量級(jí)的時(shí)態(tài)數(shù)據(jù)管理功能。本文將對(duì)論文研究成果進(jìn)行詳細(xì)的分析解讀。

 

 

圖 1 VLDB 官網(wǎng)截圖

二 研究背景

時(shí)態(tài)數(shù)據(jù)主要指隨時(shí)間推移不斷發(fā)生變化的數(shù)據(jù),例如溫度、賬戶余額等數(shù)據(jù)。時(shí)態(tài)數(shù)據(jù)在現(xiàn)實(shí)生活中非常普遍,而在金融場景下,在數(shù)據(jù)庫層面時(shí)態(tài)數(shù)據(jù)管理尤為重要。例如,金融審計(jì)時(shí)需要獲取 2018 年 11 月 08 日至 2018 年 11 月 10 日的賬戶余額變動(dòng)情況。如果通過傳統(tǒng)數(shù)據(jù)庫(RDBMS)中的普通關(guān)系表進(jìn)行賬戶余額管理(如圖 1 所示),賬戶余額變動(dòng)不會(huì)被維護(hù),因而上層應(yīng)用需要通過日志等形式來額外記錄余額的每次變動(dòng),這會(huì)大大提高應(yīng)用復(fù)雜度;而采用如表 2 所示的時(shí)態(tài)數(shù)據(jù)表,余額的變遷被原生維護(hù)在數(shù)據(jù)庫中,即可準(zhǔn)確獲取到余額變動(dòng)數(shù)據(jù)(表中加粗?jǐn)?shù)據(jù))。

三 系統(tǒng)簡介

結(jié)合 TDSQL 系統(tǒng)的特點(diǎn),研究團(tuán)隊(duì)提出并實(shí)現(xiàn)了一個(gè)輕量且高效的全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng),該系統(tǒng)可以在保留原有 TDSQL 強(qiáng)勁的 OLTP 處理性能的同時(shí),通過巧妙的系統(tǒng)設(shè)計(jì),提供了內(nèi)建的時(shí)態(tài)數(shù)據(jù)管理能力(如圖 2 所示)。

 

 

圖 2 系統(tǒng)概覽

3.1 存儲(chǔ)

TDSQL 全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)創(chuàng)新性地采用了一種混合存儲(chǔ)模式,來對(duì)時(shí)態(tài)數(shù)據(jù)進(jìn)行管理。系統(tǒng)將時(shí)態(tài)數(shù)據(jù)拆分為當(dāng)前數(shù)據(jù)和歷史數(shù)據(jù),針對(duì)不同的數(shù)據(jù)類型,分別采用不同的存儲(chǔ)策略。當(dāng)前數(shù)據(jù)管理模塊,采用了基于 MVCC(多版本并發(fā)訪問控制協(xié)議)設(shè)計(jì)的數(shù)據(jù)庫所普遍采用的段頁式結(jié)構(gòu),并且專門開辟回滾段,來對(duì)更新或刪除操作產(chǎn)生的舊版本進(jìn)行暫存。在回滾段中暫存的數(shù)據(jù)會(huì)在數(shù)據(jù)庫進(jìn)行資源回收操作(如 MySQL 中的 Purge 和 PostgreSQL 中的 VACUUM 等)時(shí),遷移到歷史數(shù)據(jù)管理模塊,這個(gè)過程被稱為數(shù)據(jù)轉(zhuǎn)儲(chǔ)。這是一種異步的轉(zhuǎn)儲(chǔ)策略,因而幾乎不會(huì)造成性能損耗。歷史數(shù)據(jù)存儲(chǔ)模塊,通過 k-v 格式來進(jìn)行組織,可以大幅度縮小存儲(chǔ)開銷。由于一個(gè)數(shù)據(jù)項(xiàng)會(huì)存在多個(gè)歷史版本,而這些歷史版本會(huì)在某些屬性上存在一樣的值,例如表一中的 James 被重復(fù)四次。因此,在歷史數(shù)據(jù)存儲(chǔ)模塊中,系統(tǒng)將每一個(gè)版本轉(zhuǎn)化為一條 k-v,并且只存儲(chǔ)相較于上一個(gè)版本發(fā)生變化的屬性值。

3.2 查詢與事務(wù)處理

系統(tǒng)對(duì)時(shí)態(tài)查詢處理邏輯進(jìn)行了針對(duì)性設(shè)計(jì)與優(yōu)化。通過專門的時(shí)態(tài)查詢編譯器,部分時(shí)態(tài)查詢條件(如有效時(shí)間查詢)會(huì)被重寫并拼接到 WHERE 條件中。而對(duì)于事務(wù)時(shí)間查詢,系統(tǒng)將其查詢條件轉(zhuǎn)化為了內(nèi)嵌的可見性判斷過程,從而使得時(shí)態(tài)查詢所獲取的數(shù)據(jù)滿足事務(wù)一致性的要求,保證數(shù)據(jù)的準(zhǔn)確性,這點(diǎn)在金融場景下顯得尤為重要。

另外,通過持久維護(hù)事務(wù)狀態(tài),系統(tǒng)可以快速獲取到事務(wù)的執(zhí)行狀態(tài),結(jié)合時(shí)態(tài)數(shù)據(jù),即可原生支持事務(wù)級(jí)數(shù)據(jù)閃回等實(shí)用操作。對(duì)于歷史數(shù)據(jù),系統(tǒng)利用 k-v 存儲(chǔ)的特性,可以根據(jù)時(shí)間條件快速定位到所需數(shù)據(jù)版本,具備了較好的時(shí)態(tài)查詢性能,且在 SQL 語句的寫法上方便用戶直接使用 SQL 語句進(jìn)行查詢。

3.3 架構(gòu)設(shè)計(jì)

系統(tǒng)體現(xiàn)了 HTAC(Hybrid Transaction / Analytical Cluster,混合事務(wù) / 分析集群)這一新型的系統(tǒng)架構(gòu)設(shè)計(jì)理念,如圖 3。

TDSQL 全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)分為 OLTP 集群和 OLAP 集群,OLTP 集群負(fù)責(zé)事務(wù)型業(yè)務(wù),OLAP 系統(tǒng)處理分析型業(yè)務(wù),提供歷史數(shù)據(jù)的查詢分析等功能。通過統(tǒng)一路由模塊根據(jù)查詢語句、查詢操作的語義將 SQL 發(fā)送到對(duì)應(yīng)集群進(jìn)行處理。由于時(shí)態(tài)數(shù)據(jù)查詢等負(fù)載需要占用大量系統(tǒng)資源,這種拆分的系統(tǒng)設(shè)計(jì)可以盡量影響減小生產(chǎn)系統(tǒng)受到的性能影響。其次,歷史數(shù)據(jù)量級(jí)較大,OLAP 集群通過擴(kuò)展存儲(chǔ)的方式,即可實(shí)現(xiàn)歷史數(shù)據(jù)的無限存儲(chǔ)。

 

 

圖 3 T-TDSQL 全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)架構(gòu)圖

四 論文貢獻(xiàn)

論文提出了一種拓展的時(shí)態(tài)數(shù)據(jù)模型。 除了在 SQL:2011 中定義的有效 / 事務(wù)時(shí)間屬性外,本模型通過新引入的事務(wù) ID 屬性描述時(shí)間。 MIN_ID 與創(chuàng)建記錄的事務(wù)相對(duì)應(yīng),MAX_ID 對(duì)應(yīng)于刪除 / 更新記錄的事務(wù)。 事務(wù) ID 能夠識(shí)別在同一事務(wù)中插入 / 更新 / 刪除的所有記錄,從而實(shí)現(xiàn)由于業(yè)務(wù)邏輯破壞數(shù)據(jù)的修復(fù)。

論文提出了一種內(nèi)建的時(shí)態(tài)數(shù)據(jù)庫解決方案,并針對(duì) TDSQL 進(jìn)行了大量優(yōu)化,最終實(shí)現(xiàn)了 TDSQL 全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)。同時(shí),該解決方案具有很強(qiáng)的通用性,可以方便的引入到其他數(shù)據(jù)庫系統(tǒng)中。通過引入異步數(shù)據(jù)遷移、增量歷史數(shù)據(jù)管理、原生時(shí)態(tài)查詢執(zhí)行器等策略,該解決方案具有輕量且高效的特點(diǎn)。

通過在真實(shí)場景和 TPC 基準(zhǔn)負(fù)載下的大量實(shí)驗(yàn),TDSQL 全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)具有非常小的性能損失(相較于原始 TDSQL 系統(tǒng)),并且能夠快速響應(yīng)時(shí)態(tài)查詢,與其他現(xiàn)有的時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)相比具有較好的性能。

五 系統(tǒng)測試

通過 TPCC 測試基準(zhǔn),論文展示了時(shí)態(tài)數(shù)據(jù)管理對(duì)原有系統(tǒng)性能的影響情況。如圖 3 所示,在 256、512、1024 個(gè)數(shù)據(jù)倉庫的場景下,基于 TDSQL 實(shí)現(xiàn)的全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)的系統(tǒng)性能相較于原始 TDSQL 下降率不到 10%,領(lǐng)先于其他基于傳統(tǒng)關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)的時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)。

 

 

圖 4 TPCC 測試結(jié)果

另外,基于真實(shí)的批處理業(yè)務(wù)場景,論文展示了系統(tǒng)在實(shí)際業(yè)務(wù)場景下的表現(xiàn)。如圖 4 所示,通過連續(xù) 30 天對(duì)比原始系統(tǒng)和新型全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)(T-TDSQL)在處理該業(yè)務(wù)時(shí)所需的執(zhí)行時(shí)間,實(shí)驗(yàn)結(jié)果展示騰訊全時(shí)態(tài)數(shù)據(jù)庫系統(tǒng)在簡化業(yè)務(wù)應(yīng)用開發(fā)的同時(shí),可以縮短近一半的業(yè)務(wù)執(zhí)行時(shí)間。

 

 

圖 5 實(shí)際業(yè)務(wù)場景測試

對(duì)于該論文,VLDB 評(píng)審委員會(huì)做出如下點(diǎn)評(píng):

This paper extends the TDSQL system from Tencent for temporal data management. A new temporal data model is proposed with optimized implementation. Extensive experimental study has been conducted to compare the performance with existing temporal database systems over benchmarks and real data.

六 TDSQL 全時(shí)態(tài)數(shù)據(jù)庫的價(jià)值和意義

TDSQL 全時(shí)態(tài)數(shù)據(jù)庫核心價(jià)值觀是“歷史數(shù)據(jù)富有價(jià)值”,核心理念是“為數(shù)據(jù)賦能”,因而系統(tǒng)提供了如下特性:

♦ 全時(shí)態(tài)數(shù)據(jù)模型。數(shù)據(jù)庫系統(tǒng)通過統(tǒng)一的數(shù)據(jù)模型管理數(shù)據(jù)的生命周期,即數(shù)據(jù)的誕生、修改、消亡的全過程、過程中的狀態(tài)變遷操作等。

♦ 全時(shí)態(tài)數(shù)據(jù)存儲(chǔ)。全時(shí)態(tài)數(shù)據(jù)存儲(chǔ)保證了所有狀態(tài)數(shù)據(jù)的永久保存。解決了現(xiàn)有的數(shù)據(jù)庫系統(tǒng),大部分只能保存當(dāng)前數(shù)據(jù),而舊版本數(shù)據(jù)被丟棄的問題。

♦ 全時(shí)態(tài)數(shù)據(jù)查詢。提供了對(duì)時(shí)態(tài)數(shù)據(jù)的快速查詢能力,由于歷史數(shù)據(jù)的數(shù)據(jù)量級(jí)巨大,在海量歷史數(shù)據(jù)上的查詢能力非常重要。

♦ 全時(shí)態(tài)數(shù)據(jù)計(jì)算。數(shù)據(jù)都是具有價(jià)值的,因此需要具備在海量時(shí)態(tài)數(shù)據(jù)上的分析計(jì)算能力。

TDSQL 全時(shí)態(tài)數(shù)據(jù)庫的意義主要體現(xiàn)在功能和成本兩個(gè)方面。從功能角度看,TDSQL 全時(shí)態(tài)數(shù)據(jù)庫(用 T-TDSQL 表示)可以支持如下功能特性:

♦ 精確的歷史數(shù)據(jù)讀取?梢圆樵兊綄(duì)于歷史上任意一個(gè)時(shí)間段內(nèi)的數(shù)據(jù)變化情況,如新插入的數(shù)據(jù)、連續(xù)被更新的數(shù)據(jù)、以及被刪除的數(shù)據(jù)。因此可以追蹤數(shù)據(jù)的歷史軌跡,并能方便的在增量數(shù)據(jù)的基礎(chǔ)上進(jìn)行多表連接的增量計(jì)算。

♦ 數(shù)據(jù)庫中存儲(chǔ)有數(shù)據(jù)的歷史狀態(tài)信息,數(shù)據(jù)的安全性得到保證。防止篡改數(shù)據(jù)、數(shù)據(jù)誤刪除的恢復(fù)、賬戶變化軌跡追蹤、回溯歷史時(shí)空里的“過去的”數(shù)據(jù)等功能,在 T-TDSQL 中成為現(xiàn)實(shí)。

♦ T-TDSQL 管理海量時(shí)態(tài)數(shù)據(jù),因而流水日志不再重要。基于索引檢索歷史態(tài)數(shù)據(jù)時(shí)如同基于索引檢索當(dāng)前數(shù)據(jù)一樣的方便快捷且消耗最少量的計(jì)算資源,這對(duì)于審計(jì)、安全、檔案等部門有幫助。另外,HTAC 系統(tǒng)架構(gòu)提供不受限于單機(jī)系統(tǒng)的存儲(chǔ)能力,可以通過分布式網(wǎng)絡(luò)文件系統(tǒng)來支持單機(jī)無限數(shù)據(jù)量的存儲(chǔ)。

♦ T-TDSQL 還可以參與到數(shù)據(jù)關(guān)聯(lián)分析的環(huán)節(jié)中,為數(shù)據(jù)賦予了事務(wù)時(shí)態(tài)、與用戶的關(guān)聯(lián)關(guān)系等,甚至還可以創(chuàng)造數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系以實(shí)現(xiàn)“數(shù)據(jù)血統(tǒng)”的產(chǎn)生等。

♦ 全時(shí)態(tài)數(shù)據(jù)為數(shù)據(jù)安全、數(shù)據(jù)重演、數(shù)據(jù)挖掘和 AI 技術(shù)的施展提供了物理基礎(chǔ)。

致謝

本項(xiàng)目在騰訊 TEG 計(jì)費(fèi)平臺(tái)部立項(xiàng),研究內(nèi)容和實(shí)現(xiàn)過程得到中國人民大學(xué)數(shù)據(jù)工程和知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室和騰訊公司的參與和支持,特別向項(xiàng)目參與人、支持者表示感謝。

標(biāo)簽: 全時(shí)態(tài)數(shù)據(jù) 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:美國十大熱門數(shù)據(jù)科學(xué)Data Science全面解析卷

下一篇:Python 中的多進(jìn)程與線程 每個(gè)數(shù)據(jù)科學(xué)家都需要知道