国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐

這篇具有很好參考價值的文章主要介紹了查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文導(dǎo)讀:

在長期服務(wù)廣大規(guī)模商戶的過程中,銀聯(lián)商務(wù)已沉淀了龐大、真實、優(yōu)質(zhì)的數(shù)據(jù)資產(chǎn)數(shù)據(jù),這些數(shù)據(jù)不僅是銀聯(lián)商務(wù)開啟新增長曲線的基礎(chǔ),更是進一步服務(wù)好商戶的關(guān)鍵支撐。為更好提供數(shù)據(jù)服務(wù),銀聯(lián)商務(wù)實現(xiàn)了從 Hadoop 到 Apache Doris 的架構(gòu)升級,使數(shù)據(jù)導(dǎo)入性能提升 2-5 倍、ETL 場景性能提升 3-12 倍、查詢分析響應(yīng)速度提升 10-15 倍,滿足大規(guī)模數(shù)據(jù)導(dǎo)入和實時極速查詢的業(yè)務(wù)需求,解決了業(yè)務(wù)和數(shù)據(jù)快速增長問題,提升了數(shù)據(jù)應(yīng)用構(gòu)建的效率,充分助力業(yè)務(wù)提效與數(shù)字資產(chǎn)的服務(wù)化,推進數(shù)字化進程的落地,展示了 Apache Doris 在推動金融科技創(chuàng)新方面的巨大潛力。

作者:銀聯(lián)商務(wù) 楊勁雄、周陽


如今,數(shù)據(jù)已經(jīng)成為了推動經(jīng)濟增長的新動力,數(shù)字技術(shù)正在成為社會發(fā)展的重要引擎。隨著數(shù)字經(jīng)濟的迅猛發(fā)展,金融企業(yè)紛紛加大在金融科技領(lǐng)域的投入,以提升自身的數(shù)字化運營能力,加速數(shù)字化轉(zhuǎn)型的進程。在這一背景之下,銀聯(lián)商務(wù)以 “全量打通、準(zhǔn)確實時、隨需自助、智能交互” 為數(shù)字化轉(zhuǎn)型目標(biāo),加快推進數(shù)字基礎(chǔ)設(shè)施建設(shè)。

在長期服務(wù)廣大規(guī)模商戶的過程中,銀聯(lián)商務(wù)已沉淀了龐大、真實、優(yōu)質(zhì)的數(shù)據(jù)資產(chǎn)數(shù)據(jù),這些數(shù)據(jù)不僅是銀聯(lián)商務(wù)開啟新增長曲線的基礎(chǔ),更是進一步服務(wù)好商戶的關(guān)鍵支撐。為了實現(xiàn)數(shù)據(jù)資產(chǎn)可管理、可視化、可賦能的建設(shè)目標(biāo),銀聯(lián)商務(wù)早在 2015 年就基于 Hadoop 體系構(gòu)建了大數(shù)據(jù)平臺,為公司及商戶提供了數(shù)據(jù)支持。但隨著業(yè)務(wù)的不斷擴展,銀聯(lián)商務(wù)總公司各部門和分子公司對于數(shù)據(jù)應(yīng)用的建設(shè)需求不斷涌現(xiàn),早期基于 Hadoop 的大數(shù)據(jù)平臺已無法高效支撐拓展性、時效性與便捷性的業(yè)務(wù)需求,因此數(shù)據(jù)平臺的迭代升級勢在必行。

2020 年起,銀聯(lián)商務(wù)開啟了數(shù)據(jù)平臺的升級之旅,基于 Apache Doris 構(gòu)建了新一代實時數(shù)據(jù)倉庫架構(gòu),使數(shù)據(jù)導(dǎo)入性能提升 2-5 倍、ETL 場景性能提升 3-12 倍、查詢分析響應(yīng)速度提升 10-15 倍,滿足大規(guī)模數(shù)據(jù)導(dǎo)入和實時極速查詢的業(yè)務(wù)需求,解決了業(yè)務(wù)和數(shù)據(jù)快速增長問題,提升了數(shù)據(jù)應(yīng)用構(gòu)建的效率,充分助力業(yè)務(wù)提效與數(shù)字資產(chǎn)的服務(wù)化,推進數(shù)字化進程的落地。

應(yīng)用場景

在長期為各行各業(yè)的海量商戶提供服務(wù)的過程中,銀聯(lián)商務(wù)沉淀了大量的交易數(shù)據(jù)、用戶數(shù)據(jù)、終端數(shù)據(jù)以及經(jīng)營數(shù)據(jù)等。通過對這些數(shù)據(jù)的挖掘和利用,為銀聯(lián)商務(wù)總、分、子公司以及商戶提供多元化的數(shù)據(jù)服務(wù),可以發(fā)掘隱藏在其中的價值和消費趨勢,成為掌握經(jīng)營掌控、進行經(jīng)營決策的有效工具。典型數(shù)據(jù)服務(wù)場景包括:

  • 經(jīng)營分析場景:建設(shè)指標(biāo)體系和駕駛艙,幫助業(yè)務(wù)方及管理者實時了解整體業(yè)務(wù)經(jīng)營狀態(tài)。
  • 業(yè)務(wù)運營場景:建設(shè)標(biāo)簽體系,更好理解用戶畫像及需求,從而提供精準(zhǔn)的產(chǎn)品和業(yè)務(wù)服務(wù)。
  • 數(shù)據(jù)分析和挖掘場景:構(gòu)建自助分析和報表服務(wù),更好地了解自己的業(yè)務(wù)情況并做出科學(xué)決策。
  • 對外數(shù)據(jù)服務(wù)場景:構(gòu)建對賬單、報表和數(shù)據(jù)報告服務(wù),以幫助商戶更好地了解市場需求。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

