數據庫切庫、分庫、分表
阿新 • • 發佈:2018-07-08
動態數據 alt idt 速度 提高 sql 操作 一個數據庫 並發
切庫的基礎和實際運用—讀寫分離:
如何方便進行讀寫分離,目前有兩種方式:
1.動態數據源切換
它是指程序運行時,把數據源動態的織入到程序中,讓指定的程序連接主庫還是從庫
自定義註解完成數據庫切庫
2.直接定義查數據源和寫數據源
直接在項目裏定義兩個數據庫連接,一個是主庫連接一個是從庫連接,更新數據的時候我們讀取主庫連接,查詢數據的時候讀取從庫連接
多數據源(切庫)和分庫的區別:
它們都是底層是多個數據庫在提供服務。
分庫是屬於在微服務應用拆分的時候都有自己的數據庫,而多數據源是在沒有進行應用拆分的時候就已經分成兩個庫了,根據業務使用不同的代碼連接不同的數據庫。
多個數據源的輕松支持
數據庫的分表:
什麽時候考慮分表?
當一個數據表很大,大到我們做了sql和索引優化之後,基本操作的速度還是影響使用,我們就必須考慮分表了
分表的好處: 分表後單表的並發能力提高了,寫操作效率也會提高。其次是查詢一次的時間短了,數據分布在不同的文件裏,磁盤的io磁盤io性能也提高了, 磁盤的讀寫鎖影響的數據量變小,插入數據庫需要重新建立的索引變少。 分表策略: 橫向分表 將表中不同的數據行按照一定規律分布到不同的數據庫表中(這些表保存在同一個數據庫中),這樣來降低單表數據量,優化查詢性能。 縱向分表 一般根據數據的活躍度進行劃分。 mybatis分表插件shardbatis2.0
數據庫切庫、分庫、分表