日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

论亚马逊QLDB与腾讯TDSQL对历史数据的管理和计算

發(fā)布時(shí)間:2024/2/28 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论亚马逊QLDB与腾讯TDSQL对历史数据的管理和计算 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.




AWS re: Invent 2018上,AWS CEO Andy Jassy發(fā)布了QLDB - Quantum Ledger Database(量子賬本數(shù)據(jù)庫)[1]。引用Amazon關(guān)于QLDB的FAQ[2],QLDB是一款特型數(shù)據(jù)庫,它能夠提供應(yīng)用數(shù)據(jù)全部的歷史變遷。

QLDB與我們之前提出的TDSQL全時(shí)態(tài)數(shù)據(jù)庫有些相似,本文分析比較QLDB和TDSQL全時(shí)態(tài)數(shù)據(jù)庫的異同。


一、 生產(chǎn)背景


1.1 QLDB產(chǎn)生背景

Andy Jassy提到,QLDB其實(shí)已經(jīng)在AWS中穩(wěn)定運(yùn)行了幾年,為EC2、S3等一批大規(guī)模服務(wù)提供支持,QLDB將所有的數(shù)據(jù)變化記錄下來,以簡化操作、計(jì)費(fèi)等。


據(jù)Andy Jassy說,經(jīng)過與數(shù)百位區(qū)塊鏈用戶溝通,AWS發(fā)現(xiàn)用戶最迫切的需求有二:中心化可信賬本(ledgers with centralized trust)和去中心化可信事務(wù)(transactions with de-centralized trust,本文不討論)。


供應(yīng)鏈跟蹤、醫(yī)保記錄、機(jī)動車管理、個(gè)人履歷等應(yīng)用有追溯數(shù)據(jù)變化的需求,用于記錄這些數(shù)據(jù)變化的稱為賬本(ledgers),賬本需要可靠、透明、不可更改、加密認(rèn)證,QLDB即扮演中心化可信賬本的角色。


可見,此次AWS對外發(fā)布QLDB,是要將其作為進(jìn)軍區(qū)塊鏈的一大利器(另一為Amazon Managed Blockchain[3],本文不討論)。

?

1.2 TDSQL全時(shí)態(tài)數(shù)據(jù)庫的產(chǎn)生背景

TDSQL全時(shí)態(tài)數(shù)據(jù)庫產(chǎn)生于騰訊計(jì)費(fèi)業(yè)務(wù)。據(jù)統(tǒng)計(jì),騰訊計(jì)費(fèi)平臺部每天需要對363億獨(dú)立賬戶準(zhǔn)確無誤地處理,在線交易要求極高的可靠性和準(zhǔn)確性,因此,交易監(jiān)控功能至關(guān)重要。


交易監(jiān)控包括對賬、審計(jì)、風(fēng)控等手段,以對賬為例,通過比對一段時(shí)間內(nèi)的賬戶數(shù)據(jù)變化和流水?dāng)?shù)據(jù)來定位異常交易。


受限于傳統(tǒng)關(guān)系型數(shù)據(jù)模型和現(xiàn)有數(shù)據(jù)庫產(chǎn)品的實(shí)現(xiàn),交易監(jiān)控?zé)o法做到實(shí)時(shí)和精確。再以對賬為例,業(yè)界通用做法是:賬戶表按日分表,業(yè)務(wù)低谷時(shí)在當(dāng)天賬戶表、前天賬戶表、流水表上做計(jì)算。此方法的問題在于只能在“天”的粒度上對賬,定位具體的問題交易還要借助其他手段。要細(xì)化對賬粒度,精確到異常交易,就需要記錄每一筆交易導(dǎo)致的數(shù)據(jù)變化。


另外,銀監(jiān)會規(guī)定金融行業(yè)的重要數(shù)據(jù)須保存規(guī)定年限[4],深圳市互聯(lián)網(wǎng)金融協(xié)會要求賬戶信息、資金流水、交易數(shù)據(jù)等須保存超過15年[5]


出于以上需求和規(guī)定,我們設(shè)計(jì)了TDSQL全時(shí)態(tài)數(shù)據(jù)庫,以管理歷史(后續(xù)在全時(shí)態(tài)模型下稱為歷史態(tài)數(shù)據(jù))數(shù)據(jù),包括了歷史數(shù)據(jù)的存儲、計(jì)算。

