色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

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

京東云 ? 來源:張俊杰 ? 作者:張俊杰 ? 2025-02-21 09:51 ? 次閱讀

作者:張俊杰

概述

這篇文章沒什么太多的干貨,純純是一篇討論和思考帖。

從業數據庫領域三年有余了,從分庫分表中間件到數據庫團隊內核學到了很多東西。也接觸了很多項目,包括TiDB、Vitess、Polardb、StarDB等等。

國內的項目好像很多都聚焦于分庫分表的概念,包括很多的數據庫團隊都在嘗試這個概念的落地和沉溺于性能的跑分。

最近我在預覽MySQL官方,看到了Partitioning的概念,而且占據了很大的篇幅。不由得引人思考,為什么這個概念在我接觸的業務中沒有被廣泛的使用呢?或許我們將來可以有分庫分區的概念?

接下來從頭縷一下數據庫選型的問題吧(以下均以MySQL的Innodb場景為例):

分表、分區、分庫有什么用處

在那個遠古的時代,物理機器的配置很低,當數據量增大的時候,傳統的B+樹的高度會越來越高,我們對硬件資源的要求很高,機器往往內存爆倉、IO打滿等等。

這導致:

查詢速度顯著下降。復雜的查詢、索引失效、全表掃描等操作變得緩慢。

在大表中創建和維護索引可能會消耗大量的時間和資源。插入、更新和刪除操作可能需要花費更長的時間來維護索引,導致性能下降。

讀寫操作可能導致鎖沖突,降低系統的并發處理能力,甚至引發死鎖問題。

備份、恢復、數據清理、空間管理等操作變得困難,維護成本和風險增加。

等等。。

后來我們引出了第一個概念:分表

分表

在 5.1版本以前,MySQL并沒有分區的概念,為了解決這個問題,無非是單表拆成雙表、多表之類的,這樣將一個表要面臨的問題分散成了兩個表或者多個表共同承受。

反思當下,在當前這個物理資源冗余的時代,大部分業務場景下我們的單表真的會比分表的性能差很多嗎?有多少時候我們是為了分表而分表?我們的分表邏輯或許需要我們支持更多的功能,比如彈性、事務、一些查詢語句的改寫,然后一遍一遍的造輪子給運維帶來無盡的痛苦。

分庫

分表的解決能力還是有限的,我們一臺物理機器的能力也是有限的,這時候或許我們可以采用分表的形式,來避免熱點問題或者單機器壓力過載的問題。

將一個庫要面臨的問題分散成了兩個庫或者多個庫共同承受。

分區

?相關文檔

在5.1版本以后MySQL出了一個國內幾乎無人問津的分區表的功能。

分區表的實現原理其實和分表差不太多,不過它更靠近文件系統,而沒有經過MySQL的應用層或者引擎層。MySQL的物理數據,存儲在表空間文件(.ibdata1和.ibd)中,這里講的分區的意思是指將同一表中不同行的記錄分配到不同的物理文件中,幾個分區就有幾個.idb文件

隨著 MySQL 版本的更新迭代,分區功能也在后續版本中不斷得到改進和增強。具體的分區功能支持情況如下:

?MySQL 5.1:引入了 Range 和 List 兩種分區類型。支持基本的分區管理和查詢優化。

?MySQL 5.5:對分區表的查詢優化有所改進,提升了性能。

?MySQL 5.6:引入了更多的分區管理功能,包括 subpartition 子分區、分區交換操作、CHECK 約束等。

?MySQL 5.7:進一步增強了分區表的功能,包括 hash 分區類型、NOWAIT 選項、ALTER TABLE ... EXCHANGE PARTITION 和 ALTER TABLE ... REBUILD PARTITION 等操作。

?MySQL 8.0:繼續對分區表進行優化和增強,包括對于自動生成分區鍵值、分區表的查詢性能提升等方面的改進。

這樣看起來,這不完全Cover住了分表的概念嗎?甚至,這不比業界的分表做的還要好嗎。

那為什么我們還要癡迷于分表,或許我們可以采用分區的邏輯吧?

當然,還有一些延伸到運維操作,舉個例子:

分區表怎么擴容

詳見 ALTER TABLE 語句

1.創建新分區:使用 ALTER TABLE 命令添加新的分區。例如,如果是按照時間范圍分區的表,可以增加新的時間范圍的分區。

ALTER TABLE your_partitioned_table
ADD PARTITION (PARTITION p_new VALUES LESS THAN (new_value));