為滿足上述場景需求,銀聯(lián)商務(wù)早在 2015 年就引入了 Hadoop 體系構(gòu)建了大數(shù)據(jù)平臺,并基于 Hive 構(gòu)建了離線數(shù)倉。該架構(gòu)整合了來自 MySQL、Oracle、MongoDB 等多業(yè)務(wù)系統(tǒng)的數(shù)據(jù),按照 T+ 1 的時效性歸集到 Hive 離線數(shù)倉中,經(jīng)由 Hive 數(shù)倉各層的加工處理后分別同步至不同組件中提供數(shù)據(jù)查詢服務(wù),包括基于 Kylin 與 HBase 構(gòu)建 Cube 進行指標(biāo)查詢分析,并使用 HBase 進行增量數(shù)據(jù)的質(zhì)量監(jiān)測,同時還將處理完畢的數(shù)據(jù)同步到 Oracle 中提供業(yè)務(wù)數(shù)據(jù)查詢。

該架構(gòu)各組件各司其職、整體架構(gòu)清晰,在早期承載了業(yè)務(wù)對于數(shù)據(jù)查詢服務(wù)的需求。在移動支付快速席卷的浪潮下,支付場景更加多元化,銀聯(lián)商務(wù)業(yè)務(wù)規(guī)模穩(wěn)步增長、總部及分子公司對于數(shù)據(jù)應(yīng)用的建設(shè)需求不斷涌現(xiàn),而傳統(tǒng)的大數(shù)據(jù)平臺已經(jīng)無法高效支撐業(yè)務(wù)和數(shù)據(jù)的不斷增長,痛點逐步展現(xiàn)出來:

  • 數(shù)據(jù)時效性:整體數(shù)據(jù)處理鏈路較長,大規(guī)模數(shù)據(jù)導(dǎo)入和加工處理的效率低,最新業(yè)務(wù)數(shù)據(jù)從生產(chǎn)到應(yīng)用的時間間隔太長,無法充分發(fā)揮實時數(shù)據(jù)的價值;
  • 查詢效率低:Kylin 早期承擔(dān)了大多指標(biāo)查詢分析的需求,隨著業(yè)務(wù)量增長、數(shù)據(jù)預(yù)處理的成本越來越高、無法支持靈活快速的分析訴求,而 Hive 在應(yīng)對復(fù)雜查詢時性能不足、只能依賴于堆加機器,這無疑大大增加了硬件資源成本;
  • 運維成本和可擴展性:整體架構(gòu)涉及多個組件,運維工作量較大,在應(yīng)對業(yè)務(wù)需求增長的過程中可擴展性不足,無法敏捷響應(yīng)數(shù)據(jù)的快速增長和數(shù)據(jù)應(yīng)用快速上線的要求。

目標(biāo)及選型

面向各行各業(yè)的數(shù)千萬商戶、行業(yè)特點和實際需求各不相同,在對企業(yè)內(nèi)部眾多平臺系統(tǒng)以及對客戶提供的產(chǎn)品進行全面梳理后,銀聯(lián)商務(wù)確定了數(shù)字化轉(zhuǎn)型要實現(xiàn)的核心目標(biāo)——“全量打通、準(zhǔn)確實時、隨需自助、智能交互”。

具體而言,“全量打通”即各平臺間充分互通、數(shù)據(jù)融合共享,便于更全面掌握數(shù)據(jù)主題的全方位信息、充分發(fā)揮數(shù)據(jù)的協(xié)同效應(yīng);“準(zhǔn)確實時”即充分發(fā)揮數(shù)據(jù)的實時價值,并根據(jù)技術(shù)手段保證數(shù)據(jù)又“快”又“準(zhǔn)”,為后續(xù)分析打好堅實基礎(chǔ);“隨需自取”即提供自助式的服務(wù),靈活組合、按需取用,甚至實現(xiàn)量身定制、因客而變;“智能交互”即充分利用技術(shù)手段,從被動式的接受服務(wù),變成主動式的能力輸出,提供分析、預(yù)測、輔助決策等智能服務(wù),響應(yīng)用戶需求、實現(xiàn)雙向交互。

而具體到數(shù)據(jù)服務(wù)層面,在為內(nèi)外部客戶提供數(shù)據(jù)服務(wù)的過程中,銀聯(lián)商務(wù)注意到用戶對數(shù)據(jù)分析的性能、分析模式的靈活性、數(shù)據(jù)服務(wù)的穩(wěn)定性以及數(shù)據(jù)應(yīng)用的時效性有著更高的期望,因此我們決定對現(xiàn)有架構(gòu)升級,旨在滿足新的業(yè)務(wù)訴求、解決早期架構(gòu)存在的問題,于是在 2020 年正式啟動了銀聯(lián)商務(wù)數(shù)據(jù)架構(gòu)的升級之旅,升級目標(biāo)主要包含幾方面:

  • 統(tǒng)一、簡潔:單一系統(tǒng)即可完成數(shù)據(jù)加工和服務(wù)的統(tǒng)一,以簡化數(shù)據(jù)處理流程,提高工作效率;
  • 穩(wěn)定、高效:支持高效的數(shù)據(jù)加工和高性能的數(shù)據(jù)查詢,同時系統(tǒng)和平臺的穩(wěn)定性得以充分的保證;
  • 準(zhǔn)確、實時:支持數(shù)據(jù)實時更新以及接入,保證數(shù)據(jù)準(zhǔn)確、不丟不重;
  • 安全、可靠:確保數(shù)據(jù)訪問和數(shù)據(jù)存儲的安全性,支持集群災(zāi)備、數(shù)據(jù)高可靠;

