数据库的垂直切分和水平切分
生活随笔
收集整理的這篇文章主要介紹了
数据库的垂直切分和水平切分
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據切分可以是物理上的,對數據通過一系列的切分規則將數據分布到不同的DB服務器上,通過路由規則路由訪問特定的數據庫,這樣一來每次訪問面對的就不是單臺服務器了,而是N臺服務器,這樣就可以降低單臺機器的負載壓力。
數據切分也可以是數據庫內的,對數據通過一系列的切分規則,將數據分布到一個數據庫的不同表中,比如將article分為article_001,article_002等子表,若干個子表水平拼合有組成了邏輯上一個完整的article表,這樣做的目的其實也是很簡單的。 舉個例子說明,比如article表中現在有5000w條數據,此時我們需要在這個表中增加(insert)一條新的數據,insert完畢后,數據庫會針對這張表重新建立索引,5000w行數據建立索引的系統開銷還是不容忽視的。但是反過來,假如我們將這個表分成100 個table呢,從article_001一直到article_100,5000w行數據平均下來,每個子表里邊就只有50萬行數據,這時候我們向一張只有50w行數據的table中insert數據后建立索引的時間就會呈數量級的下降,極大了提高了DB的運行時效率,提高了DB的并發量。當然分表的好處還不知這些,還有諸如寫操作的鎖操作等,都會帶來很多顯然的好處。
綜上,分庫降低了單點機器的負載;分表,提高了數據操作的效率,尤其是Write操作的效率。
總結
以上是生活随笔為你收集整理的数据库的垂直切分和水平切分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天天生鲜页面设计——网站首页
- 下一篇: Linux桌面文件被隐藏,在Deepin