這里的 new_value 是新的分區范圍。

2. 數據遷移:使用 ALTER TABLE ... REORGANIZE PARTITION 命令將現有分區中的數據遷移到新的分區中。例如,可以通過將舊分區的數據移動到新分區來實現。

ALTER TABLE your_partitioned_table
REORGANIZE PARTITION old_partition INTO
(PARTITION p_new VALUES LESS THAN (new_value));

這里的 old_partition 是要移動數據的舊分區。

3. 數據清理(可選):在確認數據遷移成功后,可以考慮清理不再需要的舊分區。使用 ALTER TABLE ... DROP PARTITION 命令可以刪除不再需要的舊分區。

ALTER TABLE your_partitioned_table
DROP PARTITION old_partition;

這里的 old_partition 是要刪除的舊分區。

顯而易見,這是一個原地擴容操作,我們或許不需要引入什么復雜的組建或者邏輯去做resharding。

落地方案猜測

我們或許可以在單表業務場景下遇到問題瓶頸后采用分區的概念,如果分區不夠可以采用原地擴容邏輯。當機器達到瓶頸后采用分庫的概念達成分庫分區的邏輯。

這只是一個猜想,對于我們的數據庫廠商,其實只需要將這套邏輯維護好做到高可用的邏輯即可。

當然,圍繞著分區和物理數據庫我們還有很多擴展內容可以去做,但是這篇文章旨在說明,或許我們不應該被分庫分表約束了思維,或許我們不需要做分布式的邏輯,或許在機器性能良好的場景下我們單機器就可以cover住我們的數據量。

此外,一個數據庫產品或許應該做到serverless的概念,我們用戶不需要理解這么多的邏輯,至于分區或許這個看MySQL文檔都可以學習到。

