偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)庫高可用漫談

數(shù)據(jù)庫 其他數(shù)據(jù)庫
主從架構(gòu)主要需要考慮的問題是在switchover或failover后,應(yīng)用能夠正確連接到正確角色的數(shù)據(jù)庫上,在這一點上MySQL提供了MySQL Router,三方開源則有MHA和Orchestrator等;Oracle則有TAC和GDS等。

前幾天,在首席群里討論,某些人已經(jīng)實現(xiàn)了在常去的城市都有房產(chǎn)了,出差都有自己的房住(當(dāng)然有沒有其他的目的就不得而知了)。相較于外出住酒店,兩種方式各有優(yōu)劣:

  • 自有房產(chǎn)是自己的,住著安全放心
  • 自有房產(chǎn)需要持續(xù)維護:平時需要打掃衛(wèi)生,交物業(yè)費,裝修家具等等
  • 在不同城市的自有房產(chǎn)水平不同:房屋面積,裝修家具水平,交通,周邊等等
  • 酒店不是自己的,可能有安全風(fēng)險
  • 酒店不需要持續(xù)投入,隨到隨住
  • 酒店可以提供更多的選擇

上面的內(nèi)容借用德哥今天公眾號結(jié)尾的一句話“其實這段內(nèi)容(原文為:這篇文章)的內(nèi)容和標(biāo)題是匹配的, 只是我還沒想好到底有什么關(guān)聯(lián)”。
數(shù)據(jù)庫的高可用究竟是什么,我覺得還是得從實際需求場景來:

  • 如果你的業(yè)務(wù)不允許中斷,那么數(shù)據(jù)庫的高可用目標(biāo)就是能夠持續(xù)提供數(shù)據(jù)庫能力
  • 如果你的業(yè)務(wù)允許短時間中斷,那么數(shù)據(jù)庫的高可用目標(biāo)就是能夠快速恢復(fù)拉起的能力
  • 如果你的業(yè)務(wù)允許較長時間中斷,那么數(shù)據(jù)庫高可用的目標(biāo)就是有辦法能夠恢復(fù)數(shù)據(jù)庫即可
  • 如果你的業(yè)務(wù)無關(guān)緊要,那么數(shù)據(jù)庫高可用的目標(biāo)就是…可以算沒有目標(biāo)

(Oracle Maximum Availability Architecture (MAA))(Oracle Maximum Availability Architecture (MAA))

那么從我個人角度以盡可能高的要求來看看數(shù)據(jù)庫的高可用。

1 主從架構(gòu)

(MySQL Replication)(MySQL Replication)

主從架構(gòu)是我們用的比較多的高可用架構(gòu),除了上圖MySQL Replication,Oracle有(Active) DataGuard,PostgreSQL也有類似的主從架構(gòu)。主從架構(gòu)的優(yōu)點其實是架構(gòu)簡單,大多數(shù)主從架構(gòu)除了可以實現(xiàn)異地的數(shù)據(jù)容災(zāi)以外,也可以提供讀寫分離的能力(即主寫備讀),提升數(shù)據(jù)庫整體性能表現(xiàn)。
主從架構(gòu)主要需要考慮的問題是在switchover或failover后,應(yīng)用能夠正確連接到正確角色的數(shù)據(jù)庫上,在這一點上MySQL提供了MySQL Router,三方開源則有MHA和Orchestrator等;Oracle則有TAC和GDS等。

2 集群

這里說的集群要區(qū)分于分布式架構(gòu),主要涉及MySQL Group Replication(MGR)和Oracle RAC架構(gòu)等。

(Oracle Real Application Cluster (RAC))(Oracle Real Application Cluster (RAC))

這里的集群主要是在實例級別提供高可用,即集群內(nèi)部分實例故障,不影響數(shù)據(jù)庫提供服務(wù)。但在RAC架構(gòu)中仍可能有存儲的單點故障,因此存儲側(cè)也應(yīng)該實現(xiàn)高可用。當(dāng)然在集群之上也可以和主從架構(gòu)配合使用,提供異地容災(zāi)能力。

