欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql分片,大數(shù)據(jù)量時(shí)擴(kuò)容解決方案

 更新時(shí)間:2024年06月01日 15:21:03   作者:FYHannnnnn  
這篇文章主要介紹了Mysql分片,大數(shù)據(jù)量時(shí)擴(kuò)容解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

分片概念

分片(Sharding)就是用來確定數(shù)據(jù)在多臺(tái)存儲(chǔ)設(shè)備上分布的技術(shù)。

Shard這個(gè)詞的意思是“碎片”,如 果將一個(gè)數(shù)據(jù)庫當(dāng)作一塊大玻璃,將這塊玻璃打碎,那么每一小塊都稱為數(shù)據(jù)庫的碎片(Database Sharding)。

將一個(gè)數(shù)據(jù)庫打碎成多個(gè)的過程就叫做分片,分片是屬于橫向擴(kuò)展方案。

分片與分表的區(qū)別

分片:表示分配過程,是一個(gè)邏輯上概念,表示如何實(shí)現(xiàn)。

分庫分表:表示分配結(jié)果,是一個(gè)物理上概念,表示最終實(shí)現(xiàn)的結(jié)果

分片策略

基于范圍分片

根據(jù)特定的字段進(jìn)行拆分,比如ID0-100到 Cluster A節(jié)點(diǎn)中,100-200的到Cluster B節(jié)點(diǎn)中...

  • 優(yōu)點(diǎn):新的數(shù)據(jù)可以落在新的存儲(chǔ)節(jié)點(diǎn)上,如果集群擴(kuò)容,數(shù)據(jù)無需遷移。
  • 缺點(diǎn):熱點(diǎn)數(shù)據(jù)分部不均勻則會(huì)導(dǎo)致機(jī)器負(fù)荷程度的不均勻,會(huì)浪費(fèi)資源也會(huì)導(dǎo)致部分機(jī)器過載。

哈希取模分片(離散分片)

根據(jù)Hash算法取模對(duì)應(yīng)一些機(jī)器編號(hào)進(jìn)行入庫。

  • 優(yōu)點(diǎn):數(shù)據(jù)分配比較均勻,不容易出現(xiàn)冷熱不均,負(fù)荷不均的情況。
  • 缺點(diǎn):比較均勻,但是在擴(kuò)容時(shí)會(huì)產(chǎn)生大量的數(shù)據(jù)遷移(因?yàn)镠ash算法取模要整體重新計(jì)算),比如從n臺(tái)設(shè)備擴(kuò)容到n+1,絕大部分?jǐn)?shù)據(jù)需要重新分配和 遷移。

一致性哈希分片

相比較傳統(tǒng)的Hash算法,通過環(huán)的方式在添加節(jié)點(diǎn)(擴(kuò)容)或者刪除節(jié)點(diǎn)時(shí),只對(duì)增加節(jié)點(diǎn)的單個(gè)環(huán)上進(jìn)行添加,則無須進(jìn)行大面積的數(shù)據(jù)遷移。

在數(shù)據(jù)庫容量有限的情況下,分片,分庫,分表也會(huì)達(dá)到瓶頸,而這時(shí)候的擴(kuò)容方式則需要去橫向增加節(jié)點(diǎn)擴(kuò)容處理。

一,初期方案(停機(jī)擴(kuò)容)

停機(jī)擴(kuò)容,關(guān)閉服務(wù)不符合現(xiàn)階段高可用的價(jià)值觀,并且如果有問題沒有及時(shí)測試出來啟動(dòng)了服務(wù),運(yùn)行后發(fā)現(xiàn)問題,數(shù)據(jù)會(huì)丟失一部分,難以回滾。

該方案雖然簡單但只適合小型網(wǎng)站或者對(duì)高可用要求不高的程序,或是測試上線階段。

二,平滑擴(kuò)容(上線運(yùn)行之后)

平滑擴(kuò)容也稱之為成倍擴(kuò)容,例如從兩個(gè)節(jié)點(diǎn)擴(kuò)到四個(gè)節(jié)點(diǎn),通過雙主配置雙寫進(jìn)行數(shù)據(jù)同步。

雙主雙寫之后進(jìn)行同步,在可容忍的延遲下,保證數(shù)據(jù)的同步完成。

(因?yàn)楦呖捎靡蟾叩某绦蛳?,隨時(shí)都會(huì)存在寫的數(shù)據(jù)錄入,所以會(huì)有延遲情況)

同步完成后,則取消掉雙主同步,重啟即可。

平滑擴(kuò)容雖然做到了高可用的要求,但是配置程序很復(fù)雜、配置雙主同步、雙主雙寫、檢測數(shù)據(jù)同步等,且后期數(shù)據(jù)庫擴(kuò)容,因?yàn)槭浅杀稊U(kuò)容,代價(jià)會(huì)不斷變大。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL數(shù)據(jù)查看SELECT條件大于?小于(小白入門篇)

    MySQL數(shù)據(jù)查看SELECT條件大于?小于(小白入門篇)

    這篇文章主要為大家介紹了MySQL數(shù)據(jù)查看SELECT條件大于和小于的語句學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • MySQL中l(wèi)imit語法及用法小結(jié)

    MySQL中l(wèi)imit語法及用法小結(jié)

    LIMIT 是 MySQL 中的一個(gè)特殊關(guān)鍵字,用于指定查詢結(jié)果從哪條記錄開始顯示,一共顯示多少條記錄,本文重點(diǎn)介紹MySQL中l(wèi)imit語法及用法小結(jié),感興趣的朋友一起看看吧
    2023-10-10
  • mysql中的find_in_set字符串查找函數(shù)解析

    mysql中的find_in_set字符串查找函數(shù)解析

    這篇文章主要介紹了mysql中的find_in_set字符串查找函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mysql使用Haversine 公式和ST_Distance_Sphere 函數(shù)實(shí)現(xiàn)附近的人功能

    mysql使用Haversine 公式和ST_Distance_Sphere 函數(shù)實(shí)現(xiàn)附近的人功能

    使用 MySQL 來實(shí)現(xiàn)“附近的人”功能,可以通過Haversine 公式和ST_Distance_Sphere 函數(shù)兩種方式來實(shí)現(xiàn),這篇文章主要介紹了mysql實(shí)現(xiàn)附近的人功能,需要的朋友可以參考下
    2023-08-08
  • mysql 5.7以上版本下載及安裝圖文教程

    mysql 5.7以上版本下載及安裝圖文教程

    這篇文章主要介紹了mysql 5.7以上版本下載及安裝圖文教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • 淺談MySQL中不等號(hào)索引問題

    淺談MySQL中不等號(hào)索引問題

    本文主要介紹了淺談MySQL中不等號(hào)索引問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 如何添加一個(gè)mysql用戶并給予權(quán)限詳解

    如何添加一個(gè)mysql用戶并給予權(quán)限詳解

    在很多時(shí)候我們并不會(huì)直接利用mysql的root用戶進(jìn)行項(xiàng)目的開發(fā),一般我們都會(huì)創(chuàng)建一個(gè)具有部分權(quán)限的用戶,下面這篇文章主要給大家介紹了關(guān)于如何添加一個(gè)mysql用戶并給予權(quán)限的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 最新評(píng)論