国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分庫分表后復雜查詢的應對之道:基于DTS實時性ES寬表構建技術實踐

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-06-25 18:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 問題域

業務發展的初期,我們的數據庫架構往往是單庫單表,外加讀寫分離來快速的支撐業務,隨著用戶量和訂單量的增加,數據庫的計算和存儲往往會成為我們系統的瓶頸,業界的實踐多數采用分而治之的思想:分庫分表,通過分庫分表應對存系統讀寫性能瓶頸和存儲瓶頸;分庫分表幫我們解決問題的同時,也帶來了復雜性;比如多條件的分頁查詢,多條件的聯表查詢變得復雜起來,通過調研我們發現針對這些分頁,聯表的復雜查詢,業界常用的解決方案有以下兩種:1 構建ES寬表2 構建查詢條件到表主鍵Mapping映射表;本表文章介紹我們的實踐:基于公司的中間件DTS構建實時性的ES寬表。所謂的寬表是通過主鍵將多張表關聯成一張表,比如訂單維度的寬表字段包含:訂單主表,訂單明細表,商品表,用戶表等表字段。

2 ES寬表構建解決方案域

2.1 同步雙寫

應用在接收到寫請求后,同步寫DB成功,然后再同步寫ES。

wKgaomZ46VSARYbuAAEsDHV9EYQ944.png

2.2 異步雙寫

應用在接收到寫請求后,同步寫DB成功,異步發送MQ,消費MQ異步寫ES。

wKgZomZ46VaATINWAAGJPtL6buw874.png

2.3 基于Binlog的實時同步

2.3.1 Binlog作為消息

將Binlog作為消息,或者驅動的Event,接收到消息后,RPC調取下游的業務系統,獲取業務數據進行數組的組裝,寫入ES。

wKgaomZ46VaAQNPMAAHeWov5JMY706.png

2.3.2 Binlog作為數據

解析Binlog中的數據,獲取庫表,字段變更前后的內容,INSERT, UPDATE, DELETE事件,基于Binlog中的數據去構建寬表,寫入ES。

wKgZomZ46ViActtsAAHxEFS-Njs358.png

3 解決方案優缺點對比

wKgaomZ46VmAa9nyAAKcmKZN5bQ547.png

4 我們的實踐

4.1 Binlog作為數據構建ES寬表

wKgZomZ46VmAEqc5AAIIYQ1agrA414.png

4.1.1 順序性的保證

上游DTS監聽的binlog是有序的;發送消息時,業務方可以配置業務主鍵例如uep_order_no,DTS可以根據業務主鍵進行hash,將該條消息發送到對應的隊列保證局部有序性;消費者消費時,同一個訂單號uep_order_no映射到同一個分區,保證順序消費;

4.1.2 冪等性的保證

DTS可以保證消息不丟失,但不保證消息不重復,可能發送重復的消息需要業務方保證冪等性,

UPDATE/DELETE操作天然具有冪等性

INSERT操作在進行操作前需要先判斷下數據是否存在,不存在則插入,存在則更新

4.1.3 數據一致性的保證

由于數據存儲在Mysql和ES兩種存儲媒介,可以采用定時任務對賬機制保證數據的一致性,如果數據不一致采用補償任務進行補償操作

4.1.4 存量數據遷移

采用定時任務分頁將數據從Mysql遷移到ES

4.2 ES復雜檢索

4.2.1 檢索的分類

多條件的復雜查詢,采用Bool查詢;

wKgaomZ46VqAa9paAAL8ySW6B98056.png

4.2.2 查詢條件構建

wKgaomZ46VuAcslwAAJpT5UGYrY310.png