?

1.3 小結(jié)

QLDB和TDSQL全時(shí)態(tài)數(shù)據(jù)庫都誕生于業(yè)務(wù)、服務(wù)于業(yè)務(wù):QLDB源于AWS EC2,S3等的內(nèi)部支持,可作為區(qū)塊鏈中心化賬本。


TDSQL全時(shí)態(tài)數(shù)據(jù)庫源于互聯(lián)網(wǎng)在線交易監(jiān)控,初衷是提供更精細(xì)的監(jiān)控粒度,但應(yīng)用場景不限于金融、計(jì)費(fèi)、交易,任何有追溯過往需求的場景均適用。


但是,二者共同之處,在于提供歷史數(shù)據(jù)的生命周期的管理。這表明,騰訊和Amazon都認(rèn)識到了歷史數(shù)據(jù)的價(jià)值,并在生產(chǎn)實(shí)踐中加以管理和使用。

?

2.數(shù)據(jù)模型


2.1 QLDB數(shù)據(jù)模型

2.1.1 QLDB的“賬本”



圖2-1(引用自ref[6])展示了QLDB“賬本”的設(shè)計(jì)理念,由Current、History和Journal組成:


1.Current:用戶的當(dāng)前數(shù)據(jù),比如,當(dāng)前銀行賬戶的狀態(tài);


2.History:用戶數(shù)據(jù)的歷史版本,比如,歷史上的銀行賬戶的狀態(tài);


3.Journal:只可追加、無法修改的日志,存儲序列化的、可密碼驗(yàn)證的數(shù)據(jù)變化,比如,銀行賬戶的交易記錄。

?

2.1.2 QLDB文檔數(shù)據(jù)模型

QLDB以文檔數(shù)據(jù)模型維護(hù)當(dāng)前和歷史的應(yīng)用數(shù)據(jù),圖2-2(引用自ref[6])是一例,可以看到,QLDB支持嵌套的數(shù)據(jù)類型,與傳統(tǒng)關(guān)系數(shù)據(jù)模型相比,能夠集中完善地存儲、表現(xiàn)數(shù)據(jù)。


Journal中日志由兩部分組成:本次數(shù)據(jù)增量,SHA-256哈希值H(T)。


以圖2-3(引用自ref[6])為例,可以看到,數(shù)據(jù)增量包括應(yīng)用數(shù)據(jù)的變更,以及操作類型、操作時(shí)間等元數(shù)據(jù)。

?

可以發(fā)現(xiàn),QLDB參考區(qū)塊鏈,保證所記錄的“賬目”是不可修改的:

1.圖2-3所示,插入操作的日志,其HASH值為數(shù)據(jù)增量的SHA-256的值;

2.更新或刪除操作的日志,如圖2-4所示,其HASH值由兩部分組成,一是本條日志的數(shù)據(jù)增量,二是上一條日志的HASH值,如此構(gòu)成一HASH鏈。


此HASH鏈維系了一個(gè)數(shù)據(jù)項(xiàng)的歷史操作和數(shù)據(jù)增量。一旦HASH鏈中某一條日志的數(shù)據(jù)被修改,那么該日志的HASH值會發(fā)生變化,之后的日志就無法連接到這條日志,這種機(jī)制保證了數(shù)據(jù)一旦寫入就無法篡改,做到了歷史發(fā)生不可修改。


于是QLDB的“賬目”是不可修改、加密認(rèn)證的。

?

此處,我們簡單對比QLDB和騰訊區(qū)塊鏈TBaaS[7]采用的Hyperledger[8]。與QLDB不同,Hyperledger是去中心化的區(qū)塊鏈賬本,每個(gè)參與者保存一個(gè)區(qū)塊鏈賬本的副本,所有參與者通過協(xié)作共同維護(hù)著賬本。

?

4.1 QLDB:How it works節(jié)介紹QLDB文檔數(shù)據(jù)模型如何工作。


2.2 TDSQL全時(shí)態(tài)數(shù)據(jù)模型

