A. 分布式資料庫相比自建資料庫具備哪些優勢
自建資料庫:
容易產生容量與性能瓶頸
當前的硬體條件下,主流資料庫可以支持單表千萬級數據量的存儲,但是難以支撐密集的並發讀寫,存在性能瓶頸。
分區分表或分庫方案限制太多
採用分區表方案,數據不能跨實例存儲,擴展性和維護性較差。
採用分庫方案,客戶端需要自行管理各庫連接,資料庫連接管理和升級復雜,擴容遷移困難。
伺服器成本高昂
普通X86伺服器支撐能力有限,品牌廠商的伺服器價格高昂,通過增加硬體規格來提升並發性能的成本太高,且能到達的性能高度有限。
在分布式資料庫面前,上面這些都不是問題,有很長廠商都已經把分布式資料庫做的不錯了,如阿里雲,華為雲等。
如下以我熟悉的華為雲分布式資料庫中間件DDM為例為你介紹下,如果感興趣可以去官網了解一下,現在好像還有試用活動:華為雲分布式資料庫中間件DDM
分布式資料庫:
數據分布存儲
DDM採用水平拆分方式,將數據記錄數龐大的單表,按指定的拆分規則,分布式存儲到各個分片中。同時DDM提供路由分發功能,應用服務無需考慮數據該寫入哪個分片,該從哪個分片讀取。
讀寫分離
用戶可以根據數據讀取壓力負載情況,為每個RDS實例配置一個或者多個只讀實例,提高查詢並發性能。
高性能
在實際業務訪問中,SQL主要的性能瓶頸集中在物理資料庫節點上。
DDM實例關聯多個RDS節點,減少單個RDS存儲的數據量,同時實現並行計算,支持PB級數據量訪問,以及百萬級高並發。
在線平滑擴容
DDM在不中斷業務的情況下,支持新增RDS實例,水平擴容存儲空間。一鍵式擴容,輕松解決單機資料庫的容量瓶頸。
B. 什麼是分布式存儲
分布式存儲系統,是將數據分散存儲在多台獨立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
(2)分布式存儲與高並發擴展閱讀:
分布式存儲,集中管理,在這個方案中,共有三級:
1、上級監控中心:上級監控中心通常只有一個,主要由數字矩陣、認證伺服器和VSTARClerk軟體等。
2、本地監控中心:本地監控中心可以有多個,可依據地理位置設置,或者依據行政隸屬關系設立,主要由數字矩陣、流媒體網關、iSCSI存儲設備、VSTARRecorder軟體等組成;音視頻的數據均主要保存在本地監控中心,這就是分布式存儲的概念。
3、監控前端:主要由攝像頭、網路視頻伺服器組成,其中VE4000系列的網路視頻伺服器可以帶硬碟,該硬碟主要是用於網路不暢時,暫時對音視頻數據進行保存,或者需要在前端保存一些重要數據的情況。
C. 分布式緩存主要用在高並發環境下的作用
分布式緩存主要用在高並發環境下,減輕資料庫的壓力,提高系統的響應速度和並發吞吐。當大量的讀、寫請求湧向資料庫時,磁碟的處理速度與內存顯然不在一個量級,因此,在資料庫之前加一層緩存,能夠顯著提高系統的響應速度,並降低資料庫的壓力。作為傳統的關系型資料庫,MySQL提供完整的ACID操作,支持豐富的數據類型、強大的關聯查詢、where語句等,能夠非常客易地建立查詢索引,執行復雜的內連接、外連接、求和、排序、分組等操作,並且支持存儲過程、函數等功能,產品成熟度高,功能強大。但是,對於需要應對高並發訪問並且存儲海量數據的場景來說,出於對性能的考慮,不得不放棄很多傳統關系型資料庫原本強大的功能,犧牲了系統的易用性,並且使得系統的設計和管理變得更為復雜。這也使得在過去幾年中,流行著另一種新的存儲解決方案——NoSQL,它與傳統的關系型資料庫最大的差別在於,它不使用SQL作為查詢語言來查找數據,而採用key-value形式進行查找,提供了更高的查詢效率及吞吐,並且能夠更加方便地進行擴展,存儲海量數據,在數千個節點上進行分區,自動進行數據的復制和備份。在分布式系統中,消息作為應用間通信的一種方式,得到了十分廣泛的應用。消息可以被保存在隊列中,直到被接收者取出,由於消息發送者不需要同步等待消息接收者的響應,消息的非同步接收降低了系統集成的耦合度,提升了分布式系統協作的效率,使得系統能夠更快地響應用戶,提供更高的吞吐。
當系統處於峰值壓力時,分布式消息隊列還能夠作為緩沖,削峰填谷,緩解集群的壓力,避免整個系統被壓垮。垂直化的搜索引擎在分布式系統中是一個非常重要的角色,它既能夠滿足用戶對於全文檢索、模糊匹配的需求,解決資料庫like查詢效率低下的問題,又能夠解決分布式環境下,由於採用分庫分表,或者使用NoSQL資料庫,導致無法進行多表關聯或者進行復雜查詢的問題。
D. 分布式緩存是什麼
分布式緩存主要用於在高並發環境下,減輕資料庫的壓力,提高系統的響應速度和並發吞吐。當大量的讀、寫請求湧向資料庫時,磁碟的處理速度與內存顯然不在一個量級,因此,在資料庫之前加一層緩存,能夠顯著提高系統的響應速度,並降低資料庫的壓力。作為傳統的關系型資料庫,MySQL提供完整的ACID操作,支持豐富的數據類型、強大的關聯查詢、where語句等,能夠非常客易地建立查詢索引,執行復雜的內連接、外連接、求和、排序、分組等操作,並且支持存儲過程、函數等功能,產品成熟度高,功能強大。但是,對於需要應對高並發訪問並且存儲海量數據的場景來說,出於對性能的考慮,不得不放棄很多傳統關系型資料庫原本強大的功能,犧牲了系統的易用性,並且使得系統的設計和管理變得更為復雜。這也使得在過去幾年中,流行著另一種新的存儲解決方案——NoSQL,它與傳統的關系型資料庫最大的差別在於,它不使用SQL作為查詢語言來查找數據,而採用key-value形式進行查找,提供了更高的查詢效率及吞吐,並且能夠更加方便地進行擴展,存儲海量數據,在數千個節點上進行分區,自動進行數據的復制和備份。在分布式系統中,消息作為應用間通信的一種方式,得到了十分廣泛的應用。消息可以被保存在隊列中,直到被接收者取出,由於消息發送者不需要同步等待消息接收者的響應,消息的非同步接收降低了系統集成的耦合度,提升了分布式系統協作的效率,使得系統能夠更快地響應用戶,提供更高的吞吐。
當系統處於峰值壓力時,分布式消息隊列還能夠作為緩沖,削峰填谷,緩解集群的壓力,避免整個系統被壓垮。垂直化的搜索引擎在分布式系統中是一個非常重要的角色,它既能夠滿足用戶對於全文檢索、模糊匹配的需求,解決資料庫like查詢效率低下的問題,又能夠解決分布式環境下,由於採用分庫分表,或者使用NoSQL資料庫,導致無法進行多表關聯或者進行復雜查詢的問題。
E. 分布式存儲和超融合區別及優勢
分布式存儲是什麼
關於分布式存儲實際上並沒有一個明確的定義,甚至名稱上也沒有一個統一的說法,大多數情況下稱作 Distributed Data Store 或者 Distributed Storage System。
其中維基網路中給 Distributed data store 的定義是:分布式存儲是一種計算機網路,它通常以數據復制的方式將信息存儲在多個節點中。
在網路中給出的定義是:分布式存儲系統,是將數據分散存儲在多台獨立的設備上。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
盡管各方對分布式存儲的定義並不完全相同,但有一點是統一的,就是分布式存儲將數據分散放置在多個節點中,節點通過網路互連提供存儲服務。這一點與傳統集中式存儲將數據集中放置的方式有著明顯的區分。
超融合是什麼
參考維基網路中的超融合定義:
超融合基礎架構(hyper-converged infrastructure)是一個軟體定義的 IT 基礎架構,它可虛擬化常見「硬體定義」系統的所有元素。HCI 包含的最小集合是:虛擬化計算(hypervisor),虛擬存儲(SDS)和虛擬網路。HCI 通常運行在標准商用伺服器之上。
超融合基礎架構(hyper-converged infrastructure)與 融合基礎架構(converged infrastructure)最大的區別在於,在 HCI 裡面,無論是存儲底層抽象還是存儲網路都是在軟體層面實現的(或者通過 hypervisor 層面實現),而不是基於物理硬體實現的。由於所有軟體定義的元素都圍繞 hypervisor 實現,因此在超融合基礎架構上的所有實例可以聯合共享所有受管理的資源。
分布式存儲和超融合區別及優勢?
分布式存儲,它的最大特點是多節點部署, 數據通過網路分散放置。分布式存儲的特點是擴展性強,通過多節點平衡負載,提高存儲系統的可靠性與可用性。
超融合基礎架構從定義中明確提出包含軟體定義存儲(SDS),具備硬體解耦的能力,可運行在通用伺服器之上。超融合基礎架構與 Server SAN 提倡的理念類似,計算與存儲融合,通過全分布式的架構,有效提升系統可靠性與可用性,並具備易於擴展的特性。
SMTX ZBS 分布式塊存儲架構
除此之外,超融合基礎架構有更進一步的擴展,它強調以虛擬化計算(hypervisor)為核心,以軟體定義的方式整合包括虛擬化計算, 軟體定義存儲以及虛擬網路資源。從筆者來看超融合基礎架構未來的可能性更多,可促進計算,存儲,網路,安全,容災等等 IT 服務大融合,降低IT 基礎架構的復雜性,重新塑造」軟體定義的數據中心」。
F. 一個大型、穩健、成熟的分布式系統的背後,往往會涉及眾多的支撐系統基礎設施
樹苗中2包是需要混合浸泡嗎?一個大型、穩健、成熟的分布式系統的背後,往往會涉及眾多的支撐系統,我們將這些支撐系統稱為分布式系統的基礎設施。除了前面所介紹的分布式協作及配置管理系統ZooKeeper,我們進行系統架構設計所依賴的基礎設施,還包括分布式緩存系統、持久化存儲、分布式消息系統、搜索引擎,以及CDN系統、負載均衡系統、運維自動化系統等,還有後面章節所要介紹的實時計算系統、離線計算系統、分布式文件系統、日誌收集系統、監控系統、數據倉庫等。
分布式緩存主要用於在高並發環境下,減輕資料庫的壓力,提高系統的響應速度和並發吞吐。當大量的讀、寫請求湧向資料庫時,磁碟的處理速度與內存顯然不在一個量級,因此,在資料庫之前加一層緩存,能夠顯著提高系統的響應速度,並降低資料庫的壓力。作為傳統的關系型資料庫,MySQL提供完整的ACID操作,支持豐富的數據類型、強大的關聯查詢、where語句等,能夠非常客易地建立查詢索引,執行復雜的內連接、外連接、求和、排序、分組等操作,並且支持存儲過程、函數等功能,產品成熟度高,功能強大。但是,對於需要應對高並發訪問並且存儲海量數據的場景來說,出於對性能的考慮,不得不放棄很多傳統關系型資料庫原本強大的功能,犧牲了系統的易用性,並且使得系統的設計和管理變得更為復雜。這也使得在過去幾年中,流行著另一種新的存儲解決方案——NoSQL,它與傳統的關系型資料庫最大的差別在於,它不使用SQL作為查詢語言來查找數據,而採用key-value形式進行查找,提供了更高的查詢效率及吞吐,並且能夠更加方便地進行擴展,存儲海量數據,在數千個節點上進行分區,自動進行數據的復制和備份。在分布式系統中,消息作為應用間通信的一種方式,得到了十分廣泛的應用。消息可以被保存在隊列中,直到被接收者取出,由於消息發送者不需要同步等待消息接收者的響應,消息的非同步接收降低了系統集成的耦合度,提升了分布式系統協作的效率,使得系統能夠更快地響應用戶,提供更高的吞吐。
當系統處於峰值壓力時,分布式消息隊列還能夠作為緩沖,削峰填谷,緩解集群的壓力,避免整個系統被壓垮。垂直化的搜索引擎在分布式系統中是一個非常重要的角色,它既能夠滿足用戶對於全文檢索、模糊匹配的需求,解決資料庫like查詢效率低下的問題,又能夠解決分布式環境下,由於採用分庫分表,或者使用NoSQL資料庫,導致無法進行多表關聯或者進行復雜查詢的問題。
G. 分布式存儲的優點有哪些
分布式存儲的六大優點
分布式存儲往往採用分布式的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息。它不但提高了系統的可靠性、可用性和存取效率,還易於擴展,將通用硬體引入的不穩定因素降到最低。優點如下:
1. 高性能
一個具有高性能的分布式存戶通常能夠高效地管理讀緩存和寫緩存,並且支持自動的分級存儲。分布式存儲通過將熱點區域內數據映射到高速存儲中,來提高系統響應速度;一旦這些區域不再是熱點,那麼存儲系統會將它們移出高速存儲。而寫緩存技術則可使配合高速存儲來明顯改變整體存儲的性能,按照一定的策略,先將數據寫入高速存儲,再在適當的時間進行同步落盤。
2. 支持分級存儲
由於通過網路進行松耦合鏈接,分布式存儲允許高速存儲和低速存儲分開部署,或者任意比例混布。在不可預測的業務環境或者敏捷應用情況下,分層存儲的優勢可以發揮到最佳。解決了目前緩存分層存儲最大的問題是當性能池讀不命中後,從冷池提取數據的粒度太大,導致延遲高,從而給造成整體的性能的抖動的問題。
3. 一致性
與傳統的存儲架構使用RAID模式來保證數據的可靠性不同,分布式存儲採用了多副本備份機制。在存儲數據之前,分布式存儲對數據進行了分片,分片後的數據按照一定的規則保存在集群節點上。為了保證多個數據副本之間的一致性,分布式存儲通常採用的是一個副本寫入,多個副本讀取的強一致性技術,使用鏡像、條帶、分布式校驗等方式滿足租戶對於可靠性不同的需求。在讀取數據失敗的時候,系統可以通過從其他副本讀取數據,重新寫入該副本進行恢復,從而保證副本的總數固定;當數據長時間處於不一致狀態時,系統會自動數據重建恢復,同時租戶可設定數據恢復的帶寬規則,最小化對業務的影響。
4. 容災性
在分布式存儲的容災中,一個重要的手段就是多時間點快照技術,使得用戶生產系統能夠實現一定時間間隔下的各版本數據的保存。特別值得一提的是,多時間點快照技術支持同時提取多個時間點樣本同時恢復,這對於很多邏輯錯誤的災難定位十分有用,如果用戶有多台伺服器或虛擬機可以用作系統恢復,通過比照和分析,可以快速找到哪個時間點才是需要回復的時間點,降低了故障定位的難度,縮短了定位時間。這個功能還非
5. 擴展性
6. 存儲系統標准化
H. 集中式存儲和分布式存儲的區別在哪裡如何選擇
如今全球數據存儲量呈現爆炸式增長,企業及互聯網數據以每年50%的速率在增長,據Gartner預測,到2020年,全球數據量將達到35ZB,等於80億塊4TB硬碟。數據結構變化給存儲系統帶來新的挑戰。非結構化數據在存儲系統中所佔據比例已接近80%。
互聯網的發展使得數據創造的主體由企業逐漸轉向個人用戶,而個人所產生的絕大部分數據均為圖片、文檔、視頻等非結構化數據;企業辦公流程更多通過網路實現,表單、票據等都實現了以非結構化為主的數字化存檔;同時,基於資料庫應用的結構化數據仍然在企業中占據重要地位,存儲大量的核心信息。
數據業務的急劇增加,傳統單一的SAN存儲或NAS存儲方式已經不適應業務發展需要。SAN存儲:成本高,不適合PB級大規模存儲系統。數據共享性不好,無法支持多用戶文件共享。NAS存儲:共享網路帶寬,並發性能差。隨系統擴展,性能會進一步下降。因此,集中式存儲再次活躍。
那麼集中式存儲和分布式存儲的有缺點分別有哪些呢?在面對二者時我們該如何選擇呢?下面我將為大家介紹和分析集中式存儲和分布式存儲的不同之處以及在應用中我們應做的選擇。
分布式和集中式存儲的選擇
集中存儲的優缺點是,物理介質集中布放;視頻流上傳到中心對機房環境要求高,要求機房空間大,承重、空調等都是需要考慮的問題。
分布存儲,集中管理的優缺點是,物理介質分布到不同的地理位置;視頻流就近上傳,對骨幹網帶寬沒有什麼要求;可採用多套低端的小容量的存儲設備分布部署,設備價格和維護成本較低;小容量設備分布部署,對機房環境要求低。
I. 分布式存儲和傳統存儲比較在哪些應用場景比較有優勢
1、分布式存儲優勢
分布式存儲可以使生產系統在線運行的情況下進行縱向擴展(Scale-Up)或橫向擴展(Scale-Out),且存儲系統在擴展後可以達到容量與性能均線性擴展的效果。其具有以下特性:
高性能
分布式存儲系統能夠將所有存儲節點的處理器資源、硬碟資源、網路資源進行整合,將任務切分給多台存儲節點,進行並發數據處理,避免了單個硬碟或設備造成的瓶頸,提升整個集群的處理能力。分布式存儲系統具有良好的性能擴展能力,可以滿足應用程序對存儲性能不斷增長的要求。
高擴展性
分布式存儲系統通過擴展集群存儲節點規模從而提高系統存儲容量、計算和性能的能力,通過增加和升級伺服器硬體,或者指通過增加存儲節點數量來提升服務能力。分布式存儲系統支持在線增加存儲節點,對前端業務透明,系統整體性能與存儲節點數量呈線性關系。
高可用性
分布式存儲系統同時基於硬體及軟體設計了高可用機制,在面對多種異常時(如存儲節點宕機、網路中斷、硬碟故障、數據損壞等)仍可提供正常服務,提高分布式存儲系統硬體的可用性可以通過增加存儲節點數量或者採用多種硬體冗餘機制保證。分布式存儲系統多採用副本機制或糾刪碼機制保證數據的高可用性,副本機制可以提供較高的數據冗餘度,但會降低存儲系統有效空間的利用率,糾刪碼機制可以在保證一定數據冗餘度的情況下,大幅提高存儲系統的有效空間利用率。
高安全性
分布式存儲系統支持可靠的許可權控制及互信確認機制,同時採用私有的數據切片及數據編碼機制,可以從多重角度保證集群系統不受惡意訪問和攻擊,保護存儲數據不被竊取。
2、分布式存儲應用場景
分布式的「四高」特性,使得其在高性能計算、大數據視頻雲及大數據分析等應用場景中有著廣泛的應用。
高性能計算場景
在如氣象氣候、地質勘探、航空航天、工程計算、材料工程等領域,基於集群的高性能計算,已成為必需的輔助工具。集群系統有極強的伸縮性,可通過在集群中增加或刪減節點的方式,在不影響原有應用與計算任務的情況下,隨時增加和降低系統的處理能力。根據不同的計算模式與規模,構成集群系統的節點數可以從幾個到成千上萬個。這些業務對後端的存儲系統提出了新的需求,包括統一的存儲空間、高效率的文件檢索、高帶寬的吞吐性能,高可靠的數據安全保障等。
大數據視頻雲應用場景
隨著視頻高清技術及超高清技術的普及,視頻大數據應用場景,如雪亮工程、平安城市、廣電媒資、影視製作、視頻網站等領域,對存儲設備提出了大容量、高讀寫性能、高可靠性、低延時及可擴展性等需求。針對這樣大規模視頻數據應用場景,就需要一個技術先進、性能優越的存儲系統作為後端數據存儲的支撐者。
大數據分析應用場景
伴隨著互聯網技術及人工智慧的發展,各種基於海量用戶/數據/終端的大數據分析及人工智慧業務模式不斷涌現,同樣需要充分考慮存儲功能集成度、數據安全性、數據穩定性,系統可擴展性、性能及成本各方面因素。
在數據爆發增長的「數字時代」,軟體定義的分布式存儲是存儲技術高速發展的結晶,並具有著很大的成長空間,必將應用於更廣泛的大數據業務場景。