新聞中心
隨著信息技術的快速發(fā)展,數(shù)據(jù)庫的使用變得越來越重要,數(shù)據(jù)庫集群已經(jīng)成為國內外越來越流行的數(shù)據(jù)庫應用方式。集群是一種將多臺計算機聯(lián)合起來組成一個超級計算機的技術,它能夠提供高效的計算性能和高可用性,同時為數(shù)據(jù)安全提供保障。在本文中,我們將探討sql數(shù)據(jù)庫集群搭建的具體步驟和注意事項。

一、SQL數(shù)據(jù)庫集群的需要
SQL是關系型數(shù)據(jù)庫管理系統(tǒng)的標準查詢語言,由于其簡單易學、操作靈活、安全可靠等優(yōu)點,越來越多的企業(yè)開始使用SQL數(shù)據(jù)庫管理數(shù)據(jù)。但是,由于大型企業(yè)的數(shù)據(jù)存儲量較大,一臺服務端往往無法滿足其高負載需求,這時就可以使用SQL數(shù)據(jù)庫集群。SQL數(shù)據(jù)庫集群是由多臺服務器組成的集群系統(tǒng),其可以實現(xiàn)數(shù)據(jù)的高效分布式存儲和高可用性訪問。通過SQL數(shù)據(jù)庫集群,企業(yè)可以獲得更高的小型化服務器容錯性和更好的就地復制操作方式,提高服務器性能和穩(wěn)定性,同時有效降低公司硬件和軟件設施的成本。
二、SQL數(shù)據(jù)庫集群搭建注意事項
1. 硬件選型
SQL數(shù)據(jù)庫集群搭建離不開硬件的支持。對于硬件的選型,需要選擇高質量的服務器硬件來承載數(shù)據(jù)庫的負載。這里引用 Microsoft SQL Server 數(shù)據(jù)庫的一個建議:對于 OLTP(聯(lián)機事務處理)型應用,所需配置的 CPU 核心數(shù)和系統(tǒng)內存至少應為下列項之一的首位:
? CPU 核心數(shù)為 4 核,系統(tǒng)內存大小為 8GB。
? CPU 核心數(shù)為 2 核,系統(tǒng)內存大小為 16GB。
當然在實際的使用中,需要根據(jù)數(shù)據(jù)量的大小和業(yè)務需求來選擇合適的硬件,以更好的發(fā)揮數(shù)據(jù)庫集群的性能。
2. 網(wǎng)絡拓撲設計
因為不同的網(wǎng)絡拓撲對于數(shù)據(jù)庫集群的性能、可靠性和成本都有不同的影響,所以在進行SQL數(shù)據(jù)庫集群搭建的時候,需要仔細考慮網(wǎng)絡拓撲的設計。通過采用負載均衡器和多個節(jié)點的方案,可以避免單點故障的情況,并且降低服務器的負載。當然,對于網(wǎng)絡拓撲的設計還需要考慮數(shù)據(jù)傳輸?shù)乃俣群屯ㄐ诺陌踩葐栴}。
3. 數(shù)據(jù)庫選型
SQL數(shù)據(jù)庫集群搭建需要選擇一款高性能、可靠性好的數(shù)據(jù)庫管理系統(tǒng),也可以根據(jù)實際需求采用分布式數(shù)據(jù)庫系統(tǒng)技術。
4. 數(shù)據(jù)庫集群搭建時數(shù)據(jù)同步的問題
數(shù)據(jù)庫的數(shù)據(jù)同步問題是SQL數(shù)據(jù)庫集群搭建的一個重要環(huán)節(jié)。當多個數(shù)據(jù)庫實例分布在不同的服務器上時,數(shù)據(jù)存儲就需要進行同步,避免出現(xiàn)數(shù)據(jù)丟失等問題。在進行數(shù)據(jù)同步時我們需要注意,實現(xiàn)數(shù)據(jù)同步的機制需要穩(wěn)定可靠,要及時檢測出數(shù)據(jù)同步失效的情況。當然,對于數(shù)據(jù)存儲同步的實現(xiàn),數(shù)據(jù)庫供應商會為您提供一些可選的解決方案。
5. 數(shù)據(jù)庫擴容問題
我們可以預見到,在使用一段時間后,SQL數(shù)據(jù)庫集群所存儲的數(shù)據(jù)量和并發(fā)量都會增加。這時,就需要考慮數(shù)據(jù)庫擴容的問題。我們需要遵循一些基本原則,如選擇可擴展性好的方案,要確保擴展后的數(shù)據(jù)庫能夠適應業(yè)務需求的增加等,從而避免頻繁升級造成額外開銷。
三、SQL數(shù)據(jù)庫集群搭建步驟
1. 確定數(shù)據(jù)庫架構、服務器數(shù)量、安全、備份方案等。
2. 按照需求購買并安裝每個服務器所需要的硬件和軟件。
3. 按照數(shù)據(jù)庫架構進行數(shù)據(jù)庫實例的配置和安裝。
4. 將數(shù)據(jù)庫實例部署到不同的服務器上,并實現(xiàn)數(shù)據(jù)同步。
5. 安裝和配置負載均衡器,部署應用程序。
6. 監(jiān)控和管理SQL數(shù)據(jù)庫集群,包括服務器和負載均衡器的性能和狀態(tài)監(jiān)測、備份和升級等。
SQL數(shù)據(jù)庫集群搭建是一項非常重要的任務,需要集中安排多方面的工作,如硬件選型、網(wǎng)絡拓撲設計、數(shù)據(jù)庫選型、數(shù)據(jù)同步、數(shù)據(jù)庫擴容、維護以及備份等。只有全方位綜合考慮,才能在保證數(shù)據(jù)安全的基礎上實現(xiàn)高效的數(shù)據(jù)庫運作。在完成集群搭建后,我們還需要對系統(tǒng)進行監(jiān)控,保持高可用性,以確保業(yè)務的正常運行。
相關問題拓展閱讀:
- 怎么將兩臺SQL2023做成集群
- 數(shù)據(jù)庫集群應該
怎么將兩臺SQL2023做成集群
如何將兩臺仿虧SQL2023做成集群
目前在Web服備大凳務器里面配置的SQL連接是20.40.1.41,另一臺SQL沒開機
我想要實現(xiàn)的功能是:
兩臺數(shù)據(jù)庫可以共用一個數(shù)據(jù)文件,或者是數(shù)據(jù)能實時同步
如果其中一臺SQL停掉,不會影響Web的使用(讀寫數(shù)據(jù))
我的架構如仿旅下:
數(shù)據(jù)庫集群應該
數(shù)據(jù)庫集群技術
1)提高數(shù)據(jù)庫處理速度的技術
目前有四種提高數(shù)據(jù)庫處理速度的辦法:
◆ 提高磁盤速度:這包括RAID和其他磁盤文件分段的處理。主要的思想是提高磁盤的并發(fā)度(多個物理磁盤存放同一個文件)。盡管實現(xiàn)方法各不相同,但是它們最后的目的都是提供一個邏輯數(shù)據(jù)庫的存儲映象。我們要評價的六個系統(tǒng)都能有效地利用這些技術。由于ICX已經(jīng)有更大的磁盤冗余度,RAID 磁盤系統(tǒng)的設置應該側重于速度,而不是數(shù)據(jù)冗余。這樣磁盤利用的效益就會提高。
◆ 分散數(shù)據(jù)的存放:主要思想是利用多個物理服務器來存放數(shù)據(jù)集的不同部分(一個數(shù)據(jù)庫表格分散到多個服務器或者每個服務器分管幾個內容不同的表格)。這些辦法不但可以擴展數(shù)據(jù)集(數(shù)據(jù)集的可擴性),而且使賀嘩肢謹?shù)貌煌姆掌鬟M行并行計算成為可能。例如,對于ORACLE的RAC來講,由于它是共享磁盤的體系結構,你只需要簡單地增加一個服務器節(jié)點,RAC就能自動地將這節(jié)點加入到它的集群服務中去。RAC會自動地將數(shù)據(jù)分配到這節(jié)點上,并且會將接下來的數(shù)據(jù)庫訪問自動分布到合適的物理服務器上,而不用修改應用程序。對于UDB來講,因為它是非共享磁盤的體系結構,因此就必須手工修改數(shù)據(jù)的分區(qū),MSCS和ASE也是同樣的情況。MySQL也需要手工分區(qū),并且是這幾種數(shù)據(jù)庫中支持分區(qū)的自動化程度更低的,也就是說,應用程序需要自己負責數(shù)據(jù)庫的分布式訪問。不管數(shù)據(jù)存放是如何實現(xiàn)的,分布式存放數(shù)據(jù)的缺點是對數(shù)據(jù)庫的禪饑行可用性有負面影響。任何一臺服務器的損壞都會影響整個系統(tǒng)的可用性。但是,這是迄今為止各大數(shù)據(jù)庫廠商能提供的業(yè)界更好的數(shù)據(jù)庫集群技術了。ICX是一種基于中間件的數(shù)據(jù)庫集群技術,它對客戶端和數(shù)據(jù)庫服務器都是透明的。因此,ICX可以用來集群幾個數(shù)據(jù)庫集群(一個邏輯數(shù)據(jù)庫),也可以用于集群幾個物理數(shù)據(jù)庫服務器(來增強一個分管關鍵數(shù)據(jù)的物理服務器)。
◆ 對稱多處理器系統(tǒng):此技術的思想是利用多處理機硬件技術來提高數(shù)據(jù)庫的處理速度。但是,除了ICX,所有其它的數(shù)據(jù)庫集群技術只支持單一的可修改的邏輯數(shù)據(jù)庫。絕大部分的數(shù)據(jù)庫事務處理是磁盤密集型的,純計算負荷很小的,對稱多處器技術在數(shù)據(jù)庫上的應用的實際收益是很有限的。這也說明了為什么實際應用中最多只用了四個CPU的原因。所有的基于數(shù)據(jù)庫引擎的集群都支持這個技術,ICX對P技術是中性的,因為它能把多個數(shù)據(jù)庫服務器在一起構成一個集群,也能將多個現(xiàn)存的數(shù)據(jù)庫集群在一起,構成集群的集群。
◆交易處理負載均衡:此技術的思想是在保持數(shù)據(jù)集內容同步的前提下,將只讀操作分布到多個獨立的服務器上運行。因為絕大多數(shù)的數(shù)據(jù)庫操作是瀏覽和查詢,如果我們能擁有多個內容同步的數(shù)據(jù)庫服務器,交易負載均衡就具有更大的潛力(可以遠遠大于上面敘述的最多達四個處理器的對稱多處理器系統(tǒng))來提高數(shù)據(jù)庫的處理速度,同時會具有非常高的數(shù)據(jù)可用性(真正達到5個9,即99.999%)。所有基于數(shù)據(jù)庫引擎的集群系統(tǒng)都只支持一個邏輯數(shù)據(jù)庫映象和一個邏輯或物理的備份。這個備份的主要目的是預防數(shù)據(jù)災難。因此,備份里的數(shù)據(jù)只能通過復制機制來更新,應用程序是不能直接更新它的。利用備份數(shù)據(jù)進行交易負載均衡只適用于一些非常有限的應用,例如報表統(tǒng)計、數(shù)據(jù)挖掘以及其它非關鍵業(yè)務的應用。只有ICX能夠做到同步復制多個數(shù)據(jù)庫服務器從而達到在保持數(shù)據(jù)一直性前提下的真正的負載平衡。
上述所有技術在實際部署系統(tǒng)的時候可以混合使用以達到更佳效果。
2)提高數(shù)據(jù)庫可用性的技術
根據(jù)物理法則,提高冗余度是提高數(shù)據(jù)庫可用性的唯一途徑。
提高數(shù)據(jù)庫冗余度大致有四種方法:
◆ 硬件級的冗余:主要思想是讓多處理機同時執(zhí)行同樣的任務用以屏蔽瞬時和永久的硬件錯誤。有兩種具體的實現(xiàn)方法:構造特殊的冗余處理機和使用多個獨立的數(shù)據(jù)庫服務器。冗余處理機的造價昂貴,效益很低。實際應用日漸減少。基于數(shù)據(jù)庫的集群系統(tǒng)都是用多個獨立的數(shù)據(jù)庫服務器來實現(xiàn)一個邏輯數(shù)據(jù)庫,在任意瞬間,每臺處理器運行的都是不同的任務。這種系統(tǒng)可以屏蔽單個或多個服務器的損壞,但是因為沒有處理的冗余度,每次恢復的時間比較長,它們需要把被損壞的服務進程在不同的服務器上從新建立起來。ICX讓多個獨立的數(shù)據(jù)庫服務器作同樣的處理。發(fā)現(xiàn)處理器問題時的切換不需要重建進程的狀態(tài),所以故障屏蔽是極快的。
◆ 通訊鏈路級的冗余:冗余的通訊鏈路可以屏蔽瞬時和永久的通訊鏈路級的錯誤?;跀?shù)據(jù)庫引擎的集群系統(tǒng)有兩種結構:共享磁盤和獨立磁盤。RAC, MSCS 和 MySQL CS可以認為是共享磁盤的集群系統(tǒng)。UDB和ASE 是獨立磁盤的集群系統(tǒng)。共享磁盤集群系統(tǒng)對網(wǎng)絡系統(tǒng)的要求很高,所以通訊的冗余度最小。獨立磁盤集群系統(tǒng)可以把磁盤系統(tǒng)獨立管理,通訊冗余度較高。 ICX的通訊鏈路級的冗余度更高,因為它使用的是多個獨立的數(shù)據(jù)庫服務器和獨立的磁盤系統(tǒng)。 ICX也可以用于共享磁盤系統(tǒng)。 但是冗余度會相應降低。
◆ 軟件級的冗余:由于現(xiàn)代操作系統(tǒng)和數(shù)據(jù)庫引擎的高度并發(fā)性,由競爭條件、死鎖、以及時間相關引發(fā)的錯誤占據(jù)了非正常停機服務的絕大多數(shù)原因。采用多個冗余的運行數(shù)據(jù)庫進程能屏蔽瞬時和永久的軟件錯誤?;跀?shù)據(jù)庫引擎的集群系統(tǒng)都用多個處理器來實現(xiàn)一個邏輯數(shù)據(jù)庫,它們只能提供部分軟件冗余,因為每一瞬間每個處理器執(zhí)行的都是不同的任務。只有ICX可以提供更大程度的軟件級冗余。
◆數(shù)據(jù)冗余:有兩類冗余數(shù)據(jù)集。
被動更新數(shù)據(jù)集:所有目前的數(shù)據(jù)復制技術(同步或異步),例如磁盤鏡像(EMC的TimeFinder系列)、數(shù)據(jù)庫文件復制(如DoubleTake, Veritas and Legato)以及數(shù)據(jù)庫廠商自帶的數(shù)據(jù)庫備份工具都只能產(chǎn)生被動復制數(shù)據(jù)集。通常,為了實現(xiàn)復制功能,需要消耗掉主服務器5%(異步)到30%(同步)的處理能力。被動更新的數(shù)據(jù)一般只用于災難恢復.被動更新數(shù)據(jù)集還有兩個致命的問題:一旦主處理機故障造成數(shù)據(jù)損壞,被動更新的數(shù)據(jù)集也會被破壞。另外,和主動更新系統(tǒng)相比,被動更新系統(tǒng)對數(shù)據(jù)網(wǎng)絡的帶寬要求更高。這是因為它缺少交易的信息,很多數(shù)據(jù)復制是盲目的。
主動更新數(shù)據(jù)集:這種數(shù)據(jù)集需要一臺(或多臺)獨立的備份數(shù)據(jù)庫服務器來管理,由于這種數(shù)據(jù)集及時可用,它可以有多種用途,例如報表生成,數(shù)據(jù)挖掘,災難恢復甚至低質量負載均衡。 同樣地,這里也有同步和異步兩種技術。
◆異步主動復制數(shù)據(jù)集:這種技術是先把事務處理交給主服務器來完成,然后這些事務處理再被串行地交給備份服務器以執(zhí)行同樣的操作來保證數(shù)據(jù)的一致性。這種技術生成的數(shù)據(jù)集和主數(shù)據(jù)集有一個時間差,所以僅適用于災難恢復、數(shù)據(jù)挖掘、報表統(tǒng)計以及有限的在線應用。所有的商用數(shù)據(jù)庫都支持異步主動復制技術。這種辦法的難度在于復制隊列的管理上,這個隊列是用來屏蔽主服務器和備份服務器之間的速度差異的。因為主服務器可以盡可能地利用所有軟硬件的并發(fā)性來處理并發(fā)的事務,而備份服務器只能串行地復制,在高負荷事務處理的情況下,復制隊列經(jīng)??赡芤绯?。因為沒有任何辦法來控制事務處理請求的速度,在高負荷事務處理的情況下,復制隊列只能經(jīng)常性地重建。因為所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)都支持熱備份和LOG SHIPPING。通過精心策劃,應該可以實現(xiàn)不關閉主服務器而重建隊列。ICX也支持異步主動復制. ICX的復制隊列的重建是通過ICX的自動數(shù)據(jù)同步軟件來完成的,所以不需要人工操作。
◆同步主動復制數(shù)據(jù)集:這種技術要求所有的并發(fā)事務處理在所有的數(shù)據(jù)庫服務器上同時完成。一個直接的好處就是沒有了隊列的管理問題,同時也可以通過負載均衡實現(xiàn)更高的性能和更高的可用性。這種技術也有兩種完全不同的實現(xiàn)方法:完全串行化和動態(tài)串行化。完全串行化的事務處理來自于主數(shù)據(jù)庫的事務處理引擎,RAC, UDB, MSCS (SQL Server 2023) 和 ASE是用完全串行化并結合兩階段提交協(xié)議來實現(xiàn)的,這種設計的目標就是為了獲得一份可用于快速災難恢復的數(shù)據(jù)集。這種系統(tǒng)有兩個關鍵的問題。之一,兩階段提交協(xié)議是一種“ALL OR NOTHING”的協(xié)議。仔細研究兩階段提交協(xié)議后就能發(fā)現(xiàn),為了獲取這備份數(shù)據(jù)集,事務處理的可用性會降低一半。第二,完全串行化的做法又引進了主-從數(shù)據(jù)庫服務器速度不匹配的問題。強制同步造成整個系統(tǒng)的速度被降低到完全串行化的水平。相反,ICX-UDS采用了動態(tài)串行復制引擎。這設計可以充分利用多個獨立數(shù)據(jù)庫的處理能力。ICX避免了使用兩階段提交協(xié)議,因此一個事務處理只有在集群中的所有服務器全都同時崩潰的情況下才會回滾。
為了防災,必須使用遠程網(wǎng)絡。 所以我們在這里討論遠程數(shù)據(jù)復制的辦法。這里大概有四種辦法。
◆ 動態(tài)遠程異步復制:這種辦法是指主服務器通過遠程網(wǎng)串行地把交易復制到備份服務器上。由于主-副之間的速度不匹配,隊列管理的問題就很突出。 由于遠程網(wǎng)的速度一般都比較慢,隊列溢出的概率大大增加。所有的集群系統(tǒng)都支持這種復制辦法,只是隊列管理的辦法不同而已。DM,F(xiàn)M和RAID都不能支持這種辦法。RAID只能在局域網(wǎng)內工作。
◆動態(tài)遠程同步復制.:這種辦法是指主服務器通過遠程網(wǎng)并行地把交易復制備份服務器上。只有ICX 具有這種能力。
◆靜態(tài)遠程異步復制.:這種辦法是指通過遠程網(wǎng)把數(shù)據(jù)串行地復制(不通過數(shù)據(jù)庫服務器)到異地。DM和FM支持這種復制辦法。因為串行處理和隊列管理的關系,這對于處理量大的系統(tǒng)不適用。但是這種復制辦法對應用是透明的,所有集群系統(tǒng)都可采用.
◆靜態(tài)遠程同步復制.:這種辦法也是指通過遠程網(wǎng)把數(shù)據(jù)串行地復制(不通過數(shù)據(jù)庫服務器)到異地。不同的是,這里沒有隊列管理。取代隊列管理的是發(fā)送端的一個新的協(xié)議:每次發(fā)送都要等接受端確認復制成功。否則回滾。DM和FM都支持這種復制辦法。這種辦法只能在短距離范圍內工作, 大約5 英里光纖的樣子。如果超出這個距離范圍的話,顯然事務處理回滾的概率就會很高。但是這種復制辦法對應用是透明的,所有集群系統(tǒng)都可采用。
3)提高數(shù)據(jù)庫安全和數(shù)據(jù)集可擴展的技術
在提高數(shù)據(jù)庫安全性和數(shù)據(jù)集可擴性這兩方面,可以創(chuàng)新的空間是很小的。數(shù)據(jù)庫最常見的安全辦法是口令保護,要么是分布式的,要么是集中式的。在數(shù)據(jù)庫前面增加防火墻會增加額外的延遲,因此,盡管許多安全侵犯事件是來自于公司內部,但是數(shù)據(jù)庫防火墻還是很少被采用。如果數(shù)據(jù)庫集群技術是基于中間件技術實現(xiàn)的,就有可能在不增加額外延遲的情況下 ,在數(shù)據(jù)經(jīng)過的路徑上實現(xiàn)防火墻功能。ICX完全實現(xiàn)了這種思想。
數(shù)據(jù)庫數(shù)據(jù)集的可擴性只能通過將數(shù)據(jù)分布到多個獨立的物理服務器上來實現(xiàn)。為了彌補可用性的損失,ICX能被用來提高整個邏輯數(shù)據(jù)庫或者部分重要服務器的處理速度,可用性和安全性。
關于sql數(shù)據(jù)庫集群搭建的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
分享文章:SQL數(shù)據(jù)庫集群搭建步驟及注意事項(sql數(shù)據(jù)庫集群搭建)
鏈接地址:http://fisionsoft.com.cn/article/cooeigs.html


咨詢
建站咨詢