TDSQL全時(shí)態(tài)數(shù)據(jù)是具有全態(tài)特性和時(shí)態(tài)屬性的數(shù)據(jù)的統(tǒng)稱。

?

2.2.1 TDSQL數(shù)據(jù)全態(tài)

數(shù)據(jù)在其變遷過程中,處于不同狀態(tài),TDSQL提出將數(shù)據(jù)狀態(tài)劃分為3個(gè)階段:

?

1. 當(dāng)前態(tài)(Current State):數(shù)據(jù)項(xiàng)的最新版本,是處于當(dāng)前階段的數(shù)據(jù)。封鎖和MVCC機(jī)制下,能被讀取到的最新版本的數(shù)據(jù)為當(dāng)前態(tài)數(shù)據(jù)。

?

2. 歷史態(tài)(Historical State):數(shù)據(jù)在歷史上的一個(gè)狀態(tài),其值是舊值,而非當(dāng)前值。一個(gè)數(shù)據(jù)項(xiàng)可以有多個(gè)歷史態(tài),反映數(shù)據(jù)狀態(tài)的變遷過程。處于歷史態(tài)的數(shù)據(jù),只能被讀取而不能再被修改或刪除。


封鎖機(jī)制下,更新操作發(fā)生后,原更新前的數(shù)據(jù)版本處于歷史態(tài)。MVCC機(jī)制下,當(dāng)前活躍事務(wù)列表中最小的事務(wù)之前的事務(wù)產(chǎn)生的版本處于歷史態(tài)。

?

3. 過渡態(tài)(Transitional State):既非數(shù)據(jù)項(xiàng)最新版本,亦非歷史態(tài)版本,處于從當(dāng)前態(tài)向歷史態(tài)轉(zhuǎn)變的中間狀態(tài)。基于封鎖實(shí)現(xiàn)并發(fā)控制的系統(tǒng)中不存在過渡態(tài)。


MVCC機(jī)制下,被讀取的版本上有最新的相關(guān)事務(wù)使用,因最新的事務(wù)修改了數(shù)據(jù)項(xiàng)的值,其最新值處于當(dāng)前態(tài),那么被讀取到的版本相對于最新值成為歷史。


而讀取此版本的事務(wù)還是活躍的,此版本還不處于歷史態(tài)。

這樣一種,從當(dāng)前態(tài)向歷史態(tài)過渡的數(shù)據(jù),稱為過渡態(tài)數(shù)據(jù)。

數(shù)據(jù)的當(dāng)前態(tài)、歷史態(tài)、過渡態(tài),合稱為數(shù)據(jù)的全態(tài)。


可以看到,QLDB有歷史數(shù)據(jù),但沒有把數(shù)據(jù)的生命周期加以統(tǒng)一模型化管理。

?

2.2.2 TDSQL數(shù)據(jù)時(shí)態(tài)

時(shí)態(tài),即時(shí)態(tài)數(shù)據(jù)庫概念中的時(shí)態(tài)。

依據(jù)時(shí)態(tài)數(shù)據(jù)庫理論,參考SQL:2011時(shí)態(tài)相關(guān)準(zhǔn)則,TDSQL提供有效時(shí)間和事務(wù)時(shí)間的支持。


有效時(shí)間用來表示,數(shù)據(jù)所表達(dá)的事實(shí)在現(xiàn)實(shí)世界真實(shí)有效的這段時(shí)間。比如,小明在2000-9-1到2003-7-30上中學(xué),那么“小明上中學(xué)”這個(gè)事實(shí)的有效時(shí)間為2000-9-1到2003-7-30。有效時(shí)間可用于保險(xiǎn)在保、食品保質(zhì)期等事實(shí)。


事務(wù)時(shí)間用來表示,數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)中發(fā)生變化的時(shí)間。比如,“小明在2000-9-1到2003-7-30上中學(xué)”這條數(shù)據(jù)在2003-9-1寫入學(xué)籍管理系統(tǒng),2003-9-1是此數(shù)據(jù)入庫時(shí)間。事務(wù)時(shí)間維系了數(shù)據(jù)生命周期的時(shí)間線。


相比下,QLDB并沒有提供時(shí)態(tài)支持。

可參考ref[9]了解更多TDSQL時(shí)態(tài)內(nèi)容。