基于以上目標(biāo),我們進行了深入的調(diào)研,在對比了多種大數(shù)據(jù)組件后,選擇引入 Apache Doris 來構(gòu)建新一代實時數(shù)據(jù)倉庫架構(gòu)。

基于 Apache Doris 的新一代實時數(shù)倉架構(gòu)

在架構(gòu)的迭代過程中,一方面我們需要務(wù)必保證業(yè)務(wù)無縫運轉(zhuǎn)、避免系統(tǒng)切換造成業(yè)務(wù)體驗受影響,另一方面需要兼顧與舊有架構(gòu)的兼容、根據(jù)實際情況逐步迭代、漸進式調(diào)整,同時也希望充分發(fā)揮全新架構(gòu)的能力優(yōu)勢,因此建設(shè)路徑逐步明晰:

  • 引入實時數(shù)據(jù)處理和分析鏈路,提升數(shù)據(jù)時效性;
  • 推動數(shù)據(jù)應(yīng)用從離線遷至實時,并持續(xù)提升查詢分析效率,為業(yè)務(wù)提效;
  • 打通離線與實時數(shù)據(jù)鏈路的屏障,統(tǒng)一數(shù)據(jù)口徑和數(shù)據(jù)服務(wù)出口,提供一致性的數(shù)據(jù)服務(wù)體驗;

因此在新的架構(gòu)中,在原有離線數(shù)據(jù)倉庫體系中增加了一條實時鏈路,通過 Kafka 將 MySQL 等各類業(yè)務(wù)數(shù)據(jù)庫中的實時數(shù)據(jù)歸集并傳輸?shù)?Apache Doris 中,并利用 Flink 和 Doris SQL 對數(shù)據(jù)進行加工處理,在 Doris 內(nèi)部構(gòu)建了從 ODS 到 ADS 的數(shù)倉分層體系。同時基于 Doris 提供的 Multi-Catalog 能力打通對 Hive 數(shù)據(jù)的查詢,避免了繁重的數(shù)據(jù)遷移成本。各上層數(shù)據(jù)應(yīng)用統(tǒng)一對接 Doris 即可,無需在離線數(shù)據(jù)和實時數(shù)據(jù)間進行切換,由 Doris 統(tǒng)一對外提供查詢服務(wù)。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

這一升級,極大提升了數(shù)據(jù)處理的效率和查詢的便捷性,當(dāng)前我們正逐步推進離線數(shù)倉向以 Apache Doris 為核心的實時數(shù)倉遷移,為更高效和更大規(guī)模的數(shù)據(jù)管理和分析做好準(zhǔn)備。

接下來我們將介紹基于 Apache Doris 的實時數(shù)倉架構(gòu)的規(guī)劃與設(shè)計,我們將從數(shù)據(jù)模型、分桶策略、數(shù)據(jù)同步與加工方式出發(fā),分享實時架構(gòu)搭建的實踐經(jīng)驗。

實時數(shù)據(jù)倉庫體系的建設(shè)與實踐

在建設(shè)數(shù)據(jù)倉庫體系時,銀聯(lián)商務(wù)遵循邊治理、邊建設(shè)、邊賦能的原則,數(shù)據(jù)治理為關(guān)鍵一環(huán),而統(tǒng)一規(guī)劃又是其核心內(nèi)容。因此數(shù)據(jù)倉庫的統(tǒng)一規(guī)劃能夠確保數(shù)據(jù)倉庫結(jié)構(gòu)設(shè)計的合理性,不僅有利于后續(xù)對架構(gòu)的管理維護,也有利于對數(shù)據(jù)可靠性和一致性的保障。因此我們在數(shù)據(jù)倉庫統(tǒng)一規(guī)劃方面采取了以下措施:

數(shù)倉分層的合理規(guī)劃

合理的數(shù)倉分層對數(shù)據(jù)的管理以及查詢性能的充分發(fā)揮起著關(guān)鍵作用,基于 Apache Doris 豐富的數(shù)據(jù)模型,我們對數(shù)倉的分層進行了提前規(guī)劃。先來了解 Doris 數(shù)據(jù)模型都具備哪些特性:

  • Duplicate Key 模型:適用于明細數(shù)據(jù)查詢場景,可支持任何維度的即席查詢;
  • Unique Key 模型:適用于對數(shù)據(jù)有唯一性約束的場景、需要支持數(shù)據(jù)精確去重,或者有數(shù)據(jù)更新需求、可支持大寬表的多流 Upsert 和部分列更新;
  • Aggregate Key 模型:適用于報表查詢場景,通過數(shù)據(jù)的預(yù)聚合來加速報表分析。

