1. 程式人生 > >硬碟的讀寫原理

硬碟的讀寫原理

硬碟的種類主要是SCSI 、IDE 、以及現在流行的SATA等;任何一種硬碟的生產都要一定的標準;隨著相應的標準的升級,硬碟生產技術也在升級;比如 SCSI標準已經經歷了SCSI-1 、SCSI-2、SCSI-3;其中目前咱們經常在伺服器網站看到的 Ultral-160就是基於SCSI-3標準的;IDE 遵循的是ATA標準,而目前流行的SATA,是ATA標準的升級版本;IDE是並口裝置,而SATA是串列埠,SATA的發展目的是替換IDE;

我們知道資訊儲存在硬盤裡,把它拆開也看不見裡面有任何東西,只有些碟片。假設,你用顯微鏡把碟片放大,會看見碟片表面凹凸不平,凸起的地方被磁化,凹的地方是沒有被磁化;凸起的地方代表數字1(磁化為1),凹的地方代表數字0。因此硬碟可以以二進位制來儲存表示文字、圖片等資訊。

1、硬碟的組成

        硬碟大家一定不會陌生,我們可以把它比喻成是我們電腦儲存資料和資訊的大倉庫。一般說來,無論哪種硬碟,都是由碟片、磁頭、碟片主軸、控制電機、磁頭控制器、資料轉換器、介面、快取等幾個部份組成。

                                                                       平面圖:

                                            立體圖

        所有的碟片都固定在一個旋轉軸上,這個軸即碟片主軸。而所有碟片之間是絕對平行的,在每個碟片的儲存面上都有一個磁頭,磁頭與碟片之間的距離比頭髮 絲的直徑還小。所有的磁頭連在一個磁頭控制器上,由磁頭控制器負責各個磁頭的運動。磁頭可沿碟片的半徑方向動作,(實際是斜切向運動),每個磁頭同一時刻也必須是同軸的,即從正上方向下看,所有磁頭任何時候都是重疊的(不過目前已經有多磁頭獨立技術,可不受此限制)。而碟片以每分鐘數千轉到上萬轉的速度在高速旋轉,這樣磁頭就能對碟片上的指定位置進行資料的讀寫操作。


由於硬碟是高精密裝置,塵埃是其大敵,所以必須完全密封。

2、硬碟的工作原理

硬碟在邏輯上被劃分為磁軌、柱面以及扇區.

硬碟的每個碟片的每個面都有一個讀寫磁頭,磁碟盤面區域的劃分如圖所示。

        磁頭靠近主軸接觸的表面,即線速度最小的地方,是一個特殊的區域,它不存放任何資料,稱為啟停區或著陸區(LandingZone),啟停區外就是資料區。在最外圈,離主軸最遠的地方是“0”磁軌,硬碟資料的存放就是從最外圈開始的。那麼,磁頭是如何找到“0”磁軌的位置的 呢?在硬碟中還有一個叫“0”磁軌檢測器的構件,它是用來完成硬碟的初始定位。“0”磁軌是如此的重要,以致很多硬碟僅僅因為“0”磁軌損壞就報廢,這是 非常可惜的。
        早期的硬碟在每次關機之前需要執行一個被稱為Parking的程式,其作用是讓磁頭回到啟停區。現代硬碟在設計上已摒棄了這個雖不復雜卻很讓人不愉快的小缺陷。硬碟不工作時,磁頭停留在啟停區,當需要從硬碟讀寫資料時,磁碟開始旋轉。旋轉速度達到額定的高速時,磁頭就會因碟片旋轉產生的氣流而擡起, 這時磁頭才向盤片存放資料的區域移動。
       碟片旋轉產生的氣流相當強,足以使磁頭托起,並與盤面保持一個微小的距離。這個距離越小,磁頭讀寫資料的靈敏度就越高,當然對硬碟各部件的要求也越 高。早期設計的磁碟驅動器使磁頭保持在盤面上方几微米處飛行。稍後一些設計使磁頭在盤面上的飛行高度降到約0.1μm~0.5μm,現在的水平已經達到 0.005μm~0.01μm,這只是人類頭髮直徑的千分之一。
        氣流既能使磁頭脫離開盤面,又能使它保持在離盤面足夠近的地方,非常緊密地跟隨著磁碟表面呈起伏運動,使磁頭飛行處於嚴格受控狀態。磁頭必須飛行在盤面上方,而不是接觸盤面,這種位置可避免擦傷磁性塗層,而更重要的是不讓磁性塗層損傷磁頭。