?

2.2.3 TDSQL全時(shí)態(tài)

數(shù)據(jù)全態(tài)和數(shù)據(jù)時(shí)態(tài)合稱為TDSQL全時(shí)態(tài),全時(shí)態(tài)刻畫了數(shù)據(jù)完全的生命周期。TDSQL在全時(shí)態(tài)概念的基礎(chǔ)上,進(jìn)一步提出了全時(shí)態(tài)數(shù)據(jù)模型的概念,有基礎(chǔ)的全時(shí)態(tài)(全態(tài)+雙時(shí)態(tài))數(shù)據(jù)結(jié)構(gòu),更有基于全時(shí)態(tài)的豐富的語義操作。在這一點(diǎn)上,還沒有看到QLDB有更多的信息展示。


另外,數(shù)據(jù)在變遷過程中所經(jīng)歷的操作、操作者、操作發(fā)生時(shí)間等元信息都被維系下來,我們將此稱為數(shù)據(jù)血統(tǒng)。在TDSQL中,數(shù)據(jù)每一個(gè)版本、每一次操作都由血統(tǒng)維護(hù)起來,如此形成更完整的生命周期,此生命周期可以如此表述,即TDSQL能夠幫助用戶了解到:什么人在什么時(shí)間做了什么事情,數(shù)據(jù)項(xiàng)數(shù)據(jù)變遷的事件是什么。

?

2.3 小結(jié)

QLDB和TDSQL全時(shí)態(tài)數(shù)據(jù)庫的共同點(diǎn)是,二者都對數(shù)據(jù)狀態(tài)做出區(qū)分,QLDB把數(shù)據(jù)分為當(dāng)前和歷史兩個(gè)狀態(tài),TDSQL提出全態(tài)的概念。


QLDB采用文檔數(shù)據(jù)模型,相比于傳統(tǒng)的關(guān)系數(shù)據(jù)模型,具有支持?jǐn)?shù)據(jù)類型更多、靈活性高的特點(diǎn),關(guān)系型數(shù)據(jù)庫應(yīng)用和非關(guān)系型數(shù)據(jù)庫應(yīng)用都可與之對接,代價(jià)是模型不同的數(shù)據(jù)庫系統(tǒng)間數(shù)據(jù)遷移的復(fù)雜性。


TDSQL全時(shí)態(tài)數(shù)據(jù)模型是基于關(guān)系數(shù)據(jù)模型的,并包含數(shù)據(jù)狀態(tài)和時(shí)態(tài)兩個(gè)概念,具備更豐富的計(jì)算能力。作為全時(shí)態(tài)數(shù)據(jù)模型的子集,大量現(xiàn)行的關(guān)系型數(shù)據(jù)庫應(yīng)用可以輕松遷移。完備的全時(shí)態(tài)數(shù)據(jù)模型使得TDSQL在處理歷史數(shù)據(jù)時(shí)更加富有優(yōu)勢。


3.架構(gòu)


3.1 QLDB之于Amazon數(shù)據(jù)庫生態(tài)

Andy Jassy展示了Amazon的database freedom,如圖3-1(引用自ref[1]),Amazon提供諸多數(shù)據(jù)解決方案,涵蓋關(guān)系型、K-V、內(nèi)存等存儲,并包含圖、時(shí)序、賬本等特型數(shù)據(jù)庫,QLDB即特型數(shù)據(jù)庫之一。

?


QLDB作為Amazon整個(gè)數(shù)據(jù)庫服務(wù)生態(tài)的一個(gè)成員,與RDS、DynamoDB、ElasticCache等產(chǎn)品彼此獨(dú)立但緊密合作,互相補(bǔ)充共同構(gòu)成database freedom。

QLDB如何與其他產(chǎn)品協(xié)作,還需等Amazon開放更多資料。

?

3.2 TDSQL全時(shí)態(tài)數(shù)據(jù)庫的HTAC架構(gòu)

圖3-2展示了TDSQL全時(shí)態(tài)數(shù)據(jù)庫的HTAC架構(gòu),HTAC基于master-slave架構(gòu),此架構(gòu)下全態(tài)數(shù)據(jù)管理方式為:

