資料庫是集群
㈠ 什麼是資料庫集群 分布式資料庫
集群簡單理解的話,就是把資料庫放到不同的存儲設備當中
分布式就是存儲設備的地理位置不正同一個機房當中
㈡ 資料庫集群的性質
一.與分布式資料庫系統的區別 資料庫集群有的具有單份數據集,有的具有兩份或多份相似的數據集,有的具有兩份或多份實時一致的數據集;而分布式資料庫系統往往具有完全不同的數據集。 資料庫集群往往是同構的系統,要求集群各節點都具有相同的操作系統和資料庫系統版本,甚至補丁包的版本也要求保持一致;而分布式資料庫系統可以是異構系統,包含不同的操作系統和不同的資料庫系統。 資料庫集群往往建立在高速區域網內;而分布式資料庫系統既可以是高速區域網,也可以是跨部門、跨單位的異地遠程網路。 二.資料庫集群的技術指標
由於資料庫系統是任何一個信息系統的核心,因此除了業務邏輯之外,用戶還關心下面三點:
1. 系統性能
性能問題涉及硬體、軟體、網路、應用設計架構、代碼質量等多方面。但是資料庫集群如果能提供負載均衡能力和自動優化能力,則是對整個系統性能具有莫大的好處。
2. 數據可靠性
在系統發生任意故障(包括操作系統、資料庫引擎、硬碟或磁碟陣列或存儲網路等故障)條件下數據丟失的可能性。有的系統從設計原理上註定了必然會存在理論上的數據丟失可能性,而有的系統因為冗餘設計原理,可以保證理論上的數據零丟失。用容災領域的術語來講,這類似於RPO(Recovery Point Objective),但是不完全等同於RPO。
3. 服務可用性
在系統發生任意故障(包括操作系統、資料庫引擎、硬碟或磁碟陣列或存儲網路等故障)條件下整個系統停止對外提供數據服務的可能性。與上面的資料庫可靠性緊密關聯,如果一個系統從理論上存在數據丟失的可能性,那麼這樣的系統必然會導致整個系統的服務停止。同樣地,用容災領域的術語來講,這類似於RTO(Recovery Time Objective),但是也同樣不能完全等同於RTO。
三.資料庫集群的分類
在市場上,資料庫集群是一個籠統的名詞,沒有一個權威的定義,各市場參與者往往是各取所需,推出各種特色的資料庫集群解決方案。一般地具有下列四種集群方案:
1.基於串列數據復制技術
串列復制技術,本來是用於數據傳送和數據備份的,離人們熟悉的「資料庫集群」的概念有一定的距離。但是由於計算機軟硬體技術和網路通訊技術的快速發展,使得利用這種概念和技術構成的「資料庫集群」有了一定的可行性。此類集群,又可以分兩類:
a.串列非同步復制
此種方式是數據的非同步串列復制。主要採用資料庫事務日誌傳送或者硬碟數據塊傳送技術來實現,SQL Server自帶的復制、鏡像和SQL2012新出的AlwaysON(備機可讀)以及第三的一些鏡像Mirror技術都是屬於此類產品,此類技術和產品本質上就是數據備份技術和產品。下列以事務日誌傳送(Log Shipping)為例來說明。主資料庫完成事務處理後,生成事務處理日誌,日誌記錄通過FIFO隊列,進入備份資料庫處理,從而得到備份數據。此種方式的缺陷在於:
a) 主資料庫並行處理事務而日誌拷貝是串列的,而備份資料庫處理日誌記錄也是串列的。因此,FIFO隊列的溢出隨時可能發生。一旦發生,隊列必須重建,從而需要重新建立備份資料庫。此種方法對於一般客戶來講是不可行的。
b) 由於日誌拷貝是非同步的,主備資料庫不是實時一致,兩者之間存在「時間差」,因此如果用備份資料庫作負荷均衡,這樣的應用存在邏輯上的漏洞,可能會發生數據錯亂。
c) 由於主備數據存在時間差, 主資料庫一旦發生事故,理論上一定會丟失數據。在這種情況下,要麼需要手工恢復資料庫,這會消耗大量的人工成本,或者數據根本就不能恢復。
d) 對主機的性能影響,根據測試一般在15%到25%之間。
b.串列同步復制
此類集群往往是由昂貴的專用軟硬體構成的,原理圖如下:
此類系統採用專用的高速網路和軟體技術,將每個資料庫的請求,通過同步復制的方式,同步在主備兩台資料庫伺服器上執行正確後,才將結果返回給資料庫客戶。此系統的特點是:
a) 主資料庫被強迫與備份資料庫同步串列處理,因此性能受到限制。
b) 主備資料庫中任意一個出現問題,都會迫使事務處理交易回滾,因此整個系統的可靠性比單機系統降低了一半。
c) 由於以上問題,這種備份方式只適用於近距離光纖網路(5英里)。
d) 專用系統造價昂貴,又加上述明顯缺陷,因此市場上很少被採用。
2.基於共享存儲的雙機容錯技術
從技術適應性的角度講,雙機容錯比較適合於無狀態應用,或者狀態信息較少的應用切換,以此達到應用級的高可用性目的,其實並不適合於資料庫級的應用切換。
此種結構往往是兩個伺服器共享一個磁碟陣列,這里兩個伺服器共享一個虛擬的IP供資料庫客戶使用,形成一個單一的邏輯資料庫映象。此種所謂的資料庫集群的目的是,一旦主機系統出現問題,備份系統通過心跳機制的檢測,完成從主機系統到備份系統的切換。這種方案在市場上被稱為「雙機集群」或者「雙機熱備」,簡稱參見「雙機」,但微軟稱之為「故障轉移集群」。它有下列特點:
a. 此種高可用性解決方案只是無狀態系統(典型的如Web伺服器)的普通容錯切換思想在資料庫領域的應用。
b. 此系統本身只有一個單一的數據映象,數據儲存在共享的磁碟陣例上,因此共享的磁碟陣列成為了整個系統的單點錯誤源。
c. 由於是單一數據映象,因此必須採用通常的復制或備份方法獲取第二份數據,以保證數據的安全性。因此所有復制或備份方法的缺點,此類系統全部存在。
d. 主機系統和備份系統之間是沒有任何負載均衡關系的,在正常情況下,備份系統是閑置在那裡,因此對用戶來說是一種投資浪費。
e. 在錯誤切換的時候,往往存在切換時間長,而且更嚴重的是可能會存在丟失用戶交易數據丟失的現象,結果導致系統被迫停止服務,或者需要人工修復數據,或者數據永遠找不回來。
3.以Oracle RAC為代表的系統
RAC的英文全稱是:Real Application Cluster(真正的應用級集群)。我們需要關注的是「應用級」。為了緩解資料庫系統日益增長的性能壓力,Oracle公司推出了RAC系統。它基本結構如下:
此類系統,專門是針對資料庫性能問題而提出的。採用共享磁碟陣列的方式,因此在結構上和上述雙機容錯相似,不同的地方在於此系統中的資料庫節點之間採用的不是簡單的心跳檢測,而是Oracle公司自己定義的一套復雜的信息交換協議,以此來動態分配來自資料庫客戶端的請求。它的特點是:
a. 是個應用級的集群,也就是針對Oracle的資料庫管理系統(因為資料庫管理系統對於操作系統來講,就是一個「應用程序」,因此被稱為「應用級集群」),專門為提高資料庫性能而設計。
b. 此系統本身只有一個單一的數據映象,數據儲存在共享的磁碟陣例上,因此享的磁碟陣例成為了整個系統的單點錯誤源。
c. 管理配置復雜。
d. 由於是單一數據映象,因此必須採用通常的復制或備份方法獲取第二份數據,以保證數據的安全性。因此所有復制或備份方法的缺點,此類系統全部存在。
e. 由於資料庫系統本身具有高I/O的特性,因此,RAC系統里,磁碟I/O是提高性能的關鍵地方。
f. 依據不同的資料庫應用,有的性能有所提升,有的性能可能會反而下降。
㈢ 分布式資料庫與資料庫集群的區別到底是什麼哪位高手幫忙解惑下~~~~~~~~~~跪求
其實也可以理解成一樣,目的都是為了實現資料庫的負載均衡,高可用性。回
之間的不同要看怎麼設計了,分布答式一般是各分布節點根據哈希演算法或其他演算法分散存儲數據,意思就是所有節點的數據加起來才算是整體數據。從應用端傳過來的請求只操作涉及到的某個節點或部分節點就可完成一次請求。
資料庫集群很多設計的都是所有節點伺服器之間的數據是完全同步的。當一個應用發出請求,首先發給負載伺服器,根據應用系統提供的負載均衡演算法或是資料庫本身的負載均衡演算法,選擇一個負載最小節點來執行請求並返回數據,同時集群中還有一個同步伺服器來保證各節點中的數據一致。
總結:可以理解成一樣,而且分布式與集群設計的時候也可以一起用
㈣ 什麼是資料庫集群
現在比較大型點的系統基本上是AP+DB的架構: AP指應用程序,DB指資料庫端
AP放在一個伺服器上,DB放在另一個伺服器上
當一個系統比較大,訪問的用戶數量比較多的時候,比如QQ,上億用戶.
這時一個伺服器就吃不消了,這樣就想到多個伺服器跑同一個AP應用.
DB端也一樣.
linux集群 指的就是多個伺服器跑同一個AP應用,系統管理員的工作
資料庫集群 指的就是多個伺服器跑同一個DB資料庫.資料庫管理員的工作
linux集群基礎就要熟悉linux系統.
資料庫集群基礎就要熟悉具體的資料庫如oracle,db2,sysbase.mysql.等
0基礎可以學,只是要花時間.0基礎想搞到集群估計得花3個月時間.這還是要有環境的,有人指導才行.
㈤ 資料庫集群
確切地來說,資料庫集群指的是由多個一致並且獨立的資料庫伺服器構成一個邏輯上強大的資料庫,它應該同時具備負載均衡、內部實時數據同步、容錯和高可用性等功能,還應該對任何原有資料庫客戶端保持二進制兼容,使得客戶端不需要作任何修改就能使用資料庫集群。
「資料庫集群」這一名稱,在市場上有好幾種含義。對於微軟來說,它指的是SQL Server故障轉移集群;而對於ORACLE來講,則指的是共享存儲方式的RAC集群,另外還有一些獨立軟體開發商開發的集群產品,其中有的產品非常吻合上述資料庫集群的定義要求,有的則不是。
㈥ 資料庫集群是什麼
拿ORACLE為例:
集群是多台伺服器共同提供服務,資料庫集群的意思就是多台運行內資料庫服務的伺服器組容成一個集群。
ORACLE的集群,自己的是RAC,最少需要2台機器,先裝CLUSTER或者GRID,再在集群上安裝資料庫,就可以了。
要是DB2的話,還得用IBM的操作系統,安裝一個集群軟體
HACMP等等的。
反正
核心要理解的就是
,做集群,要有集群系統來支撐。例如
,文件同步訪問等等的。
RAC,HACMP等等的,都屬於集群系統!
㈦ 資料庫集群是什麼意思
現在比較大型點的系統基本上是AP+DB的架構: AP指應用程序,DB指資料庫端
AP放在一個伺服器上,DB放在另一個伺服器上
當一個系統比較大,訪問的用戶數量比較多的時候,比如QQ,上億用戶.
這時一個伺服器就吃不消了,這樣就想到多個伺服器跑同一個AP應用.
DB端也一樣.
linux集群 指的就是多個伺服器跑同一個AP應用,系統管理員的工作
資料庫集群 指的就是多個伺服器跑同一個DB資料庫.資料庫管理員的工作
linux集群基礎就要熟悉linux系統.
資料庫集群基礎就要熟悉具體的資料庫如oracle,db2,sysbase.mysql.等
0基礎可以學,只是要花時間.0基礎想搞到集群估計得花3個月時間.這還是要有環境的,有人指導才行.
㈧ 分布式資料庫 與 集群資料庫 之間的關系
問題1:
首先認清楚:集群是個物理形態,分布式是個工作方式。
分布式:一個業務分拆多個子業務,部署在不同的伺服器上;
集群:同一個業務,部署在多個伺服器上。
問題2:
跨機房要根據網路線上IP數據同步 如果同步到當前操作電腦必須 對方IP必須能通 ,然後在進行相關操作!(比如日誌同步數據 、工具同步數據、觸發器存儲過程同步數據等)
問題3:
oralce、MySQL等(具體要看你做那些分布式操作)
㈨ 資料庫集群
拿ORACLE為例:
集群是多台伺服器共同提供服務,資料庫集群的意思就是多台運行資料庫服務的伺服器組成一個集群。
ORACLE的集群,自己的是RAC,最少需要2台機器,先裝CLUSTER或者GRID,再在集群上安裝資料庫,就可以了。
要是DB2的話,還得用IBM的操作系統,安裝一個集群軟體 HACMP等等的。
反正 核心要理解的就是 ,做集群,要有集群系統來支撐。例如 ,文件同步訪問等等的。
RAC,HACMP等等的,都屬於集群系統!