審核編輯 黃宇

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

    關注

    1

    文章

    849

    瀏覽量

    27635
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    PCB Layout 約束管理,助力優化設計

    本文重點PCBlayout約束管理在設計中的重要性Layout約束有助避免一些設計問題設計中可以使用的不同約束在PCB設計規則和約束管理方面,許多設計師試圖采用“一刀切”的方法,認為同
    的頭像 發表于 05-16 13:02 ?291次閱讀
    PCB Layout <b class='flag-5'>約束</b>管理,助力優化設計

    PanDao:實際約束條件下成像系統的初始結構的生成

    的平均RMS光斑尺寸約為55 μm,色差校正效果中等。基于同等規格與約束我們采用自主研發的FTR初始透鏡生成器,在數分鐘內即創建出多個更加優質的設計方案。圖1展示由FTR程序生成的五類不同透鏡系統
    發表于 05-07 08:57

    FPGA時序約束之設置時鐘組

    Vivado中時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束中設置時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組中時鐘的時序路徑,使用set_false_path約束
    的頭像 發表于 04-23 09:50 ?330次閱讀
    FPGA時序<b class='flag-5'>約束</b>之設置時鐘組

    一文詳解Vivado時序約束

    Vivado的時序約束是保存在xdc文件中,添加或創建設計的工程源文件后,需要創建xdc文件設置時序約束。時序約束文件可以直接創建或添加已存在的約束文件,創建
    的頭像 發表于 03-24 09:44 ?2968次閱讀
    一文詳解Vivado時序<b class='flag-5'>約束</b>

    VirtualLab Fusion應用:使用自定義的評價函數優化高NA束器

    我們演示兩種具有不同配置目標和約束的優化: ?在優化#1中,優先考慮均勻性誤差。 ?在優化#2中,0級也要最小化。 關于評價函數約束,用戶可以指定 ?單獨的目標值、范圍、下限或上限
    發表于 03-07 08:54

    數顯千分表的數據如何用存儲器進行接收?

    數顯千分表的數據如何用存儲器進行接收
    發表于 02-11 06:01

    不是!讓高速先生給個過孔優化方案就那么難嗎?

    我們之前的文章也有分享過,不同長度的層出線,過孔阻抗也會有不小的差異哈。 差分過孔間距不同 仔細看給過來的過孔指導,其實只約束了信號孔到地過孔的距離,但是沒對信號孔之間的距離做約束,那我們
    發表于 01-21 08:50

    和 Dr Peter 一起學 KiCad 4.3:輪廓與約束 (Edge cut板框)

    “ ?在本節中,您將學會如何繪制 PCB 的板框。 ? ” 4 .3.? 2- 輪廓與約束 (Edge cut板框) 在本章中,我們將完成在本書第三部第二章中學到的 PCB 工作流程的第二步。在這
    的頭像 發表于 12-03 12:13 ?1051次閱讀
    和 Dr Peter 一起學 KiCad 4.3:輪廓與<b class='flag-5'>約束</b> (Edge cut板框)

    時序約束一主時鐘與生成時鐘

    的輸出,對于Ultrascale和Ultrascale+系列的器件,定時器會自動地接入到GT的輸出。 1.2 約束設置格式 主時鐘約束使用命令create_clock進行創建,進入Timing
    的頭像 發表于 11-29 11:03 ?1289次閱讀
    時序<b class='flag-5'>約束</b>一主時鐘與生成時鐘

    常用時序約束使用說明-v1

    為了節省每層導入網的時間,在設置中我們通常不會勾選Aoto Load place and route Data 前面的勾選框。這樣每次編譯完成之后Show/Hide Tcl Command
    的頭像 發表于 11-01 11:06 ?515次閱讀

    電路的兩類約束指的是哪兩類

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設計和分析中起著至關重要的作用。 一、電氣約束 電氣
    的頭像 發表于 08-25 09:34 ?1860次閱讀

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

    軟件系統數據庫的分庫設計 系統讀寫分離、分庫技術實現采用MyCat中間件,MyCat 是
    的頭像 發表于 08-22 11:39 ?551次閱讀
    軟件系統數據庫的<b class='flag-5'>分庫</b><b class='flag-5'>分</b><b class='flag-5'>表</b>設計

    深度解析FPGA中的時序約束

    建立時間和保持時間是FPGA時序約束中兩個最基本的概念,同樣在芯片電路時序分析中也存在。
    的頭像 發表于 08-06 11:40 ?1295次閱讀
    深度解析FPGA中的時序<b class='flag-5'>約束</b>

    如何將精益思維應用于傳統工廠的數字化轉型?

    隨著科技的不斷進步和市場競爭的日益激烈,傳統工廠正面臨著前所未有的挑戰。如何在這場數字化浪潮中站穩腳跟,甚至實現彎道超車?答案或許就在精益思維中。今天,深圳天行健企業管理咨詢公司就來解析如何將精益
    的頭像 發表于 07-18 09:43 ?441次閱讀

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

    ,通過分庫應對存系統讀寫性能瓶頸和存儲瓶頸;分庫
    的頭像 發表于 06-25 18:30 ?1283次閱讀
    <b class='flag-5'>分庫</b><b class='flag-5'>分</b><b class='flag-5'>表</b>后復雜查詢的應對之道:基于DTS實時性ES寬<b class='flag-5'>表</b>構建技術實踐
    主站蜘蛛池模板: 国产精品免费大片一区二区 | 日韩性大片 | 男人J放进女人屁股免费观看 | 久草热在线| 国产交换丝雨巅峰 | 亚洲人成色777777老人头 | SM双性精跪趴灌憋尿调教H | 亚洲欧美中文字幕高清在线 | 偷窥自拍性综合图区 | 国产亚洲欧洲日韩在线三区 | 成都电影免费中文高清 | 高清午夜福利电影在线 | 99精品成人无码A片观看金桔 | 中文字幕本庄优花喂奶 | 无码专区无码专区视频网网址 | 与嫂子同居的日子在线观看 | 午夜一区欧美二区高清三区 | 亚洲爆乳少妇精品无码专区 | 超碰在线vip | 最近中文字幕高清中文 | 翘臀后进美女白嫩屁股视频 | 亚洲精品视频区 | 三级成人电彭 | 国产成人久久精品AV | 中文字幕欧美日韩VA免费视频 | 琪琪电影午夜理论片YY6080 | 国产一区日韩二区欧美三区 | 国产成人免费不卡在线观看 | 一本道高清到手机在线 | 亚洲第一综合天堂另类专 | 亚洲免费成人 | 调教玩弄奶头乳夹开乳震动器 | 999zyz色资源站在线观看 | 色综合久久88色综合天天提莫 | 高h浪荡文辣文神奇宝贝 | 国产成人免费观看在线视频 | 婷婷开心激情综合五月天 | 香蕉人人超人人超碰超国产 | 簧片高清在线观看 | 羞羞影院男女爽爽影院尤物 | 国产69精品久久久久妇女 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品