如何基于Pulsar+Flink構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)

本篇文章給大家分享的是有關(guān)如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供青州企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為青州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

如需構(gòu)建實(shí)時(shí)數(shù)倉(cāng),對(duì)數(shù)據(jù)存儲(chǔ)層而言,還是存在一定難度這體現(xiàn)在云原生架構(gòu)的兼容性和數(shù)據(jù)存儲(chǔ)組織的復(fù)雜度。

如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)

 
如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)
 
1、Pulsar 是一個(gè)云原生的架構(gòu)。Pulsar 內(nèi)部分成兩層,上層是無(wú)狀態(tài) Broker,下層是持久化的存儲(chǔ)層 Bookie 集群,而且 Pulsar 存儲(chǔ)是分片的,這種構(gòu)架可以避免擴(kuò)容時(shí)受限制。
2、Pulsar 的分層存儲(chǔ)(tiered storage)無(wú)需用戶(hù)顯式遷移數(shù)據(jù),減少存儲(chǔ)成本并保持近似無(wú)限的存儲(chǔ)。
3、Pulsar 提供內(nèi)置 Schema,可以保持服務(wù)器端數(shù)據(jù)的一致性,也能直接接受和發(fā)送類(lèi)型數(shù)據(jù)。

如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)

如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)

實(shí)時(shí)數(shù)倉(cāng)的架構(gòu)

在元數(shù)據(jù)服務(wù)層面,翻譯層將 Pulsar 的元數(shù)據(jù)以數(shù)據(jù)庫(kù)語(yǔ)義表達(dá),同時(shí)提供對(duì) Pulsar 元數(shù)據(jù)的查詢(xún)和修改;而在基本映射層面,實(shí)現(xiàn) Tenant/namespace → Database、Topic → Table、Topic Schema → Table Schema 的映射狀態(tài)。
加上靈活的數(shù)據(jù)讀取模式,Segment Read、Stream Read 和 Sub-Stream Read,實(shí)現(xiàn)最終的數(shù)倉(cāng)構(gòu)建。
StreamNative 已經(jīng)開(kāi)源了基于 Flink 1.9.0 和 Pulsar 2.4.0 的 Pular Flink Connector,實(shí)現(xiàn)了 exactly-once 語(yǔ)義的 Source 和 at-least-once 語(yǔ)義的 Sink。
同時(shí),基于 Pulsar 的內(nèi)置 Schema 支持,提供了 Topic 內(nèi)消息的自動(dòng)序列化、反序列化。Pulsar Flink Connector 從本質(zhì)上也是在利用 Pulsar Client API 操作 Pulsar,一些 connector 實(shí)現(xiàn)的相關(guān)思考可能同時(shí)對(duì)大家使用 Pulsar 有所幫助。

? 持久化、可重放的數(shù)據(jù)源


如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)
 
流處理過(guò)程中出現(xiàn)一些故障是無(wú)法避免的,F(xiàn)link 借助 checkpoint 機(jī)制將 Task 從 故障中恢復(fù)。Pulsar broker 默認(rèn)會(huì)刪除所有被確認(rèn)的消息,但在流處理的執(zhí)行期,我們無(wú)法得知作業(yè)何時(shí)會(huì)出錯(cuò),因此不能在讀到消息后就直接確認(rèn)。
通過(guò)維護(hù)一個(gè)作業(yè)級(jí)的訂閱,F(xiàn)link Pulsar Connector 在收到 Flink checkpoint 的完成通知后確認(rèn)消息,同時(shí)避免消息被過(guò)早刪除。

結(jié)構(gòu)化數(shù)據(jù)存取

將 Pulsar topic 看作是一張有結(jié)構(gòu)的表,在任務(wù)調(diào)度期獲取表 Schema 定義。
Pulsar Flink Connector 支持 avro/json/protobuf 的消息轉(zhuǎn)換,同時(shí)將消息元數(shù)據(jù)轉(zhuǎn)化為表的內(nèi)部列。

Topic 和 Partition 發(fā)現(xiàn)


如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)
 
流處理作業(yè)是長(zhǎng)時(shí)間運(yùn)行的 ,在作業(yè)執(zhí)行期間,topic 可能被添加或刪除。因此,我們利用一個(gè)額外的監(jiān)控線(xiàn)程階段性檢查 topic 的增加或刪除,并為新增 topic 啟動(dòng)新的消費(fèi)線(xiàn)程。

以上就是如何基于 Pulsar + Flink 構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:如何基于Pulsar+Flink構(gòu)建下一代實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)
文章鏈接:http://bm7419.com/article14/jjspge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站營(yíng)銷(xiāo)、自適應(yīng)網(wǎng)站微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司