但是,磁頭也不能離盤面太遠,否則,就不能使盤面達到足夠強的磁化,難以讀出盤上的磁化翻轉(磁極轉換形式,是磁碟上實際記錄資料的方式)。


        硬碟驅動器磁頭的飛行懸浮高度低、速度快,一旦有小的塵埃進入硬碟密封腔內,或者一旦磁頭與盤體發生碰撞,就可能造成資料丟失,形成壞塊,甚至造成 磁頭和盤體的損壞。所以,硬碟系統的密封一定要可靠,在非專業條件下絕對不能開啟硬碟密封腔,否則,灰塵進入後會加速硬碟的損壞。另外,硬碟驅動器磁頭的尋道伺服電機多采用音圈式旋轉或直線運動步進電機,在伺服跟蹤的調節下精確地跟蹤碟片的磁軌,所以,硬碟工作時不要有衝擊碰撞,搬動時要小心輕放。
        這種硬碟就是採用溫徹斯特(Winchester)技術製造的硬碟,所以也被稱為溫盤,目前絕大多數硬碟都採用此技術。

3、盤面、磁軌、柱面和扇區

硬碟的讀寫是和扇區有著緊密關係的。在說扇區和讀寫原理之前先說一下和扇區相關的”盤面”、“磁軌”、和“柱面”。        
1. 盤面
      硬碟的碟片一般用鋁合金材料做基片,高速硬碟也可能用玻璃做基片。硬碟的每一個碟片都有兩個盤面(Side),即上、下盤面,一般每個盤面都會利用,都可以儲存資料,成為有效碟片,也有極個別的硬碟盤面數為單數。每一個這樣的有效盤面都有一個盤面號,按順序從上至下從“0”開始依次編號。在硬碟系統中,盤面號又叫磁頭號,因為每一個有效盤面都有一個對應的讀寫磁頭。硬碟的碟片組在2~14片不等,通常有2~3個碟片,故盤面號(磁頭號)為0~3或 0~5。

2. 磁軌
         磁碟在格式化時被劃分成許多同心圓,這些同心圓軌跡叫做磁軌(Track)。磁軌從外向內從0開始順序編號。硬碟的每一個盤面有300~1 024個磁軌,新式大容量硬碟每面的磁軌數更多。資訊以脈衝串的形式記錄在這些軌跡中,這些同心圓不是連續記錄資料,而是被劃分成一段段的圓弧,這些圓弧的角速度一樣。由於徑向長度不一樣,所以,線速度也不一樣,外圈的線速度較內圈的線速度大,即同樣的轉速下,外圈在同樣時間段裡,劃過的圓弧長度要比內圈 劃過的圓弧長度大。每段圓弧叫做一個扇區,扇區從“1”開始編號,每個扇區中的資料作為一個單元同時讀出或寫入。一個標準的3.5寸硬碟盤面通常有幾百到幾千條磁軌。磁軌是“看”不見的,只是盤面上以特殊形式磁化了的一些磁化區,在磁碟格式化時就已規劃完畢。

