scale 英文是擴展的意思。 數據庫要進行擴展,指的是存儲系統不夠,或者性能不夠,要提升的時候,就要進行擴展。 分為向上擴展和橫向擴展,這就像一個人往上面發展與橫向發展兩種思路。 scale-up:往上方向去擴展,就是提高單機的性能,比如數據庫調優,硬件
scale 英文是擴展的意思。
數據庫要進行擴展,指的是存儲系統不夠,或者性能不夠,要提升的時候,就要進行擴展。
分為向上擴展和橫向擴展,這就像一個人往上面發展與橫向發展兩種思路。
scale-up:往上方向去擴展,就是提高單機的性能,比如數據庫調優,硬件上的調優等等。都是從一個提升上來考慮。
scale-out:橫向去擴展。目標不是放在提高單機性能上。而是要做成分布式。多個機器來解決。
scale-up和scale-out的角度是機器的角度,一臺機器不夠的時候,是把硬件性能提升(往上面擴展),還是通過分布式(橫向擴展)
橫向擴展是一個戰略上的,要做成分布式,怎么把數據分散到多個機器上呢,現在要談戰術上用什么技術手段,技術手段就是sharding技術。
而sharding技術是分片的意思,分片其實是指數據進行分片
分為垂直分片和水平分片。
垂直分片:典型的是將大字段拆分出去。
水平分片:按照某個字段,比如user_id進行hash,一部分到一個表,一部分到另外一張表,這就是水平分片。
我覺得,sharding側重的點不同,側重的點是對數據,數據庫中的數據如何進行分片上(分散到多個點存儲,這個點可以是服務器,也可以是小到一個庫,小到一個表)。
而sacle側重是整個數據庫如何擴展。是整體上的。
解決數據庫性能問題歸類分為兩大類:
一、scale up和scale out
二、sharding技術
網上關于分表的資料很多。
以上只是為個人做概念區分。不正確之處,等待完善
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com