結(jié)合實際應(yīng)用場景和數(shù)據(jù)模型,我們來介紹銀聯(lián)商務(wù)數(shù)倉分層策略:

  • ODS 層主要采用 Duplicate Key 模型,例如在交易清算場景中,銀聯(lián)商務(wù)每天有幾千萬的清算數(shù)據(jù)需處理,清算日期跨度長達一年,這就要求所有數(shù)據(jù)能被完整地存儲。為了滿足這一需求,我們在 ODS 層選擇 Duplicate Key 模型,完全按照導(dǎo)入文件中的明細數(shù)據(jù)進行存儲,沒有任何聚合操作。而部分商戶訂單數(shù)據(jù)涉及到訂單狀態(tài)的更新,因此采取 Unique Key 模型,在數(shù)據(jù)導(dǎo)入過程中如果商戶 id 以及訂單 id 相同時自動更新成最新狀態(tài)。
  • DWD 與 DWS 層所采取的數(shù)據(jù)模型基本相同,其本質(zhì)差異在于對于業(yè)務(wù)數(shù)據(jù)的抽象程度,主要采用的是 Unique Key 模型,而部分有明細數(shù)據(jù)存儲的場景還保留了 Duplicate Key 模型。以結(jié)算劃付場景為例,將結(jié)算日期作為分區(qū)字段,設(shè)置表模型為 Unique Key 模型,通過這種方式能夠?qū)崿F(xiàn)跨度長達一年結(jié)算數(shù)據(jù)狀態(tài)的自動更新。
  • ADS 層作為高度業(yè)務(wù)數(shù)據(jù)的抽象,采用了 Aggregate Key 模型,通過對所有結(jié)算數(shù)據(jù)進行預(yù)聚合,可大幅提高數(shù)據(jù)查詢和分析的效率,減少實時計算的壓力。

分桶分區(qū)策略的合理設(shè)置

分區(qū)分桶是優(yōu)化數(shù)據(jù)存儲和提升查詢效率的重要手段,合理設(shè)置分桶數(shù)和分桶字段可以有效提升查詢速度和數(shù)據(jù)加工腳本的執(zhí)行效率。在數(shù)倉應(yīng)用中,我們參考實際數(shù)據(jù)規(guī)模和官網(wǎng)的設(shè)置建議,會對每一張表均規(guī)劃了分桶字段和分桶數(shù)。例如,在分店寬表中經(jīng)常需要查詢分店維度數(shù)據(jù),因此我們將分店作為分桶字段,并根據(jù)表的大小設(shè)置分桶數(shù)。以下是我們在不同 Tablet 下 Bucket 設(shè)置的數(shù)量,可供參考:

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

多源數(shù)據(jù)遷移方案

在銀聯(lián)商務(wù)各分支機構(gòu)數(shù)據(jù)遷移至 Doris 的過程中,我們發(fā)現(xiàn)分支機構(gòu)本地系統(tǒng)采用的數(shù)據(jù)庫種類繁多,文件存儲格式也比較復(fù)雜,這給數(shù)據(jù)遷移工作帶來不小的挑戰(zhàn)。為確保數(shù)據(jù)遷移的順利進行,我們針對不同數(shù)據(jù)和文件格式制定了相應(yīng)的遷移方案。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

Doris 支持多種豐富的數(shù)據(jù)遷移方式,無論是離線數(shù)據(jù)同步還是實時數(shù)據(jù)同步,都能找到高效快捷的數(shù)據(jù)遷移方式:

  • 在實時場景中,使用 Flink CDC 方式實時獲取 MySQL Binlog,其中一部分數(shù)據(jù)直接通過 Flink CDC 寫入 Doris,另一部分高流量數(shù)據(jù)則先同步至 Kafka 中進行削峰、再經(jīng)由 Flink-Doris-Connector 寫入到 Doris 中。
  • 在離線場景中,數(shù)據(jù)來源更加多樣、并且文件格式也更加復(fù)雜,因此采用了多種方式進行數(shù)據(jù)遷移。對于 S3 和 HDFS 上的歷史數(shù)據(jù)及增量數(shù)據(jù),使用 Broker Load 進行批量導(dǎo)入;對于 Hive 及 JDBC 外表存儲的數(shù)據(jù),使用 Insert into 方式進行同步;對于文件格式的數(shù)據(jù),使用 Flink Ftp Connector 和 Flink Doris Connector 同步(因 Ftp 方式在銀聯(lián)商務(wù)內(nèi)部是跨系統(tǒng)的數(shù)據(jù)文件交互方式,文件的格式復(fù)雜,因此開發(fā)了 Flink Ftp Connector,可支持復(fù)雜的數(shù)據(jù)格式、支持多換行符等復(fù)雜應(yīng)用場景)。

豐富的數(shù)據(jù)遷移方式使得我們可以輕松地將數(shù)據(jù)從各類數(shù)據(jù)庫遷移至 Doris 中來,同時,多文件格式的同步解決了分支機構(gòu)數(shù)據(jù)不統(tǒng)一、不規(guī)范的問題,大大降低了各分支機構(gòu)數(shù)據(jù)遷移的難度及成本,為銀聯(lián)商務(wù)的數(shù)據(jù)整合和統(tǒng)一管理提供了有力支持。

全量與增量數(shù)據(jù)的同步

在大量離線數(shù)據(jù)同步的過程中,業(yè)務(wù)的連續(xù)性和數(shù)據(jù)的準(zhǔn)確性保證十分重要,因此我們采取了兩種方式來應(yīng)對全量數(shù)據(jù)同步和增量數(shù)據(jù)同步。

在全量同步場景中,我們首先創(chuàng)建相同表結(jié)構(gòu)的臨時表,將全量數(shù)據(jù)導(dǎo)入臨時表后、再利用 ALTER TABLE t1 REPLACE WITH TABLE t2 語句對臨時表和正式表進行原子替換操作,該臨時表即成為正式表,且前端業(yè)務(wù)查詢不會有任何的阻滯。在增量同步場景則創(chuàng)建了新的增量分區(qū),將增量數(shù)據(jù)直接同步至增量分區(qū)。

alter table ${DB_NAME}.${TBL_NAME} drop partition IF EXISTS p${P_DOWN_DATE};
ALTER TABLE ${DB_NAME}.${TBL_NAME} ADD PARTITION IF NOT EXISTS  p${P_DOWN_DATE} VALUES [('${P_DOWN_DATE}'), ('${P_UP_DATE}'));