審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ES
    ES
    +關注

    關注

    0

    文章

    11

    瀏覽量

    20247
  • DTS
    DTS
    +關注

    關注

    1

    文章

    55

    瀏覽量

    16791
  • 數據庫
    +關注

    關注

    7

    文章

    4019

    瀏覽量

    68337
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    海康威視基于數字孿生技術構建智慧隧道解決方案

    在隧道運營管理中長期依賴人工巡檢和傳統監控不僅效率受限,更難以應對復雜的突發狀況,如何突破這些瓶頸?海康威視基于數字孿生技術構建了一套“數據驅動、動態映射、
    的頭像 發表于 02-11 15:19 ?395次閱讀

    HTN77A0壓超低功耗0.7A同步降壓變換器5V~130V輸入

    狀態,方便工程師構建閉環監控機制,提升系統容錯能力。從設計便利來看,HTN77A0 的輸入范圍減少了前端壓或升壓電路的設計復雜度,超寬
    發表于 11-28 15:51

    AI賦能 車行無憂|騰視科技ES10終端,為車輛裝上“智慧大腦”

    騰視科技,以車載智能領域深耕多年的技術積淀,破局而出!? 專為特種車輛與復雜作業場景量身打造的ES10車載智能終端,以?超強環境適應?(-30℃~75℃
    的頭像 發表于 10-28 10:15 ?1312次閱讀
    AI賦能 車行無憂|騰視科技<b class='flag-5'>ES</b>10終端,為車輛裝上“智慧大腦”

    訂單實時狀態查詢接口技術實現

    、可靠的訂單實時狀態查詢接口,涵蓋接口設計、技術選型、代碼實現和性能優化。我們將使用Python和Flask框架作為示例,確保內容真實可靠,適合開發人員參考。 1. 接口設計原則 訂單實時
    的頭像 發表于 10-21 17:58 ?730次閱讀
    訂單<b class='flag-5'>實時</b>狀態<b class='flag-5'>查詢</b>接口<b class='flag-5'>技術</b>實現

    深入解析米爾全志T536核心板的實時技術突破

    延遲、調度器抖動...這些因素導致Linux的延遲通常在幾十毫秒級別波動,根本無法滿足工業場景對確定性的苛刻要求。 一、工業實時挑戰:從理論到實踐的鴻溝1.1 實時
    發表于 10-17 17:41

    業內分享熱敏電阻在智能電能中常用的型號及相關特性

    PTC熱敏電阻 SPMZB-06S201RN/10D391、SPMZB-08S800RN/12D391等適用于 智能電能等,可在電網電壓波動較大等復雜工況下使用,為電路提供過流過壓保護,能有效保護
    發表于 09-10 10:50

    吉時利2602B源

    速度比傳統PC控制快200%。 TSP-Link?接口支持多通道并行測試擴展,無需主機干預,降低系統復雜性和成本。 軟件與兼容 內置基于Java的I-V特性分析軟件,提供“即插即用”操作體驗。 兼容
    發表于 08-26 17:48

    Allegro更新原理圖導入網,Xnet混亂何解?

    更新原理圖導入網,Allegro莫名其妙將原本組合好的Xnet的差自動組合成新的Xnet。這些Xnet是沒有模型存在的(去掉過模型導入的),現在就是組合成一個Xnet
    發表于 07-25 15:15

    一文讀懂:嵌入式Linux實時進階

    與Xenomai雙核方案成為兩大主流技術路線。 本文將深入剖析它們的原理與性能差異,助您在學習道路上少走彎路,事半功倍! 1嵌入式Linux實時是指什么 Linux的實時
    發表于 07-10 15:26

    便攜式經濟型萬用常見疑問匯總

    上,與 SYN5684 系列相近,能夠為用戶提供精準的測量結果。而且,其智能算法還能對測量數據進行實時校準和優化,進一步提升測量的可靠。? (二)測量功能豐富嗎?? 這兩款萬用的測量功能十
    發表于 06-12 16:37

    智能觸屏萬用的科技優勢在哪

    的設置與實時測量結果,大大提高了操作的便利和效率。 2.強大的數據處理能力:全自動萬用內置了高性能的處理器,具備強大的數據處理能力,能夠快速準確地完成各種測量任務,并對測量數據進行實時
    發表于 06-12 16:34

    復雜電磁環境構建與測試軟件系統

    復雜電磁環境構建與測試軟件系統
    的頭像 發表于 04-29 20:47 ?667次閱讀
    <b class='flag-5'>復雜</b>電磁環境<b class='flag-5'>構建</b>與測試軟件系統

    邊緣計算網關的實時監控與預測維護都有哪些方面?適合哪些行業使用?

    邊緣計算網關的實時監控與預測維護都有哪些方面?適合哪些行業使用? 有實施過得案例的介紹嗎? 深控技術的不需要點的邊緣計算網關如何?
    發表于 04-01 09:44

    沖壓機實時監控方案:深控技術無點數采網關的智能化實踐

    深控技術“不需要點的工業數采網關”通過無感化數據采集、邊緣智能計算、AI工藝優化三大核心能力,為金屬加工行業構建了從設備層到決策層的數字化閉環。其價值不僅在于直接降低90%質量損失與30%模具成本,更通過數據驅動的精細化管理,
    的頭像 發表于 03-24 14:53 ?931次閱讀

    Marvell展示2納米芯片3D堆疊技術應對設計復雜性挑戰!

    隨著現代科技的迅猛發展,芯片設計面臨著前所未有的挑戰。特別是在集成電路(IC)領域,隨著設計復雜性的增加,傳統的光罩尺寸已經成為制約芯片性能和功能擴展的瓶頸。為了解決這一問題,3D堆疊技術應運而生
    的頭像 發表于 03-07 11:11 ?1138次閱讀
    Marvell展示2納米芯片3D堆疊<b class='flag-5'>技術</b>,<b class='flag-5'>應對</b>設計<b class='flag-5'>復雜性</b>挑戰!