色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 查詢百萬數(shù)據(jù),如何設(shè)計和實現(xiàn)高可用的MySQL

劉柏宏2年前26瀏覽0評論
mysql 查詢百萬數(shù)據(jù),如何設(shè)計和實現(xiàn)高可用的MySQL?

有關(guān)數(shù)據(jù)庫高可用實現(xiàn),分別以主流的Oracle、Mysql的實現(xiàn)方式來進(jìn)行闡述。

為了解決數(shù)據(jù)庫的單點故障,提供系統(tǒng)的整體可用性,存在以下兩種技術(shù)路線: 路線1:基于傳統(tǒng)數(shù)據(jù)庫的高可用集群,主要包括共享存儲(Share-Storage)、全共享(Share-Everything)和無共享(Share-Nothing)等; 路線2:基于NewSQL數(shù)據(jù)庫的高可用架構(gòu),如谷歌的Spanner/F1數(shù)據(jù)庫、阿里的OceanBase分布式數(shù)據(jù)庫。

MySQL主從集群

基于“Share-Nothing架構(gòu)”的數(shù)據(jù)庫集群,具備數(shù)據(jù)冗余,能快速實現(xiàn)主備切換,具有更高的可用性。

在保證數(shù)據(jù)一致性、完整性及高可用性的前提下,采用MySQL半同步復(fù)制+MHA復(fù)制管理工具的方案。

如上圖所示,本方案采用MySQL一主多從的架構(gòu)方式,主節(jié)點提供數(shù)據(jù)的讀寫服務(wù),從節(jié)點提供數(shù)據(jù)的只讀服務(wù),主從節(jié)點間通過MySQL的主從復(fù)制機(jī)制來單向同步數(shù)據(jù)。另外,將MHA Manager單獨部署到一臺服務(wù)器,來管理MySQL集群,控制Master節(jié)點的故障切換,保證整個集群的高可用。

MHA(Master High Availability)負(fù)責(zé)MySQL的故障切換和主從提升等功能。在MySQL故障切換過程中,MHA能做到在0~30秒之內(nèi)自動完成數(shù)據(jù)庫的故障切換操作,并且在進(jìn)行故障切換的過程中,MHA能在最大程度上保證數(shù)據(jù)的一致性,以達(dá)到真正意義上的高可用。

該軟件由兩部分組成:MHA Manager(管理節(jié)點)和MHA Node(數(shù)據(jù)節(jié)點)。MHA Manager可以單獨部署在一臺獨立的機(jī)器上管理多個Master-Slave集群,也可以部署在一臺Slave節(jié)點上。MHA Node運行在每臺MySQL服務(wù)器上,MHA Manager會定時探測集群中的Master節(jié)點,當(dāng)Master出現(xiàn)故障時,它可以自動將最新數(shù)據(jù)的Slave提升為新的Master,然后將所有其他的Slave重新指向新的Master。整個故障轉(zhuǎn)移過程對應(yīng)用程序完全透明。

2. Oracle RAC集群

基于“Share-Everything架構(gòu)”的數(shù)據(jù)庫集群,不僅共享存儲,還共享緩存。

RAC通過不同的節(jié)點使用一個或者多個Oracle實例(Instance)與一個數(shù)據(jù)庫(Database)連接,該數(shù)據(jù)庫存放于多個節(jié)點的共享存儲(Share Storage)上,通過高速緩存合并技術(shù)使得集群中的每個節(jié)點可以通過高速集群互聯(lián)高效的同步其內(nèi)存高速緩存,從而最大限度地減低磁盤IO,并且自動并行處理及均勻分布負(fù)載,當(dāng)其中一個節(jié)點發(fā)生故障時可以自動容錯和恢復(fù)能力來實現(xiàn)節(jié)點的故障切換(Failover),從而保證數(shù)據(jù)庫的高可用性。

RAC架構(gòu)的軟、硬件結(jié)構(gòu):