LOAD LABEL ${TBL_NAME}_${load_timestamp} ...

離線數(shù)據(jù)加工任務(wù)遷移

當(dāng)前我們已經(jīng)把離線數(shù)倉的數(shù)據(jù)加工任務(wù)直接遷移到 Doris 進行,采用 Doris SQL 進行數(shù)據(jù)加工處理,通過調(diào)度平臺進行任務(wù)調(diào)度。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

以清分流水交易寬表場景為例,過去每天需加工三千萬條數(shù)據(jù)、在 Hive 離線數(shù)倉采用的 TEZ 計算引擎進行數(shù)據(jù)加工,在分配 2T 的計算資源下,整條鏈路加工耗時長達 2.5 小時。當(dāng)將數(shù)據(jù)加工任務(wù)遷移至 Apache Doris 后,僅使用過去一半的計算資源,即可將整條鏈路加工耗時縮短為 0.5 小時,整條鏈路執(zhí)行效率提升 5 倍以上,且單個腳本執(zhí)行時效也從 8 分鐘提升到 10 秒。

金融級數(shù)倉穩(wěn)定性最佳實踐

當(dāng)前 Apache Doris 在銀聯(lián)商務(wù)已廣泛應(yīng)用于多個業(yè)務(wù)場景,服務(wù)了內(nèi)部各類經(jīng)營分析報表、用戶標(biāo)簽、自助取數(shù)平臺等應(yīng)用,并對外部商戶提供了對賬單、報表、數(shù)據(jù)報告等多種數(shù)據(jù)服務(wù),因此集群的穩(wěn)定性和可用性對于平臺用戶體驗和業(yè)務(wù)連續(xù)性而言至關(guān)重要,任何集群故障或不穩(wěn)定因素都可能導(dǎo)致業(yè)務(wù)決策受阻、用戶信任度受影響。

因此銀聯(lián)商務(wù)采取大量措施來保證集群穩(wěn)定性和可用性,包括多租戶資源隔離、精細權(quán)限管理、集群災(zāi)備以及多種穩(wěn)定性調(diào)優(yōu)策略。

多租戶資源隔離

在實際業(yè)務(wù)運行過程中,往往存在多個業(yè)務(wù)或者不同部門同時查詢同一份數(shù)據(jù)的情況發(fā)生,在有限的資源條件下往往可能因查詢?nèi)蝿?wù)件的資源搶占導(dǎo)致查詢性能下降甚至集群不穩(wěn)定,同時針對組織架構(gòu)的不同層級對于數(shù)據(jù)的可見性要求也不一致,因此我們結(jié)合自身業(yè)務(wù)類型以及 Apache Doris 多租戶資源隔離能力進行了深度應(yīng)用。

單查詢資源限制,保證查詢間資源可控

在對內(nèi)部多個應(yīng)用進行梳理后,我們根據(jù)業(yè)務(wù)分析負載對場景和租戶進行了細分,主要劃分為數(shù)據(jù)加工(ETL)、數(shù)據(jù)探索(Ad-hoc)、數(shù)據(jù)看板(Reporting)和數(shù)據(jù)服務(wù)(Data Serving)四個場景。為確保各個場景及租戶之間的獨立性,我們對每個場景的單查詢進行了資源限制。具體來說,我們?yōu)槊總€租戶設(shè)置了四類 Doris 賬號,并對賬號的 CPU 和內(nèi)存使用資源進行了限制,初始值統(tǒng)一設(shè)置為 5 CPU,后續(xù)則根據(jù)各租戶使用情況進行微調(diào),以達到適配的資源分配。目前銀聯(lián)商務(wù)各場景分配情況如下:

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

該策略的優(yōu)點在于,即使單個租戶的資源使用量增加,也只會影響該租戶在特定場景下的使用,不會對其他租戶、其他場景產(chǎn)生任何影響,有效提升了平臺的穩(wěn)定性。

基于 Resource Tag 的多租戶數(shù)據(jù)與查詢隔離

而面對總-分公司的數(shù)據(jù)使用場景,我們采用了基于 Resource Tag 的資源組物理****隔離方式,以確保數(shù)據(jù)的安全性和獨立性。

目前在 Apache Doris 中存儲了豐富多樣的數(shù)據(jù),基于數(shù)據(jù)安全的角度考慮,對數(shù)據(jù)可見范圍進行了精細劃分,總公司可以訪問到公司層的全部數(shù)據(jù),而分公司只能訪問自身業(yè)務(wù)范疇內(nèi)的數(shù)據(jù)。除此以外,還有部分數(shù)據(jù)是由總公司授權(quán)分公司進行查詢,或者分公司個性化數(shù)據(jù)需要與總公司數(shù)據(jù)進行關(guān)聯(lián)。在這一場景之下,我們采取了 Resource Tag 的資源隔離模式,將數(shù)據(jù)和集群可用資源單獨劃分開來。

具體而言,我們?yōu)榉止九渲锚毩⒌馁Y源組,將分公司個性化數(shù)據(jù)以三副本的方式存儲到獨立資源組中,同時將總公司數(shù)據(jù)設(shè)置為四副本,將其中三副本存儲在總公司資源組中,剩余單副本存儲到分公司獨立資源組中。當(dāng)分公司查詢總公司數(shù)據(jù)時,僅會查詢分公司資源組中的單副本數(shù)據(jù),通過這樣的方式即保證了數(shù)據(jù)的安全性,也提高了系統(tǒng)的穩(wěn)定性及可靠性。具體方案如下:

  • 設(shè)置 BE 節(jié)點標(biāo)簽:分配總公司資源組和分公司資源組,并在服務(wù)器上設(shè)置對應(yīng)標(biāo)簽。
  • 設(shè)置數(shù)據(jù)分布:建表時設(shè)置replication_allocation,同時將總分公司比例設(shè)置為 3:1,該比例可結(jié)合總分公司的實際使用情況靈活調(diào)整。
  • 設(shè)置用戶資源組:為用戶設(shè)置對應(yīng)的默認資源組,總、分公司使用各自資源組,從而實現(xiàn)總分公司查詢隔離。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

