場景分析
基礎概念
分庫、分表實現策略
分庫
按地區分
橫向/水平分表:解決 表記錄太大問題
按某個欄位分
按日期分表
通過mysql的merge儲存引擎實現
create
table log_merge (
dt datetime not
null,
info varchar (100) not
null,
index (dt)
) engine = merge
union= (log_2017,log_2018) insert_method = last;
縱向/垂直分表 :解決 列過多問題
具體策略
分庫、分表注意事項
避免分表join操作。關聯的表有可能不在同一資料庫中。
避免跨庫事務
分表宜多不宜少;避免後期可能二次拆分。
盡量同組資料統一db伺服器。例如將賣家a的商品和交易資訊都放到db0中,當db1掛了的時候,賣家a相關的東西可以正常使用。即避免多個資料庫中的資料產生依賴。
references
mysql oracle 動態擴容分庫分表 面試題
如何設計可以動態擴容縮容的分庫分表方案?對於分庫分表來說,主要是面對以下問題 這個是你必須面對的乙個事兒,就是你已經弄好分庫分表方案了,然後一堆庫和表都建好了,基於分庫分表中介軟體的 開發啥的都好了,測試都 ok 了,資料能均勻分布到各個庫和各個表裡去,而且接著你還通過雙寫的方案咔嚓一下上了系統,已...
mysql知識擴充套件之分庫分表
mysql知識擴充套件之分庫分表 mysql網際網路oracle企業應用資料結構 資料庫的複製能解決訪問問題,並不能解決大規模的併發寫入問題,要解決這個問題就要考慮mysql資料切分了 www.2cto.com 資料切分,顧名思義,就是資料分散,將一台主機上的資料分攤到多台,減輕單台主機的負載壓力,...
mysql分表分庫實現 MySql分表分庫思路
一.資料庫瓶頸 1.1io瓶頸 第一種 磁碟讀io瓶頸,熱點資料太多,資料庫快取放不下,每次查詢時會產生大量的io 分庫和垂直分表 第二種 網路io瓶頸,請求的資料太多,網路頻寬不夠 分庫 1.2cpu瓶頸 第一種 sql問題,如sql中包含join,group by,order by,非索引字段條...