在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    瀏覽量

    20148
  • DTS
    DTS
    +關注

    關注

    1

    文章

    50

    瀏覽量

    16399
  • 數據庫
    +關注

    關注

    7

    文章

    3901

    瀏覽量

    65791
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

    或許我們都被分庫約束了思維

    作者:張俊杰 概述 這篇文章沒什么太多的干貨,純純是一篇討論和思考帖。 從業數據庫領域三年有余了,從分庫中間件到數據庫團隊內核學到了很多東西。也接觸了很多項目,包括TiDB、Vitess
    的頭像 發表于 02-21 09:51 ?217次閱讀

    一種輕量方案-MyBatis攔截器實踐

    文章,將分享如何使用MyBatis攔截器低成本的提升數據庫穩定性。 業界常見方案 針對冷數據多的大,常用的策略有以2種: 刪除/歸檔舊數據。 。 歸檔/刪除舊數據 定期將冷數據移動到歸檔
    的頭像 發表于 01-23 17:38 ?369次閱讀

    芯片的失效分析與應對方法

    在汽車、數據中心和人工智能等關鍵領域,半導體芯片的可靠成為系統穩定運行的核心要素。隨著技術發展,芯片面臨著更為復雜的使用環境與性能需求,其失效問題愈發凸顯。本文將深入探討芯片失效的根源,剖析芯片
    的頭像 發表于 12-20 10:02 ?2185次閱讀
    芯片的失效<b class='flag-5'>性</b>分析與<b class='flag-5'>應對</b>方法

    深控技術 “不需要點的工業網關” 在沖壓機上的應用

    這款工業網關具有強大的功能,無需進行復雜的點配置,就能自動識別沖壓機的通信協議和數據格式。它能夠實時采集沖壓機的各種運行數據,包括壓力、行程、速度、溫度等關鍵參數。通過先進的傳感器技術
    的頭像 發表于 10-24 10:34 ?399次閱讀

    一文弄懂實時動態載波相位差技術和偽距差技術的區別

    在全球導航衛星系統(GNSS)中,實時動態載波相位差和偽距差是常見的兩種差定位技術。這兩種技術
    的頭像 發表于 09-13 11:14 ?1722次閱讀
    一文弄懂<b class='flag-5'>實時</b>動態載波相位差<b class='flag-5'>分</b><b class='flag-5'>技術</b>和偽距差<b class='flag-5'>分</b><b class='flag-5'>技術</b>的區別

    如何利用IP查詢技術保護網絡安全?

    在數字化時代,企業網絡面臨著復雜多變的威脅與挑戰。因此,構建一個穩固的網絡安全體系至關重要。而IP查詢技術,作為網絡安全防御體系中的一把利劍,正日益成為企業防范網絡風險的重要工具。 什
    的頭像 發表于 09-09 10:10 ?707次閱讀

    安科瑞導軌DDS/DTS/DTZ的都有哪些功能?

    ?安科瑞導軌DDS/DTS/DTZ具有多種功能,主要包括計量功能、顯示功能、參數設置功能、通訊功能以及電能脈沖輸出功能。?
    的頭像 發表于 09-07 10:40 ?570次閱讀
    安科瑞導軌<b class='flag-5'>表</b>DDS/<b class='flag-5'>DTS</b>/DTZ的都有哪些功能?

    軟件系統數據庫的分庫設計

    的分布式集群,實現分庫表功能,解決數據庫中海量數據存儲和查詢性能的問題。MyCat 還是一個數據庫的集群中間件,主要實現 RDBMS 數據庫集群的故障轉移、負載均衡、讀寫分離等功能。 MyCat 的關鍵
    的頭像 發表于 08-22 11:39 ?530次閱讀
    軟件系統數據庫的<b class='flag-5'>分庫</b><b class='flag-5'>分</b><b class='flag-5'>表</b>設計

    正弦波信號整流濾波,用萬用看到的是亂碼,為什么?

    一個正弦波信號,整流濾波,用示波器觀察,電壓慢慢上升到平穩,用萬用看卻看到的是亂碼?不應該看到直流電壓嗎?試了直接電阻壓測到的電壓值是對的。請問如何用萬用看濾波
    發表于 08-19 07:06

    聚合物鋰電池型號及容量查詢

    聚合物鋰電池型號及容量查詢
    發表于 06-22 10:55 ?0次下載

    GPRS抄技術是什么?

    1.GPRS抄技術概述GPRS(GeneralPacketRadioService)抄是一種基于移動通信網絡的遠程抄技術,它利用GPR
    的頭像 發表于 06-17 16:11 ?749次閱讀
    GPRS抄<b class='flag-5'>表</b><b class='flag-5'>技術</b>是什么?
    主站蜘蛛池模板: 色婷婷亚洲精品综合影院 | 农村苗族一级特黄a大片 | 一及黄色 | 78摸在线| v视界影院最新地址 | 天天欧美 | 亚洲综合视频一区 | 欧美一级做一a做片性视频 欧美一级做一级做片性十三 | 黄在线观看网站 | 宅男噜噜噜66| 午夜三级毛片 | 好吊色7777sao在线视频观看 | 色成人亚洲 | 久久人精品 | 日本欧美一区二区免费视 | 亚洲视频一区二区在线观看 | 四虎精品视频 | 乱人伦xxxx国语对白 | 么公的好大好硬好深好爽在线视频 | 成人国产一区二区 | 成 人色 网 站999 | 婷婷免费高清视频在线观看 | 午夜久| 欧美色亚洲图 | 琪琪see色原在线20 | 7777奇米 | 亚洲欧美一区二区久久香蕉 | 成人黄色一级片 | 天天爱天天操天天干 | 欧美国产在线一区 | 四虎在线永久视频观看 | 主人扒开腿揉捏花蒂调教cfh | 亚洲欧美日本视频 | 11111日本网站 | 黄色免费毛片 | 国产精品乱码高清在线观看 | 永久手机看片福利盒子 | 精品精品国产高清a毛片牛牛 | 久久人人视频 | 一级欧美在线的视频 | 色妞女女女女女bbbb |