更靈活的資源隔離方案

基于 Resource Tag 的資源隔離方案實現(xiàn)的是物理層級的資源隔離,盡管在獨立性方面更佳、但在資源的利用率方面還存在一定的優(yōu)化空間,并且無法保證進程內(nèi)更細粒度的資源隔離,因此 Apache Doris 在 2.0 版本中推出了 Workload Group 資源軟限制。

從實現(xiàn)原理來看, Workload Group 通過對工作負載分組管理,將用戶執(zhí)行的 Query 與 Workload Group 相關(guān)聯(lián),可限制單個 Query 在 BE 節(jié)點上的 CPU 和內(nèi)存資源的百分比,并可以配置開啟資源組的內(nèi)存軟限制。當(dāng)集群資源緊張時,可自動終止內(nèi)存占用較大的查詢?nèi)蝿?wù)以緩解集群壓力。當(dāng)集群資源空閑時,當(dāng) Workload Group 使用資源超過預(yù)設(shè)值時,其他 Workload Group 可以共享空閑集群資源,并自動突破闕值、確保查詢?nèi)蝿?wù)的穩(wěn)定執(zhí)行,通過這一方式實現(xiàn)內(nèi)存和 CPU 資源的精細化管控。

我們也在持續(xù)探索新版本特性與業(yè)務(wù)的結(jié)合,后續(xù)對于數(shù)據(jù)加工、數(shù)據(jù)探索、數(shù)據(jù)看板和數(shù)據(jù)服務(wù)等場景的單查詢資源限制可以通過 Workload Group 來實現(xiàn),并且還可以進一步利用任務(wù)優(yōu)先級和任務(wù)排隊機制來保證關(guān)鍵業(yè)務(wù)的優(yōu)先運轉(zhuǎn)。

精細用戶權(quán)限管理

為了滿足業(yè)務(wù)需求和法規(guī)合規(guī)的要求,銀聯(lián)商務(wù)建立了嚴(yán)格的用戶權(quán)限管理制度。該制度明確了不同用戶群體的角色和權(quán)限,確保了用戶只能訪問其需要的功能和數(shù)據(jù)。以下為銀聯(lián)商務(wù)用戶權(quán)限管理的方案:

  • 用戶權(quán)限設(shè)置:針對每個分支機構(gòu)不同場景的不同用戶,為用戶設(shè)置不同的數(shù)據(jù)使用權(quán)限。
  • 庫、表、行級權(quán)限管理:為滿足各分公司權(quán)限管理需求,一般會為每個分公司建立視圖,該方式操作繁瑣,且與 Hive 數(shù)倉的使用有較大差異,可能需要對表、語句進行修改。通過 ROW POLICY機制可以便捷實現(xiàn)庫、表、行級的權(quán)限控制,并可以將原來 Hive 數(shù)倉的任務(wù)較為無縫地遷移到 Doris 中。
  • 列級權(quán)限管理:當(dāng)前采用構(gòu)建視圖的方式進行列級權(quán)限管理。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

集群穩(wěn)定性保障

  • SQL 熔斷:平臺對內(nèi)部用戶開放后,經(jīng)常會面臨用戶查詢 SQL 不規(guī)范消耗過多資源的情況,針對于這種情況,采用 SQL 熔斷機制對高危的 SQL 及時熔斷,以保證集群的穩(wěn)定運行。
  • 導(dǎo)入并發(fā)控制:考慮我們經(jīng)常需將歷史數(shù)據(jù)同步到平臺中,這就會涉及大量數(shù)據(jù)修改任務(wù),可能對集群會造成比較大的壓力。因此,我們使用了 Unique Key 模型的 Merge-on-Write 更新模式、啟用了 Vertical Compaction 和 Segment Compaction 并通過調(diào)整 Compaction 參數(shù)調(diào)整,以控制數(shù)據(jù)導(dǎo)入頻率、減輕集群的壓力。
  • 網(wǎng)絡(luò)流量控制:針對離線、實時不同場景設(shè)置了 QoS ,通過 QoS 策略進一步實現(xiàn)網(wǎng)絡(luò)隔離??紤]到銀聯(lián)商務(wù)內(nèi)部有上海和武漢兩套集群,異地網(wǎng)絡(luò)交互過程中的流量至關(guān)重要,因此,我們通過 QoS 策略來實現(xiàn)了精確的網(wǎng)絡(luò)隔離操作,確保不同場景下的網(wǎng)絡(luò)服務(wù)質(zhì)量與穩(wěn)定性。
  • 監(jiān)控報警:為滿足公司內(nèi)部夜班值班監(jiān)控的要求,我們使用 Doris 與內(nèi)部監(jiān)控報警平臺進行對接。將 Doris 相關(guān)的監(jiān)控報警與聲光監(jiān)控、CU 即時通訊軟件以及郵件進行了對接,實現(xiàn)了對問題的實時監(jiān)控和處理。

查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐,apache,數(shù)據(jù)庫,大數(shù)據(jù),數(shù)據(jù)分析,數(shù)據(jù)倉庫

