偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

小黑提桶跑路啦!

數(shù)據(jù)庫 MySQL
假如MySQL建表時(shí)主鍵ID是int32且自增的,誰也沒想到業(yè)務(wù)發(fā)展這么快,今天忽然發(fā)現(xiàn)ID耗盡了,各種報(bào)警要炸鍋了,請求作為后端owner的你該如何處理?

[[415292]]

本文轉(zhuǎn)載自微信公眾號「后端研究所」,作者大白斯基 。轉(zhuǎn)載本文請聯(lián)系后端研究所公眾號。

大家好,我是后端研究所大白所長!

今天和大家聊一個(gè)有趣的話題:

假如MySQL建表時(shí)主鍵ID是int32且自增的,誰也沒想到業(yè)務(wù)發(fā)展這么快,今天忽然發(fā)現(xiàn)ID耗盡了,各種報(bào)警要炸鍋了,請求作為后端owner的你該如何處理?

話不多說,看看我的好兄弟小黑是如何處理的,開車!

1方案一:怒刷簡歷 提桶跑路

這個(gè)方案很簡單,怎么處理我不管,提桶跑路!

OS-1:試想大家滿懷信心地加入到了一家公司,等待你的卻是屎山一樣的代碼。

OS-2:這個(gè)項(xiàng)目的紅利已經(jīng)被前輩們吃完了,剩下的就是需要人來維護(hù),哦,沒錯(cuò),沒有人會(huì)在意誰在維護(hù)的,因?yàn)橐呀?jīng)沒人關(guān)注嘍。

OS-3:本以為要來指點(diǎn)江山,誰知道卻是不停填坑,唉,搞了半天還是搞土木工程的!

內(nèi)心波瀾起伏,終于小黑決定關(guān)上手機(jī)、下班跑路,回家改起了簡歷,決定提桶跑路。

畫外音:小黑這種做法是不可取的,畢竟跳槽很多時(shí)候就是從一個(gè)坑到另外一個(gè)坑,還是要正視問題,努力解決才行嘛,最后我們祝福小黑。

2方案二:救命的空洞

報(bào)警還在呼呼發(fā),小黑的臉更黑了,內(nèi)心慌得一批,旁邊的同事大劉見狀說:"小黑別慌,先及時(shí)止損,再尋找徹底解決的方案"。

聽聽,聽聽,大劉一出手就是老架構(gòu)師的味道。

大劉深知光扯方法論有個(gè)屁用,拿出解決方案才是硬道理。圖片

大劉說:"小黑你看下這個(gè)表的ID是從1開始的嗎?在建表初期有沒有空洞之類的,先讓數(shù)據(jù)強(qiáng)制寫到前面空洞區(qū)域,緩解一下線上危機(jī),再找DBA把ID的字段改成bigINT。"

小黑迅速get到大劉的意思,迅速看了一下,還真有100w的空洞啊!

小黑的淚水奪目而出,恨不得抱著大劉說:"恩人啊大劉。"

說干就干,小黑花了10分鐘改完走了快速上線,終于報(bào)警慢慢降下來了,100w的空洞夠用幾天了,小黑的臉也沒這么黑了。

接著小黑找到了DBA老張,和老張說明了情況于是開始了在線修改字段類型,由于表很大,這個(gè)操作非常耗時(shí),好在空洞可以撐一段時(shí)間。

終于在晚上6點(diǎn)表字段改成了bigint,從32位到64位再也不用擔(dān)心會(huì)耗盡了。

小黑拉上大劉和老張來到了肉串汪,好好謝謝這兩位大神。

畫外音:快謝謝身邊那些每次都提出切實(shí)可行方案的同事吧,要成為老架構(gòu)師的路還長著呢,小黑加油!

3方案三:忍痛割愛

報(bào)警就像龍卷風(fēng)一樣吹得小黑頭暈?zāi)垦?,小黑想到了圖靈、想到了馮諾依曼、想到了馬云、想到了馬化騰...

一番思想斗爭之后,小黑決定迎難而上,干!

旁邊大劉湊過來說:"小黑別慌,這個(gè)是已知問題,可能是之前的人沒交接清楚,挖了這個(gè)坑"。

小黑看著大劉說:"大劉有啥好辦法嗎?"

大劉道:"大原則是優(yōu)先止損,則深度解決,印象中ID是從1開始的沒有空洞,但是早期的數(shù)據(jù)應(yīng)該不用了,你可以回收一波,騰出空間讓新數(shù)據(jù)寫到舊ID上,業(yè)務(wù)影響有限可以及時(shí)止損。"

小黑get了大劉的意思,好在前幾天剛寫了個(gè)刪庫腳本,沒想到派上用場了,小黑改了一點(diǎn)拿到線上環(huán)境回收了100w個(gè)ID,但是這100w個(gè)ID并不是連續(xù)的。

小黑想了一下,決定加個(gè)中間層,把這100w個(gè)ID先存儲(chǔ)到了redis中,線上服務(wù)先讀redis拿到可用的ID再進(jìn)行寫庫,從而緩解了問題。

快速修復(fù)上線后,報(bào)警逐漸降下來了,于是小黑抓緊找到了DBA老張來修改ID字段類型。

終于在晚上6點(diǎn)表字段改成了bigint,從32位到64位再也不用擔(dān)心會(huì)耗盡了。

小黑拉上大劉和老張來到了木屋燒烤,好好謝謝這兩位大神。

畫外音:問題總會(huì)有解決方案的,平時(shí)注意積累,關(guān)鍵時(shí)刻可以提供解決問題的速度,平時(shí)多流汗,戰(zhàn)時(shí)少流淚。

4小結(jié)

對于這個(gè)問題,網(wǎng)上很多相關(guān)的文章,基本上都是再說改成bigint,這種說法不能說錯(cuò),但是不夠及時(shí)雨。

試想32位都寫滿了的大表,改字段要消耗多久?這期間的新寫數(shù)據(jù)怎么辦?并不能及時(shí)止損,P0事故是跑不了了。

除了文中的幾種方案,結(jié)合具體的場景還會(huì)有其他做法:比如新建一張表,雙讀&單寫新表,總之方法不止一種,結(jié)合場景&及時(shí)止損才是真正的好方案。

就寫這么多吧!

 

責(zé)任編輯:武曉燕 來源: 后端研究所
相關(guān)推薦

2021-09-26 09:22:59

遞歸代碼二叉樹

2011-10-12 10:24:03

筆記本評測

2024-03-25 00:03:00

生成式 AIAI

2011-12-22 14:13:19

筆記本評測

2018-09-21 16:30:55

2020-10-10 14:54:11

HPAPaaS社區(qū)

2012-03-12 15:32:41

ThinkPad筆記本

2020-08-05 11:50:47

刪庫MySQL數(shù)據(jù)庫

2019-08-20 14:20:19

MySQL數(shù)據(jù)恢復(fù)數(shù)據(jù)庫

2020-03-03 17:28:39

CIO刪庫微盟

2024-03-29 08:08:25

2020-10-21 08:59:50

刪庫程序員虛擬機(jī)

2013-02-19 09:56:26

2011-10-06 16:31:15

ThinkPad筆記本

2009-04-15 13:42:49

Windows 7預(yù)裝小黑

2012-03-29 16:18:58

聯(lián)想筆記本

2019-01-23 15:23:21

程序員刪庫跑路游戲公司

2022-03-01 21:05:39

TCP網(wǎng)絡(luò)協(xié)議

2015-08-14 17:33:21

114啦視頻

2025-02-12 09:04:20

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號