最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL分庫分表后路由策略設(shè)計(jì)詳情

 更新時(shí)間:2022年08月08日 11:29:36   作者:人間湊個(gè)數(shù)  
這篇文章主要介紹了MySQL分庫分表后路由策略設(shè)計(jì)詳情,分庫分表后設(shè)計(jì)到的第一個(gè)問題就是,如何選擇路由key,應(yīng)該如何對(duì)key進(jìn)行路由

概述

分庫分表后設(shè)計(jì)到的第一個(gè)問題就是,如何選擇路由key,應(yīng)該如何對(duì)key進(jìn)行路由。路由key應(yīng)該在每個(gè)表中都存在而且唯一。路由策略應(yīng)盡量保證數(shù)據(jù)能均勻進(jìn)行分布。

如果是對(duì)大數(shù)據(jù)量進(jìn)行歸檔類的業(yè)務(wù)可以選擇時(shí)間作為路由key。比如按數(shù)據(jù)的創(chuàng)建時(shí)間作為路由key,每個(gè)月或者每個(gè)季度創(chuàng)建一個(gè)表。按時(shí)間作為分庫分表后的路由策略可以做到數(shù)據(jù)歸檔,歷史數(shù)據(jù)訪問流量較小,流量都會(huì)打到最新的數(shù)據(jù)庫表中。

也可以設(shè)計(jì)其與業(yè)務(wù)相關(guān)的路由key。這樣可以保證每個(gè)數(shù)據(jù)庫的資源都能很好的承擔(dān)流量。

支持場(chǎng)景

外賣訂單平臺(tái)分庫分表后需要支持的場(chǎng)景,用戶的角度,需要實(shí)時(shí)查看所點(diǎn)外賣訂單的狀態(tài),跟蹤訂單信息。商家需要查詢訂單信息,通過訂單分析菜品的質(zhì)量,進(jìn)行商業(yè)決策。

用戶Consumer = C端 商家Business = B端

用戶下單后訂單可能會(huì)落到不同的表中,查詢的時(shí)候可能需要查詢多張表。

路由策略

如果創(chuàng)建訂單時(shí)隨機(jī)插入到某一張表中,或者不知道插入到那張表中,查詢訂單的時(shí)候都需要查詢所有的表才能確保查詢的準(zhǔn)確信。

如果在插入訂單的時(shí)候有一定的規(guī)則,根據(jù)這個(gè)規(guī)則插入到數(shù)據(jù)庫中,查詢的時(shí)候也執(zhí)行相應(yīng)的規(guī)則到對(duì)應(yīng)的表中進(jìn)行查詢。這樣就能減少數(shù)據(jù)操作的復(fù)雜性??梢酝ㄟ^設(shè)計(jì)路由策略來實(shí)現(xiàn),用戶和商家查詢數(shù)據(jù)的時(shí)候都遵循相同的路由策略。

用戶端路由key

根據(jù)上一小節(jié)的路由策略分析,現(xiàn)在需要選定一個(gè)路由key。用戶端讓同一個(gè)用戶id的數(shù)據(jù)保存到某固定的表中,所以可以選用用戶id最為路由key。

在單庫的情況下,用戶下單,生成一個(gè)訂單,把用戶id作為路由key,對(duì)user_id取hash值然后對(duì)表的數(shù)量進(jìn)行取模,得到對(duì)應(yīng)需要路由的表,然后寫入數(shù)據(jù)。

多庫多表的情況下需要先找到對(duì)應(yīng)的庫然后再找到對(duì)應(yīng)的表。多庫多表的路由策略:用戶下達(dá)->生成訂單->路由策略:根據(jù)用戶id的hash值對(duì)數(shù)據(jù)庫的數(shù)量進(jìn)行取模找到對(duì)應(yīng)的數(shù)據(jù)庫->根據(jù)用戶id的hash值除以對(duì)表的數(shù)量,然后在對(duì)表的數(shù)量進(jìn)行取模即可找到對(duì)應(yīng)的表。

路由策略設(shè)計(jì)的要點(diǎn)是根據(jù)具體的業(yè)務(wù)業(yè)務(wù)場(chǎng)景設(shè)計(jì),跟用戶信息關(guān)聯(lián)度比較大的作為路由key進(jìn)行hash值取模

商家路由key

單獨(dú)為商家B端設(shè)計(jì)了一套表(C端和B端是獨(dú)立的)。