基于 CCR 的集群災(zāi)備能力

對于金融企業(yè)而言,服務(wù)穩(wěn)定性和數(shù)據(jù)安全性是至關(guān)重要的一環(huán),而災(zāi)備方案是確保業(yè)務(wù)連續(xù)性和數(shù)據(jù)安全性的重要措施,通過集群災(zāi)備,能夠在災(zāi)難或故障發(fā)生時迅速恢復(fù)業(yè)務(wù)和數(shù)據(jù),最大程度地減少損失和風(fēng)險。

對于銀聯(lián)商務(wù)的核心業(yè)務(wù)數(shù)據(jù),我們期望能夠?qū)崿F(xiàn)跨集群異地的災(zāi)備,因此我們基于跨集群數(shù)據(jù)復(fù)制能力構(gòu)建主備集群的雙活方案。正常業(yè)務(wù)查詢訪問的是主集群,關(guān)鍵業(yè)務(wù)數(shù)據(jù)會同步寫入至備用集群且保持實時更新,這樣即使某個集群發(fā)生宕機事件,也可以迅速切換到備用集群,以快速恢復(fù)核心業(yè)務(wù)和數(shù)據(jù)。

總結(jié)與規(guī)劃

面對日益增長的數(shù)據(jù)處理和分析需求,銀聯(lián)商務(wù)選擇基于 Apache Doris 構(gòu)建新一代實時數(shù)據(jù)倉庫,截至目前 Apache Doris 已經(jīng)服務(wù)了經(jīng)營分析報表、用戶標(biāo)簽、自助取數(shù)等多個內(nèi)部業(yè)務(wù)以及對外商戶數(shù)據(jù)服務(wù)場景。

僅以對賬單查詢場景為例,在半年對賬單場景下數(shù)據(jù)查詢時效從 8 分鐘降低到 3 秒,提速超 100 倍,在全年對賬單查詢中耗時也縮短至 2 分鐘內(nèi),多數(shù)典型查詢場景性能提升了 10- 15 倍,整體查詢分析效率得到極大幅度提升。此外,數(shù)據(jù)導(dǎo)入性能平均提升了 2- 5 倍,數(shù)據(jù)處理加工速度效率提升了 3- 12 倍,數(shù)據(jù)應(yīng)用的時效性得到大幅增強。

通過更高效、更實時、更靈活的數(shù)據(jù)分析支持,銀聯(lián)商務(wù)能夠更好地理解市場、把握機會、優(yōu)化運營,從而實現(xiàn)業(yè)務(wù)的持續(xù)增長和創(chuàng)新發(fā)展。未來,銀聯(lián)商務(wù)還將繼續(xù)深入使用 Apache Doris ,并在以下三個方面進行探索和實踐:文章來源地址http://www.zghlxwxcb.cn/news/detail-782927.html

  • 統(tǒng)一查詢引擎:將 Doris 作為聯(lián)邦查詢的統(tǒng)一入口,通過 Multi-Catalog 接入底層各數(shù)據(jù)源。同時將 Doris 完全作為對外數(shù)據(jù)服務(wù)的統(tǒng)一出口,實現(xiàn)數(shù)據(jù)查詢服務(wù)的統(tǒng)一路由,為用戶提供更便捷、更高效的數(shù)據(jù)查詢服務(wù)。
  • 存算分離架構(gòu):進一步探索存算分離架構(gòu)、實現(xiàn)資源的彈性擴縮容,并將離線數(shù)倉任務(wù)全部遷移到 Doris 中,實現(xiàn)實時化改造以及計算負載的進一步隔離。
  • 自動化運維:對接公司內(nèi)部的業(yè)務(wù)流程,實現(xiàn)相關(guān)工作的自動化運維處理,并完成業(yè)務(wù)問題的快速排查;基于 Doris 實現(xiàn)更靈活的數(shù)據(jù)血緣分析,幫助銀聯(lián)商務(wù)更好地理解數(shù)據(jù)之間的關(guān)系和影響,為業(yè)務(wù)決策提供更準(zhǔn)確的數(shù)據(jù)管理支持。