3. 柱面
        所有盤面上的同一磁軌構成一個圓柱,通常稱做柱面(Cylinder),每個圓柱上的磁頭由上而下從“0”開始編號。資料的讀/寫按柱面進行,即磁 頭讀/寫資料時首先在同一柱面內從“0”磁頭開始進行操作,依次向下在同一柱面的不同盤面即磁頭上進行操作,只在同一柱面所有的磁頭全部讀/寫完畢後磁頭 才轉移到下一柱面(同心圓的再往裡的柱面),因為選取磁頭只需通過電子切換即可,而選取柱面則必須通過機械切換。電子切換相當快,比在機械上磁頭向鄰近磁軌移動快得多,所以,資料的讀/寫按柱面進行,而不按盤面進行。也就是說,一個磁軌寫滿資料後,就在同一柱面的下一個盤面來寫,一個柱面寫滿後,才移到下一個扇區開始寫資料。讀資料也按照這種方式進行,這樣就提高了硬碟的讀/寫效率。
一塊硬碟驅動器的圓柱數(或每個盤面的磁軌數)既取決於每條磁軌的寬窄(同樣,也與磁頭的大小有關),也取決於定位機構所決定的磁軌間步距的大小。

4.扇區
        作業系統以扇區(Sector)形式將資訊儲存在硬碟上,每個扇區包括512個位元組的資料和一些其他資訊。一個扇區有兩個主要部分:儲存資料地點的識別符號和儲存資料的資料段。


扇區的第一個主要部分是識別符號。識別符號,就是扇區頭標,包括組成扇區三維地址的三個數字:

盤面號:扇區所在的磁頭(或盤面)

      柱面號:磁軌,確定磁頭的徑向方向。

     扇區號:在磁軌上的位置。也叫塊號。確定了資料在碟片圓圈上的位置。

頭標中還包括一個欄位,其中有顯示扇區是否能可靠儲存資料,或者是否已發現某個故障因而不宜使用的標記。有些硬碟控制器在扇區頭標中還記錄有指示字,可在原扇區出錯時指引磁碟轉到替換扇區或磁軌。最後,扇區頭標以迴圈冗餘校驗(CRC)值作為結束,以供控制器檢驗扇區頭標的讀出情況,確保準確無誤。
扇區的第二個主要部分是儲存資料的資料段,可分為資料和保護資料的糾錯碼(ECC)。在初始準備期間,計算機用512個虛擬資訊位元組(實際資料的存放地)和與這些虛擬資訊位元組相應的ECC數字填入這個部分。

5. 訪盤請求完成過程 :

確定磁碟地址(柱面號,磁頭號,扇區號),記憶體地址(源/目):

       當需要從磁碟讀取資料時,系統會將資料邏輯地址傳給磁碟,磁碟的控制電路按照定址邏輯將邏輯地址翻譯成實體地址,即確定要讀的資料在哪個磁軌,哪個扇區。

為了讀取這個扇區的資料,需要將磁頭放到這個扇區上方,為了實現這一點:

         1)首先必須找到柱面,即磁頭需要移動對準相應磁軌,這個過程叫做尋道,所耗費時間叫做尋道時間,

         2)然後目標扇區旋轉到磁頭下,即磁碟旋轉將目標扇區旋轉到磁頭下。這個過程耗費的時間叫做旋轉時間。

即一次訪盤請求(讀/寫)完成過程由三個動作組成:
       1)尋道(時間):磁頭移動定位到指定磁軌
       2)旋轉延遲(時間):等待指定扇區從磁頭下旋轉經過
       3)資料傳輸(時間):資料在磁碟與記憶體之間的實際傳輸

因此在磁碟上讀取扇區資料(一塊資料)所需時間:

Ti/o=tseek +tla + n *twm

其中:

tseek 為尋道時間

tla為旋轉時間

twm 為傳輸時間

4、磁碟的讀寫原理

系統將檔案儲存到磁碟上時,按柱面、磁頭、扇區的方式進行,即最先是第1磁軌的第一磁頭下(也就是第1盤面的第一磁軌)的所有扇區,然後,是同一柱面的下一磁頭,……,一個柱面儲存滿後就推進到下一個柱面,直到把檔案內容全部寫入磁碟。