●?主節(jié)點(diǎn)Current存放當(dāng)前數(shù)據(jù),從節(jié)點(diǎn)History存放歷史數(shù)據(jù);

●?主節(jié)點(diǎn)的更新操作引發(fā):

? ?■?當(dāng)前數(shù)據(jù)的版本推進(jìn);

? ?■?數(shù)據(jù)的舊版本同步至從節(jié)點(diǎn),追加舊版本到歷史庫;

●?Proxy路由TP請求到主節(jié)點(diǎn),操作當(dāng)前數(shù)據(jù);路由AP請求到從節(jié)點(diǎn),執(zhí)行全態(tài)查詢。



Master-Slave是目前廣泛采用的高可用方案之一,HTAC架構(gòu)基于此,適用性廣泛。并且,在現(xiàn)有的數(shù)據(jù)庫服務(wù)中增加一備即可承載歷史,避免了重新設(shè)計(jì)部署數(shù)據(jù)庫服務(wù)。


主、備在物理上分別存放當(dāng)前、歷史數(shù)據(jù),保證數(shù)據(jù)安全。主節(jié)點(diǎn)數(shù)據(jù)出現(xiàn)問題時(shí),可以使用該從節(jié)點(diǎn)的數(shù)據(jù)快速恢復(fù)。另外,當(dāng)前和歷史數(shù)據(jù)物理上的隔離,導(dǎo)致TP和AP服務(wù)切割,因此可以針對AP業(yè)務(wù)針對優(yōu)化此從節(jié)點(diǎn)。


在主備間傳輸?shù)臍v史數(shù)據(jù),是原生數(shù)據(jù),而非日志。其優(yōu)勢在于,避免本地封裝數(shù)據(jù),節(jié)約計(jì)算開銷,盡可能降低對業(yè)務(wù)系統(tǒng)的影響;避免異地解析日志,同樣節(jié)約計(jì)算開銷,使得歷史數(shù)據(jù)快速落地存儲,實(shí)時(shí)性高。

?

3.3 小結(jié)

QLDB是Amazon數(shù)據(jù)庫生態(tài)中的一環(huán),作為RDS等“賬本”的存在,事務(wù)在RDS上執(zhí)行,在QLDB上“入賬”。


TDSQL全時(shí)態(tài)數(shù)據(jù)庫采用基于Master-Slave的HTAC架構(gòu),在需要追溯歷史的數(shù)據(jù)庫實(shí)例上增加一備,作為歷史數(shù)據(jù)的存儲即可,避免了額外的系統(tǒng)設(shè)計(jì)和部署,而且數(shù)據(jù)安全得到進(jìn)一步保障,快速恢復(fù)觸手可及。另外,節(jié)點(diǎn)間傳輸原生數(shù)據(jù)格式,具有對業(yè)務(wù)系統(tǒng)影響低、歷史數(shù)據(jù)落地快、實(shí)時(shí)性高的優(yōu)勢。


4.功能


4.1 QLDB:How it works

根據(jù)ref[2] FAQ,QLDB支持事務(wù)并滿足ACID,并且提供SQL-like的接口。以機(jī)動車管理系統(tǒng)為例,圖4-1(引用自ref[6])為QLDB的插入操作,用戶使用SQL-like風(fēng)格的語句,插入過程如下:


1)首先寫Journal,其數(shù)據(jù)為文檔數(shù)據(jù)格式,并計(jì)算其SHA-256哈希值也存放在日志中;


2)寫Journal完成,更新Current和History。(圖中以二維表的方式展現(xiàn)數(shù)據(jù),但QLDB采用文檔數(shù)據(jù)模型)

?

圖4-2(引用自ref[6])和圖4-3(引用自ref[6])分別為QLDB更新和刪除操作,類似的,用戶使用SQL-like語句,更新和刪除過程先追加寫Journal,隨后更新Current和History。本質(zhì)上,這種操作方式,就是“流水日志”,所以歷史數(shù)據(jù)被“Append”到歷史庫中。而TDSQL天然利用了MVCC中多版本技術(shù),歷史數(shù)據(jù)自然以原生格式沉淀在數(shù)據(jù)庫系統(tǒng)中,沒有封裝為流水記錄、沒有重新插入到歷史表中的過程,非常自然和流暢地解決了歷史數(shù)據(jù)存儲的問題。

