亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

背景

公司營銷系統前段時間出了一個問題,名單表主鍵是INT類型,經過4年的業務發展,名單ID超過了21億,到達了INT類型的閾值,導致無法接收新的營銷名單。

自救失敗

發現問題原因后,第一時間聯系DBA,請他們幫忙執行一條ddl語句,將名單ID字段類型由INT調整為BIGINT。

很遺憾,由于表的存量數據有5000多萬,ddl無法短時間執行成功。為了避免線上聯機業務長時間受到影響,只能想別的辦法。

騰籠換鳥

名單ID最大值是INT的極大值,存量數據5000多萬,20多億歷史數據是被遷移備份歸檔了的。

聯系到每天新增名單200萬左右,所以新辦法的第一步就是將最進500萬數據的ID,平移到一個歷史區間,這樣就騰出了500萬的ID空間,讓新名單能正常接入,保證業務短期正常。

無阻塞動態修改schema

第一次自救失敗,主要原因是直接修改表字段類型是阻塞式修改,直接影響了線上業務。所以新辦法的第二步就是無阻塞修改表字段類型。DBA推薦了一款工具,PT-ONLINE-SCHEMA-CHANGE,能修改schema而不阻塞其他數據庫操作。

它的原理分為四步:

  1. 新建一個變更過schema后的表;
  2. 再在原表上建update觸發器、delete觸發器、insert觸發器,確保新的DML操作能同步到新表;
  3. 再將原表的數據到按照主鍵ID分區間拷貝到新表;
  4. 最后待數據copy完成后,將新表rename成老表。

整個過程幾乎不堵塞的(rename 操作會堵塞,但是rename操作時間很短),但是整體耗時很長。

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定