(檔案的記錄在同一盤組上存放是,應先集中放在一個柱面上,然後再順序存放在相鄰的柱面上,對應同一柱面,則應該按盤面的次序順序存放。)

(從上到下,然後從外到內。資料的讀/寫按柱面進行,而不按盤面進行,先)
系統也以相同的順序讀出資料。讀出資料時通過告訴磁碟控制器要讀出扇區所在的柱面號、磁頭號和扇區號(實體地址的三個組成部分)進行。磁碟控制器則 直接使磁頭部件步進到相應的柱面,選通相應的磁頭,等待要求的扇區移動到磁頭下。在扇區到來時,磁碟控制器讀出每個扇區的頭標,把這些頭標中的地址資訊與期待檢出的磁頭和柱面號做比較(即尋道),然後,尋找要求的扇區號。待磁碟控制器找到該扇區頭標時,根據其任務是寫扇區還是讀扇區,來決定是轉換寫電路, 還是讀出資料和尾部記錄。找到扇區後,磁碟控制器必須在繼續尋找下一個扇區之前對該扇區的資訊進行後處理。如果是讀資料,控制器計算此資料的ECC碼,然 後,把ECC碼與已記錄的ECC碼相比較。如果是寫資料,控制器計算出此資料的ECC碼,與資料一起儲存。在控制器對此扇區中的資料進行必要處理期間,磁 盤繼續旋轉。

5、區域性性原理與磁碟預讀

  由於儲存介質的特性,磁碟本身存取就比主存慢很多,再加上機械運動耗費,磁碟的存取速度往往是主存的幾百分分之一,因此為了提高效率,要儘量減少磁碟I/O。為了達到這個目的,磁碟往往不是嚴格按需讀取,而是每次都會預讀,即使只需要一個位元組,磁碟也會從這個位置開始,順序向後讀取一定長度的資料放入記憶體。這樣做的理論依據是電腦科學中著名的區域性性原理:

  當一個數據被用到時,其附近的資料也通常會馬上被使用。

  程式執行期間所需要的資料通常比較集中。

  由於磁碟順序讀取的效率很高(不需要尋道時間,只需很少的旋轉時間),因此對於具有區域性性的程式來說,預讀可以提高I/O效率。

  預讀的長度一般為頁(page)的整倍數。頁是計算機管理儲存器的邏輯塊,硬體及作業系統往往將主存和磁碟儲存區分割為連續的大小相等的塊,每個儲存塊稱為一頁(在許多作業系統中,頁得大小通常為4k),主存和磁碟以頁為單位交換資料。當程式要讀取的資料不在主存中時,會觸發一個缺頁異常,此時系統會向磁碟發出讀盤訊號,磁碟會找到資料的起始位置並向後連續讀取一頁或幾頁載入記憶體中,然後異常返回,程式繼續執行。

6、磁碟碎片的產生

俗話說一圖勝千言,先用一張ACSII碼圖來解釋為什麼會產生磁碟碎片。

上面的ASCII圖表示磁碟檔案系統,由於目前上面沒有任何資料檔案,所以我把他表示成0。
在圖的最上側和左側各有a-z 26個字母,這是用來定位每個資料位元組的具體位置,如第1行1列是aa,26行26列是zz。
我們建立一個新檔案,理所當然的,我們的檔案系統就產生了變化,現在是

如圖所示:”內容表”(TOC)佔據了前四行,在TOC裡存貯著每件檔案在系統裡所在的位置。
在上圖,TOC包括了一個名字叫hello.txt的檔案,其具體內容是”Hello, world”,在系統裡的位置是ae到le。
接下來再新建一個檔案