更多語義、操作、使用方法等,待Amazon開放更多資料。

?

4.2 TDSQL全時(shí)態(tài)數(shù)據(jù)庫功能

我們將TDSQL全時(shí)態(tài)數(shù)據(jù)庫的操作稱為全時(shí)態(tài)操作,全時(shí)態(tài)操作是傳統(tǒng)關(guān)系操作的超集。除傳統(tǒng)關(guān)系操作外,全時(shí)態(tài)操作還提供時(shí)態(tài)操作和全態(tài)操作。


4.2.1 時(shí)態(tài)操作

TDSQL提供有效時(shí)間和事務(wù)時(shí)間兩種時(shí)態(tài)語義和操作。

?

有效時(shí)間操作:

1.有效時(shí)間點(diǎn)查詢、有效時(shí)間段查詢;

2.有效時(shí)間區(qū)間更新、有效時(shí)間區(qū)間刪除。

?

事務(wù)時(shí)間操作:

1.獲取某時(shí)間點(diǎn)可見的數(shù)據(jù);

2.獲取某時(shí)間段可見的數(shù)據(jù)集合;

3.獲取某事務(wù)操作的數(shù)據(jù)版本;

4.獲取事務(wù)狀態(tài)。

?ref[10]詳細(xì)介紹了時(shí)態(tài)操作的語法語義、內(nèi)部機(jī)制。

?

4.2.2 全態(tài)操作

根據(jù)作用域不同,全態(tài)操作劃分為:


1.當(dāng)前態(tài)數(shù)據(jù)讀取,作用域?yàn)楫?dāng)前態(tài)數(shù)據(jù),即傳統(tǒng)關(guān)系型數(shù)據(jù)庫操作的作用域;


2.歷史態(tài)數(shù)據(jù)讀取,作用域?yàn)闅v史態(tài)數(shù)據(jù),只獲取歷史數(shù)據(jù);


3.全態(tài)數(shù)據(jù)讀取,作用域?yàn)槿我鉅顟B(tài)數(shù)據(jù)。

?

在全態(tài)操作中,我們模糊過渡態(tài)這一概念。

在以MVCC作為并發(fā)控制機(jī)制的數(shù)據(jù)庫系統(tǒng)中,傳統(tǒng)數(shù)據(jù)讀取操作的作用域?yàn)楫?dāng)前態(tài)和過渡態(tài)。讀取到最新的數(shù)據(jù)版本即當(dāng)前態(tài),或如圖4-4 a例,讀已提交(或更高)隔離級別下,事務(wù)T1 read獲取數(shù)據(jù)為T2 write之前的值,即過渡態(tài)。


歷史態(tài)數(shù)據(jù)讀取中,獲取過去某時(shí)段的數(shù)據(jù),很可能取到過渡態(tài)數(shù)據(jù),如圖4-4 b。


因此,過渡態(tài)數(shù)據(jù)的讀取融于當(dāng)前態(tài)數(shù)據(jù)讀取和歷史態(tài)數(shù)據(jù)讀取中,根據(jù)不同查詢要求和數(shù)據(jù)的可見性決定過渡態(tài)數(shù)據(jù)查出與否。


?

4.3 小結(jié)

Amazon目前開放的資料顯示,QLDB支持ACID事務(wù),提供SQL-like接口。


TDSQL全時(shí)態(tài)數(shù)據(jù)庫的功能是完全適用關(guān)系型數(shù)據(jù)庫的SQL操作,沒有自定義一套新接口,方便了用戶的使用。


TDSQL還在時(shí)態(tài)維度上提供有效時(shí)間和事務(wù)時(shí)間操作,在狀態(tài)維度上提供全態(tài)數(shù)據(jù)獲取。


5.應(yīng)用場景


QLDB和TDSQL全時(shí)態(tài)數(shù)據(jù)庫都誕生于內(nèi)部計(jì)費(fèi)、交易系統(tǒng),都維系了數(shù)據(jù)的全生命周期,這樣看來,QLDB和TDSQL適用的場景應(yīng)該是相似的。