用戶的角度以u(píng)ser_id作為路由key,商戶的角度以商家id作為路由key。商家是如何通過路由key路由數(shù)據(jù)的呢。游湖在下單的時(shí)候把隊(duì)友的訂單號(hào)發(fā)送到MQ里,商家可以去消費(fèi)這個(gè)MQ,然后根據(jù)訂單號(hào)獲取訂單信息,然后再把訂單信息插入到商戶的數(shù)據(jù)庫表當(dāng)中。商戶的路由策略和用戶的路由策略是一樣的。

用戶端和商戶端的完整數(shù)據(jù)流程圖:

到此這篇關(guān)于MySQL分庫分表后路由策略設(shè)計(jì)詳情的文章就介紹到這了,更多相關(guān)MySQL分庫分表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL中order?by排序時(shí)數(shù)據(jù)存在null則排序在最前面的方法

    MySQL中order?by排序時(shí)數(shù)據(jù)存在null則排序在最前面的方法

    order by排序是最常用的功能,但是排序有時(shí)會(huì)遇到數(shù)據(jù)為空null的情況,這樣排序就會(huì)亂了,這篇文章主要給大家介紹了關(guān)于MySQL中order?by排序時(shí)數(shù)據(jù)存在null則排序在最前面的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • mysql批量更新多條記錄的同一個(gè)字段為不同值的方法

    mysql批量更新多條記錄的同一個(gè)字段為不同值的方法

    最近在工作的時(shí)候突然想到了一個(gè)問題,就是mysql如何才能實(shí)現(xiàn)批量更新多條記錄的同一個(gè)字段為不同值,于是就動(dòng)手實(shí)踐起來了,發(fā)現(xiàn)其中的學(xué)問還是挺多的,所以想著就總結(jié)下來分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 一文帶你了解MySQL中的事務(wù)

    一文帶你了解MySQL中的事務(wù)

    事務(wù)處理可以用來維護(hù)數(shù)據(jù)庫的完整性,保證成批的sQL語句要么全部執(zhí)行,要么全部不執(zhí)行。本文將通過一些簡(jiǎn)單的示例帶大家了解一下MySQL中的事務(wù),希望對(duì)大家有所幫助
    2023-02-02
  • mysql8.0?my.ini?如何永久修改時(shí)區(qū)

    mysql8.0?my.ini?如何永久修改時(shí)區(qū)

    這篇文章主要介紹了mysql8.0?my.ini?如何永久修改時(shí)區(qū),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • MySQL 子查詢和分組查詢

    MySQL 子查詢和分組查詢

    這篇文章主要介紹了MySQL 子查詢和分組查詢的相關(guān)資料,幫助大家更好的理解MySQL查詢的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-11-11
  • 通過SQL語句來備份,還原數(shù)據(jù)庫

    通過SQL語句來備份,還原數(shù)據(jù)庫

    這里僅僅用到了一種方式而已,把數(shù)據(jù)庫文件備份到磁盤然后在恢復(fù).
    2010-02-02
  • 教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實(shí)現(xiàn)

    教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 淺談MySQL中使用IN會(huì)走索引嗎

    淺談MySQL中使用IN會(huì)走索引嗎

    本文主要介紹了淺談MySQL中使用IN會(huì)走索引嗎,通過三個(gè)案例分析了MySQL 5.7.34版本中IN操作符的執(zhí)行情況,感興趣的可以了解一下
    2025-02-02
  • MySQL定時(shí)備份數(shù)據(jù)庫操作示例

    MySQL定時(shí)備份數(shù)據(jù)庫操作示例

    這篇文章主要介紹了MySQL定時(shí)備份數(shù)據(jù)庫操作,結(jié)合實(shí)例形式分析了MySQL定時(shí)備份數(shù)據(jù)庫相關(guān)命令、原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • MySQL8.0.32安裝及環(huán)境配置過程

    MySQL8.0.32安裝及環(huán)境配置過程

    這篇文章主要介紹了MySQL8.0.32安裝以及環(huán)境配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04

最新評(píng)論

罗城| 剑阁县| 隆德县| 合阳县| 漠河县| 凤阳县| 仁化县| 罗江县| 乐山市| 桓台县| 临沂市| 图们市| 丰顺县| 柳河县| 乳源| 房产| 安顺市| 开化县| 准格尔旗| 南靖县| 永定县| 铁力市| 邛崃市| 静乐县| 原阳县| 油尖旺区| 长阳| 屏南县| 和平县| 本溪| 翁源县| 新竹县| 方山县| 荥阳市| 泸水县| 固镇县| 南木林县| 怀宁县| 丹江口市| 乌拉特前旗| 山阴县|