如圖,我們新建的檔案bye.txt緊貼著第一個檔案hello.txt。
其實這是最理想的系統結構,如果你將你的檔案都按照上圖所表示的那樣一個挨著一個,緊緊的貼放在一起的話,那麼讀取他們將會非常的容易和迅速,這是因為在硬盤裡動得最慢的(相對來說)就是傳動手臂,少位移一些,讀取檔案資料的時間就會快一些。
然而恰恰這就是問題的所在。現在我想在”Hello, World”後加上些感嘆號來表達我強烈的感情,現在的問題是:在這樣的系統上,檔案所在的行就沒有地方讓我放這些感嘆號了,因為bye.txt佔據了剩下的位置。
現在有倆個方法可以選擇,但是沒有一個是完美的
1.我們從原位置刪除檔案,重新建個檔案重新寫上”Hello, World!!”. –這就無意中延長了檔案系統的讀和寫的時間。
2.打碎檔案,就是在別的空的地方寫上感嘆號,也就是”身首異處”–這個點子不錯,速度很快,而且方便,但是,這就同時意味著大大的減慢了讀取下一個新檔案的時間。
如果你對上面的文字沒概念,上圖

這裡所說的方法二就像是我們的windows系統的儲存方式,每個檔案都是緊挨著的,但如果其中某個檔案要更改的話,那麼就意味著接下來的資料將會被放在磁碟其他的空餘的地方。
如果這個檔案被刪除了,那麼就會在系統中留下空格,久而久之,我們的檔案系統就會變得支離破碎,碎片就是這麼產生的。

試著簡單點,講給mm聽的硬碟讀寫原理簡化版


硬碟的結構就不多說了,我們平常電腦的資料都是存在磁軌上的,大致上和光碟差不多.讀取都是靠磁頭來進行.

我們都知道,我們的資料資料都是以資訊的方式儲存在盤面的扇區的磁軌上,硬碟讀取是由搖臂控制磁頭從盤面的外側向內側進行讀寫的.所以外側的資料讀取速度會比內側的資料快很多.

其實我們的檔案大多數的時候都是破碎的,在檔案沒有破碎的時候,搖臂只需要尋找1次磁軌並由磁頭進行讀取,只需要1次就可以成功讀取;但是如果檔案破碎成 11處,那麼搖臂要來回尋找11次磁軌磁頭進行11次讀取才能完整的讀取這個檔案,讀取時間相對沒有破碎的時候就變得冗長.

因此,磁碟碎片往往也是拖慢系統的重要因素之一,Vista之家團隊也計劃在Vista優化大師後續版本內加入磁碟碎片整理功能,敬請期待。

7、硬碟容量及分割槽大小的計算

在linux系統,要計算硬碟容量及分割槽大小,我們先通過fdsik -l檢視硬碟資訊:
  Disk /dev/hda: 80.0 GB, 80026361856 bytes
  255 heads, 63 sectors/track, 9729 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot Start End Blocks Id System
  /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
  /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
  /dev/hda3 2806 9729 55617030 5 Extended
  /dev/hda5 2806 3825 8193118+ 83 linux
  /dev/hda6 3826 5100 10241406 83 linux
  /dev/hda7 5101 5198 787153+ 82 linux swap / Solaris
  /dev/hda8 5199 6657 11719386 83 linux
  /dev/hda9 6658 7751 8787523+ 83 linux
  /dev/hda10 7752 9729 15888253+ 83 linux
  其中
    heads 是磁盤面;
    sectors 是扇區;
    cylinders 是柱面;
    每個扇區大小是 512byte,也就是0.5K;

  通過上面的例子,我們發現此硬碟有 255個磁盤面,有63個扇區,有9729個柱面;所以整個硬碟體積換算公式應該是:
  磁面個數 * 扇區個數 * 每個扇區的大小512 * 柱面個數 = 硬碟體積 (單位bytes)
  所以在本例中磁碟的大小應該計算如下:
255 x 63 x 512 x 9729 = 80023749120 bytes
  提示:由於硬碟生產商和作業系統換算不太一樣,硬碟廠家以10進位的辦法來換算,而作業系統是以2進位制來換算,所以在換算成M或者G 時,不同的演算法結果卻不一樣;所以我們的硬碟有時標出的是80G,在作業系統下看卻少幾M;
  上面例子中,硬碟廠家演算法 和 作業系統算數比較:
  硬碟廠家: 80023749120 bytes = 80023749.120 K = 80023.749120 M (向大單位換算,每次除以1000)
  作業系統: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大單位換算,每次除以1024)
  我們在檢視分割槽大小的時候,可以用生產廠家提供的演算法來簡單推算分割槽的大小;把小數點向前移動六位就是以G表示的大小;比如 hda1 的大小約為 6.144831G ;

相關推薦

硬碟原理

硬碟的種類主要是SCSI 、IDE 、以及現在流行的SATA等;任何一種硬碟的生產都要一定的標準;隨著相應的標準的升級,硬碟生產技術也在升級;比如 SCSI標準已經經歷了SCSI-1 、SCSI-2、SCSI-3;其中目前咱們經常在伺服器網站看到的 Ultral-160就是基於SCSI-3標準的;IDE 遵循

Redis資料庫結構與原理

此文已由作者趙計剛薪授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 1、資料庫結構 每一個redis伺服器內部的資料結構都是一個redisDb[],該陣列的大小可以在redis.conf中配置("database 16",預設為16),而我們所有的快取操作

終端命令方法解決在Mac系統行動硬碟問題

在Mac系統下正確使用行動硬碟 1、首先在終端敲入括號中的這段命令(diskutil info /Volumes/硬碟名 | grep UUID)用你行動硬碟的名字替換命令裡的“硬碟名”,然後敲回車,就能看見你的硬碟序列號UUID。 2、接著在終端敲入括號中的這段命令

hbase原理(2)

HBase的原理 7.1體系圖 7.2寫流程   客戶端向HregionServer傳送請求 HregionServer將資料寫到hlog(提前寫入日誌)。為了資料的持久化和恢復 HregionServer將資料寫到記憶體(memstore)

HBase的原理

寫操作流程: 客戶端通過zookeeper的排程,向Hregion Server傳送寫資料的請求,在HRegion中寫資料。 資料寫入Hregion的Menstore,直到Menstore達到預定的閾值。 Menstore中資料會被衝成成一個StoreFile 隨著

快閃記憶體flash原理

首先講述的是基本原理,因為前面總結了很多基本原理,所以這個位置比較粗略的帶過。 1、基本原理 從圖上可以看出,Vt為開啟電壓,對於N溝道的cmos,當門極加的電壓逐漸變大的時候,多數載流子被門極所吸引,向上移動,形成N型溝道,N型半導體即被導通,有導通電流。開始有導通電流的門極所加

Hadoop之HDFS原理

一、HDFS基本概念 HDFS全稱是Hadoop Distributed System。HDFS是為以流的方式存取大檔案而設計的。適用於幾百MB,GB以及TB,並寫一次讀多次的場合。而對於低延時資料訪問、大量小檔案、同時寫和任意的檔案修改,則並不是十分適合。 目前HDFS支援的使用介面除了Java的還有,

hdparm 測試硬碟速度