QLDB定位是區(qū)塊鏈中心化可信賬本,可見其發(fā)力點(diǎn)主要在區(qū)塊鏈應(yīng)用上,比如ref[6]提到的機(jī)動車管理、商品生產(chǎn)供應(yīng)線、職業(yè)生涯等。當(dāng)然,QLDB需要在Amazon的數(shù)據(jù)庫生態(tài)當(dāng)中發(fā)揮作用。


TDSQL全時(shí)態(tài)數(shù)據(jù)庫并非針對某一應(yīng)用方向所設(shè)計(jì),所以有全時(shí)態(tài)數(shù)據(jù)管理需求的應(yīng)用都可以使用,比如個(gè)人賬戶系統(tǒng)、服務(wù)器管理、職業(yè)生涯等。因?yàn)門DSQL全時(shí)態(tài)數(shù)據(jù)庫基于關(guān)系數(shù)據(jù)模型設(shè)計(jì),現(xiàn)有關(guān)系型數(shù)據(jù)庫應(yīng)用都可以方便使用。


6.總結(jié)


QLDB和TDSQL表現(xiàn)出Amazon和騰訊認(rèn)識到了歷史數(shù)據(jù)的價(jià)值,引用TDSQL全時(shí)態(tài)數(shù)據(jù)庫的核心價(jià)值觀--歷史數(shù)據(jù)富有價(jià)值,核心理念--為數(shù)據(jù)賦能[11]

?

下面以表格形式簡要總結(jié)QLDB和TDSQL全時(shí)態(tài)數(shù)據(jù)庫的異同。TDSQL和其他類似產(chǎn)品的對比,請參考ref[9]

?


Quantum Ledger Database

TDSQL全時(shí)態(tài)數(shù)據(jù)庫

產(chǎn)生背景

業(yè)務(wù)出發(fā)

1. AWS內(nèi)部服務(wù)

2. 區(qū)塊鏈中心化可信賬本

1. 在線交易監(jiān)控

2. 金融數(shù)據(jù)留存

數(shù)據(jù)模型

1.數(shù)據(jù)分為當(dāng)前和歷史

2.保留數(shù)據(jù)的全部歷史

1.數(shù)據(jù)分為當(dāng)前態(tài)、過渡態(tài)、歷史態(tài)

2.雙時(shí)態(tài)支持

文檔數(shù)據(jù)模型:

?

1.數(shù)據(jù)類型多,靈活性高

2.關(guān)系型/非關(guān)系型均可遷移

全時(shí)態(tài)數(shù)據(jù)模型:

1.維護(hù)數(shù)據(jù)血統(tǒng)和完全的生命周期

2.豐富的計(jì)算功能

3.關(guān)系型應(yīng)用輕松遷移

4.非關(guān)系型應(yīng)用遷移相對復(fù)雜

架構(gòu)

Amazon數(shù)據(jù)庫生態(tài)的“賬本”:

?

1.業(yè)務(wù)系統(tǒng)使用,需遷移到Amazon數(shù)據(jù)庫服務(wù)

2.業(yè)務(wù)系統(tǒng)使用,需接入新系統(tǒng)QLDB,并了解操作

HTAC主備架構(gòu):

1.現(xiàn)有數(shù)據(jù)庫服務(wù)的主備架構(gòu)增加一備即可,無新系統(tǒng)接入,遷移方便

2.當(dāng)前數(shù)據(jù)和歷史數(shù)據(jù)物理隔離,提高數(shù)據(jù)安全,用于快速回復(fù)

3.TP/AP服務(wù)隔離,針對優(yōu)化

4.傳輸原生數(shù)據(jù)格式,業(yè)務(wù)影響低,歷史數(shù)據(jù)落地快,實(shí)時(shí)性強(qiáng)

功能

1.SQL-like接口

2.事務(wù)ACID

1.遵循SQL標(biāo)準(zhǔn)

2.事務(wù)ACID、日志等傳統(tǒng)關(guān)系型數(shù)據(jù)庫功能

3.時(shí)態(tài)操作

4.全態(tài)操作

應(yīng)用場景

1.發(fā)力點(diǎn)在區(qū)塊鏈應(yīng)用

2.只在Amazon數(shù)據(jù)庫生態(tài)服務(wù)

