更新時間:2023年03月07日13時56分 來源:傳智教育 瀏覽次數(shù):
分庫分表的優(yōu)點非常明顯,如:將大表拆分成小表,單表數(shù)據(jù)量控制在 5000 萬行以內(nèi),使 MySQL 性能穩(wěn)定可控。將單張大表拆分成小表后,能水平擴展,通過部署到多臺服務器,提升整個集群的 QPS、TPS、Latency 等數(shù)據(jù)庫服務指標。
但是,此方案的缺點也非常明顯:
分表跨實例后,產(chǎn)生分布式事務管理難題,一旦數(shù)據(jù)庫服務器宕機,有事務不一致風險。
分表后,對 SQL 語句有一定限制,對業(yè)務方功能需求大打折扣。尤其對于實時報表統(tǒng)計類需求,限制非常之大。事實上,報表大多都是提供給高層領導使用的,其重要性不言而喻。
分表后,需要維護的對象呈指數(shù)增長(MySQL實例數(shù)、需要執(zhí)行的 SQL 變更數(shù)量等)。