(Oracle RAC+DG)(Oracle RAC+DG)


3 分布式

無論是Redis、MongoDB還是大量的國產(chǎn)數(shù)據(jù)庫,都提供了分布式數(shù)據(jù)庫架構(gòu)。

(OceanBase 4.x)(OceanBase 4.x)

其實簡單來看,就是每個分片內(nèi)以主從或者副本的方式,分片每個節(jié)點可以在不同的地域,實現(xiàn)高可用。而數(shù)據(jù)庫的訪問接口則一般通過分布式集群本身來管理并提供服務(wù)。分布式架構(gòu)中,只要不是某個分片的所有節(jié)點全掛的情況出現(xiàn),理論上不會出現(xiàn)數(shù)據(jù)庫異常。

4 誤區(qū)

前兩天一朋友的數(shù)據(jù)庫通過主從架構(gòu)上線實現(xiàn)了國產(chǎn)數(shù)據(jù)庫的上線,本是一件好事,但是有些人卻說,不是分布式,高可用不行啊。其實反觀下整體架構(gòu),這些人為啥看不到,別人用1+1的節(jié)點解決了分布式需要10+臺服務(wù)器才能解決的問題。不得不說,分布式數(shù)據(jù)庫在高可用上看似非常美好,但是節(jié)點數(shù)量的提升帶來的管理壓力提升、元數(shù)據(jù)維護增加、網(wǎng)絡(luò)壓力增大等,而且分布式不一定適合所有應(yīng)用場景產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)場景(這里還不考慮業(yè)務(wù)代碼變更)。

5 光是數(shù)據(jù)庫?

舉個栗子,數(shù)據(jù)庫實現(xiàn)異地容災(zāi),且前端應(yīng)用可以自動連接到對應(yīng)角色的實例。但是業(yè)務(wù)應(yīng)用程序卻只部署在了一個地方,那么如果這個地方整個IDC出現(xiàn)異常,那么前端業(yè)務(wù)同樣不可能實現(xiàn)容災(zāi)切換,所以應(yīng)用程序也需要多地部署。
(Oracle MAA Platinum reference architecture)

總結(jié)

本期淺談了一下數(shù)據(jù)庫的高可用,我認(rèn)為一切還是從需求出發(fā),結(jié)合可接受成本來做高可用。
老規(guī)矩,知道寫了些啥。

責(zé)任編輯:武曉燕 來源: 胖頭魚的魚缸
相關(guān)推薦

2010-10-28 15:37:36

高可用架構(gòu)

2015-05-04 14:17:16

數(shù)據(jù)庫架構(gòu)高可用

2024-09-13 08:59:20

2021-01-21 10:23:43

數(shù)據(jù)庫架構(gòu)技術(shù)

2012-05-29 18:05:00

2019-09-06 08:53:32

數(shù)據(jù)庫高可用容災(zāi)

2017-03-15 15:14:03

MySQL數(shù)據(jù)庫高可用性

2009-11-12 09:39:05

高可用

2023-11-27 07:23:39

2013-09-09 09:39:02

云數(shù)據(jù)庫京東云

2011-03-09 08:53:02

MySQL優(yōu)化集群

2017-05-12 09:11:41

云計算數(shù)據(jù)庫高可用

2019-05-10 15:30:18

數(shù)據(jù)庫主從復(fù)制MySQL

2025-01-15 10:53:54

2017-11-06 11:10:11

數(shù)據(jù)庫OracleMySQL

2014-03-28 15:10:09

大數(shù)據(jù)數(shù)據(jù)庫集群

2010-06-07 15:09:44

訪問MySQL數(shù)據(jù)庫

2010-06-04 18:32:48

MySQL數(shù)據(jù)庫

2017-04-19 22:58:28

MySQL分布式數(shù)據(jù)

2010-09-13 14:45:56

SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號