1.任何有全態(tài)數(shù)據(jù)管理需求的應(yīng)用

2.關(guān)系型數(shù)據(jù)庫應(yīng)用輕松遷移


7.TDSQL關(guān)于歷史數(shù)據(jù)的思考


金融計(jì)費(fèi)領(lǐng)域中,出于數(shù)據(jù)安全、交易可靠、計(jì)費(fèi)精準(zhǔn)等原因,追溯歷史是必要的。在騰訊公司的計(jì)費(fèi)業(yè)務(wù)中,隨著業(yè)務(wù)不斷增長,帶有時(shí)態(tài)屬性的數(shù)據(jù)被管理的需求日益旺盛。這正是TDSQL全時(shí)態(tài)數(shù)據(jù)庫的萌芽,全面、方便地管理金融歷史數(shù)據(jù),以便基于歷史數(shù)據(jù)做大量的計(jì)算驗(yàn)證,進(jìn)而保證金融數(shù)據(jù)安全、交易可靠、計(jì)費(fèi)精準(zhǔn)。


歷史數(shù)據(jù)的意義不僅限于金融領(lǐng)域,在地籍管理、電子政務(wù)等應(yīng)用都可大顯身手。事實(shí)上,在數(shù)據(jù)量急速膨脹的今天,任何業(yè)務(wù)都存在歷史數(shù)據(jù)管理的需求,然而,現(xiàn)代的數(shù)據(jù)庫系統(tǒng)只保留數(shù)據(jù)的當(dāng)前值,因存儲成本等原因,歷史數(shù)據(jù)被丟棄。


數(shù)據(jù)作為重要的資產(chǎn),不論是當(dāng)前數(shù)據(jù),還是歷史上曾存在過的數(shù)據(jù),都具有重要價(jià)值。歷史數(shù)據(jù)的存儲、被分析、被挖掘、被反復(fù)使用,是當(dāng)前互聯(lián)網(wǎng)企業(yè)的需求,是金融行業(yè)的需求,也是數(shù)據(jù)管理未來的方向。


在歷史數(shù)據(jù)管理需求日益增長的趨勢下,TDSQL數(shù)據(jù)工作者提出核心價(jià)值觀:歷史數(shù)據(jù)富有價(jià)值,一切過往(數(shù)據(jù)的歷史和狀態(tài))兼可追溯,并以“為數(shù)據(jù)賦能”作為核心理念,為用戶提供更可靠、更完善、更精準(zhǔn)的數(shù)據(jù)服務(wù)。



References

1.?AWS re:Invent 2018 Keynote - Andy Jassy?

https://youtu.be/ZOIkOnW640A

2.?Amazon Quantum Ledger Database (QLDB)

https://aws.amazon.com/cn/qldb/

3.?Amazon Managed Blockchain?

https://aws.amazon.com/managed-blockchain/

4.?銀行業(yè)金融機(jī)構(gòu)信息系統(tǒng)風(fēng)險(xiǎn)管理指引

http://www.cbrc.gov.cn/upload/zwgk/ml3/2/5-2-32.doc

5.?深圳市互金協(xié)會對銀監(jiān)會存管指引的全面解讀

http://www.szifa.org.cn/enrollment_view.aspx?TypeId=121&Id=605

6.?Introduction to Amazon Quantum Ledger Database (QLDB)

https://youtu.be/7G9epn3BfqE

7.?騰訊區(qū)塊鏈服務(wù)TBaaS?

https://cloud.tencent.com/product/tbaas

8.?Hyperledger

https://www.hyperledger.org/

9.?TDSQL時(shí)態(tài)數(shù)據(jù)庫-理論與主流實(shí)現(xiàn)

http://blog.itpub.net/31544289/viewspace-2157766/

10.?TDSQL時(shí)態(tài)數(shù)據(jù)庫-功能實(shí)現(xiàn)

http://blog.itpub.net/31544289/viewspace-2157282/

11.?TDSQL時(shí)態(tài)數(shù)據(jù)庫-理念與愿景

http://blog.itpub.net/31540857/viewspace-2155687/


總結(jié)

以上是生活随笔為你收集整理的论亚马逊QLDB与腾讯TDSQL对历史数据的管理和计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。