到了這里,關(guān)于查詢速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺升級實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • mysql語句中order by的查詢速度太慢 請問需要做出哪些優(yōu)化策略來提升查詢速度...

    如果在MySQL中使用 order by 語句導(dǎo)致查詢速度過慢,可以考慮以下優(yōu)化策略: 使用索引:為排序字段建立索引可以提高查詢速度。 增加內(nèi)存:如果服務(wù)器內(nèi)存不足,MySQL可能需要使用臨時表或磁盤排序,增加內(nèi)存可以避免這種情況。 減少數(shù)據(jù)量:使用 limit 語句可以限制結(jié)果集

    2024年02月13日
    瀏覽(21)
  • 【Java并發(fā)】聊聊Future如何提升商品查詢速度

    【Java并發(fā)】聊聊Future如何提升商品查詢速度

    java中可以通過new thread、實現(xiàn)runnable來進行實現(xiàn)線程。但是唯一的缺點是沒有返回值、以及拋出異常,而callable就可以解決這個問題。通過配合使用futuretask來進行使用。 并且Future提供了對任務(wù)的操作,取消,查詢是否完成,獲取結(jié)果。 FutureTask核心代碼 基本屬性 任務(wù) 當(dāng)線程

    2024年01月25日
    瀏覽(16)
  • Java提升數(shù)據(jù)庫大數(shù)據(jù)查詢速度的幾種方式

    Java提升數(shù)據(jù)庫大數(shù)據(jù)查詢速度的幾種方式

    本文章以MySQL數(shù)據(jù)庫為用例說明,列舉出幾個常用的提升查詢速度的方式。 分頁查詢,在網(wǎng)絡(luò)瀏覽中,經(jīng)常會看到分頁的使用,像百度搜索分頁、文檔資料分頁等,這些都是一種常見的提升數(shù)據(jù)查詢速度和用戶體驗的一種方式,數(shù)據(jù)庫有l(wèi)imit,開發(fā)人員可使用此

    2024年02月12日
    瀏覽(21)
  • 大數(shù)據(jù)Doris(六十五):基于Apache Doris的數(shù)據(jù)中臺2.0

    大數(shù)據(jù)Doris(六十五):基于Apache Doris的數(shù)據(jù)中臺2.0

    文章目錄 基于Apache Doris的數(shù)據(jù)中臺2.0 一、???????架構(gòu)升級

    2024年02月20日
    瀏覽(21)
  • 星云零售信貸基于 Apache Doris 的 OLAP 演進之路

    星云零售信貸基于 Apache Doris 的 OLAP 演進之路

    本文導(dǎo)讀: 騰梭科技是國內(nèi)領(lǐng)先的零售金融數(shù)字化及安全服務(wù)提供商,是騰訊投資且在金融領(lǐng)域的戰(zhàn)略合作伙伴,并與騰訊聯(lián)合研發(fā)了“星云智慧信貸解決方案。在其信貸業(yè)務(wù)轉(zhuǎn)型過程中,隨著系統(tǒng)規(guī)模不斷擴大,早期架構(gòu)無法再滿足業(yè)務(wù)需求,因此騰梭科技決定引入 Apac

    2024年02月16日
    瀏覽(27)
  • 如何基于 Apache Doris 構(gòu)建新一代日志分析平臺

    如何基于 Apache Doris 構(gòu)建新一代日志分析平臺

    作者:肖康,SelectDB 技術(shù) 副總裁 、Apache Doris Committer 日志數(shù)據(jù)是企業(yè)大數(shù)據(jù)體系中重要的組成部分之一,這些數(shù)據(jù)記錄了網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)以及應(yīng)用程序的詳細歷史行為,蘊含了豐富的信息價值,在可觀測性、網(wǎng)絡(luò)安全、業(yè)務(wù)分析等關(guān)鍵業(yè)務(wù)領(lǐng)域發(fā)揮著重要作用,可幫助企

    2024年02月15日
    瀏覽(31)
  • 如何基于 Apache Doris 與 Apache Flink 快速構(gòu)建極速易用的實時數(shù)倉

    如何基于 Apache Doris 與 Apache Flink 快速構(gòu)建極速易用的實時數(shù)倉

    隨著大數(shù)據(jù)應(yīng)用的不斷深入,企業(yè)不再滿足離線數(shù)據(jù)加工計算的時效,實時數(shù)據(jù)需求已成為數(shù)據(jù)應(yīng)用新常態(tài)。伴隨著實時分析需求的不斷膨脹,傳統(tǒng)的數(shù)據(jù)架構(gòu)面臨的成本高、實時性無法保證、組件繁冗、運維難度高等問題日益凸顯。為了適應(yīng)業(yè)務(wù)快速迭代的特點,幫助企業(yè)

    2024年02月12日
    瀏覽(20)
  • 代立冬:基于Apache Doris+SeaTunnel 實現(xiàn)多源實時數(shù)據(jù)倉庫解決方案探索實踐

    代立冬:基于Apache Doris+SeaTunnel 實現(xiàn)多源實時數(shù)據(jù)倉庫解決方案探索實踐

    大家好,我是白鯨開源的聯(lián)合創(chuàng)始人代立冬,同時擔(dān)任 Apache DolphinScheduler 的 PMC chair 和 SeaTunnel 的 PMC。作為 Apache Foundation 的成員和孵化器導(dǎo)師,我積極參與推動多個開源項目的發(fā)展,幫助它們通過孵化器成長為 Apache 的頂級項目。 今天的分享的主題其實還是從開源到商業(yè),

    2024年02月04日
    瀏覽(26)
  • Apache Doris 開源最頂級基于MPP架構(gòu)的高性能實時分析數(shù)據(jù)庫

    Apache Doris 開源最頂級基于MPP架構(gòu)的高性能實時分析數(shù)據(jù)庫

    Apache Doris是一個基于MPP架構(gòu)的易于使用,高性能和實時的分析數(shù)據(jù)庫,以其極高的速度和易用性而聞名。海量數(shù)據(jù)下返回查詢結(jié)果僅需亞秒級響應(yīng)時間,不僅可以支持高并發(fā)點查詢場景,還可以支持高通量復(fù)雜分析場景。 這些都使得 Apache Doris 成為報表分析、即席查詢、統(tǒng)一

    2024年02月03日
    瀏覽(20)
  • 性能提升30%!袋鼠云數(shù)?;?Apache Hudi 的性能優(yōu)化實戰(zhàn)解析

    性能提升30%!袋鼠云數(shù)?;?Apache Hudi 的性能優(yōu)化實戰(zhàn)解析

    Apache Hudi 是一款開源的數(shù)據(jù)湖解決方案,它能夠幫助企業(yè)更好地管理和分析海量數(shù)據(jù),支持高效的數(shù)據(jù)更新和查詢。并提供多種數(shù)據(jù)壓縮和存儲格式以及索引功能,從而為企業(yè)數(shù)據(jù)倉庫實踐提供更加靈活和高效的數(shù)據(jù)處理方式。 在金融領(lǐng)域,企業(yè)可以使用 Hudi 來處理大量需要

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包