目前項目使用的是單機mysql,內(nèi)部也只有一個庫,現(xiàn)在想要根據(jù)不同的子業(yè)務(wù)在單機內(nèi)部拆分成多個庫,避免后續(xù)子業(yè)務(wù)拓展但仍操作同一個大庫的情況,但是現(xiàn)在有以下幾個疑問:
1、單機內(nèi)部拆分成多庫之后是否會對原來的sql操作造成比較大的影響,比如單庫內(nèi)的跨表查詢變成了多庫跨表,還有事務(wù)操作也有可能需要跨庫。
2、單機內(nèi)部分庫之后是否有助于提高穩(wěn)定性,會不會出現(xiàn)一個庫掛掉,另外的庫是好的,整體單機表現(xiàn)正常的情況?
3、單機內(nèi)部分庫之后還是會受制于單機本身的性能瓶頸吧,分庫后能提高IO嗎?
4、分庫之后還有哪些缺點?
3 回答

米脂
TA貢獻1836條經(jīng)驗 獲得超3個贊
1、sql操作需要帶庫名
2、跨庫事務(wù)即內(nèi)部xa
3、單機多庫與單庫一樣,一掛全掛
4、不做額外處理的話,IO性能并不會有什么變化

犯罪嫌疑人X
TA貢獻2080條經(jīng)驗 獲得超4個贊
看樓主的意思是應(yīng)該公司的業(yè)務(wù)拆分,不同的業(yè)務(wù)對應(yīng)不同的數(shù)據(jù)庫,不是應(yīng)對大數(shù)據(jù)存儲而進行的分庫分表;那就是業(yè)務(wù)重構(gòu)了,sql、代碼、架構(gòu)什么的肯定都是重來了,為什么還考慮對以前的sql有影響呢?
如果是只是業(yè)務(wù)分庫,業(yè)務(wù)數(shù)據(jù)量又不是很大的話,性能什么的都不是暫時需要考慮的問題,一般都是數(shù)據(jù)量到達一定的量級才會考慮分庫分表,現(xiàn)在最關(guān)鍵的還是完善好系統(tǒng)架構(gòu),好的架構(gòu)對后期的維護和擴展真的很重要。
還是覺得樓主重點問的是業(yè)務(wù)拆分,提問分庫很容易造成誤解,看題目還以為是針對大數(shù)據(jù)量的分庫分表。純屬個人觀點!
添加回答
舉報
0/150
提交
取消