安裝:yum install hdparm 語  法:hdparm [-CfghiIqtTvyYZ][-a <快取分割槽>][-A <0或1>][-c <I/O模式>][-d <0或1>][-k <0或1

Centos 下硬碟檢測

1.安裝badblocks yum install -y e2fsprogs 2.檢查 讀測試: badblocks -s -v /dev/sdb 讀寫測試:(速度很慢) badblocks -s -w -v /dev/sdb badblocks 用法詳細說明 語 法:   badblocks [-svw][

Zabbix自定義監控項--利用dd測試硬碟速度

      Zabbix作為強大的伺服器監控平臺,本次利用它來檢測伺服器中各個硬碟的讀寫速度,以便能在硬碟效能下降能夠即使更換,不影響工作效率。1、dd命令使用    利用Linux自帶的dd命令來測試硬碟的讀寫速度,關於dd命令的詳解可網上查詢,很多資料,下面給出dd測試的

SharedPreference的原理分析

本文由嵌入式企鵝圈原創團隊成員-阿里工程師Hao分享。一、commit和applyapply是非同步,commit是同步,在主執行緒中使用commit可能會影響效能,因為同步IO操作的耗時可能會比較長,

linux下硬碟速度測試

1. 測試讀取速度 haparm -Tt /dev/xxx 1.1 獲取硬碟裝置名稱: fdisk -l Disk /dev/xvdf: 365.0 GB, 365041287168 bytes 255 heads, 63 sectors/track, 44380 cyl

ElasticSearch原理

內存緩存 自己的 內存數據 Language ref elastic 緩沖 除了 itl es 寫入數據的工作原理是什麽啊?es 查詢數據的工作原理是什麽啊?底層的 lucene 介紹一下唄?倒排索引了解嗎? es 寫數據過程 客戶端選擇一個 no

自旋鎖,鎖和順序鎖的實現原理

並且 保護 表達 min 返回 create creat rwlock ini 常用的同步原語鎖,到多核處理器時代鎖已經是必不可少的同步方式之一了。無論設計多優秀的多線程數據結構,都避不開有競爭的臨界區,此時高效的鎖顯得至關重要。鎖的顆粒度是框架/程序設計者所關註的,

MySQL的主從復制與分離原理

訂單 中繼 運維 提交 磁盤 com 引擎 庫服務器 文件 前言:我們前面搭建過LAMP和LNMP,做過了web服務器群集和熱備,web服務器壞了我們是不怕了,但是我們要知道,網站的數據有很多是存儲在數據庫裏面的,例如註冊的會員,發的文章,購物的訂單等信息。當然我們可以給數

MySQL主從復制與分離的工作原理

MySQL 主從復制 讀寫分離 一、mysql主從復制的工作原理1、mysq支持的復制類型1)基於語句的復制。在服務器上執行sql語句,在從服務器上執行同樣的語句,mysql默認采用基於語句的復制,執行效率高。2)基於行的復制。把改變的內容復制過去,而不是把命令在從服務器上執行一遍。3)混合類型的

mysql基礎+主從復制、分離、高可用原理

mysql基礎1)創建數據庫 create database wpj1105;2)創建數據庫 create database wpj1105;3)判斷是否存在庫 : drop database if exists wpj1105;4)使用該數據庫

阿里P8架構師談:資料庫分庫分表、分離的原理實現,使用場景

為什麼要分庫分表和讀寫分離?   類似淘寶網這樣的網站,海量資料的儲存和訪問成為了系統設計的瓶頸問題,日益增長的業務資料,無疑對資料庫造成了相當大的負載,同時對於系統的穩定性和擴充套件性提出很高的要求。隨著時間和業務的發展,資料庫中的表會越來越多,表中的資料量也會越來越大,相應地,

資料庫分庫分表、分離的實現原理及使用場景

為什麼要分庫分表和讀寫分離? 類似淘寶網這樣的網站,海量資料的儲存和訪問成為了系統設計的瓶頸問題,日益增長的業務資料,無疑對資料庫造成了相當大的負載,同時對於系統的穩定性和擴充套件性提出很高的要求。隨著時間和業務的發展,資料庫中的表會越來越多,表中的資料量也會越來越

如何能讓MAC和PC都能行動硬碟

Macbook Pro 行動硬碟 希捷硬碟就不用,有專業適用於蘋果的軟體。 1、在“LaunchPad”中找到並開啟“磁碟工具”,在“磁碟工具”中可以看到行動硬碟的幾個分割槽 2、選擇一個分割槽後,選擇“