【分布式理論13】分布式存儲:數據存儲難題與解決之道

文章目錄

    • 一、數據存儲面臨的問題
    • 二、RAID磁盤陣列的解決方案
      • 1. RAID概述
      • 2. RAID使用的技術
      • 3. RAID的代表性等級
    • 三、分布式存儲的新思路
      • 1. 分布式存儲背景與特點
      • 2. 分布式存儲的組成要素

一、數據存儲面臨的問題

在單機系統時代,當數據量不斷增加、硬盤空間不夠時,最簡單的解決辦法就是擴大磁盤容量。然而,隨著數據量的增長,磁盤讀寫操作的速度成為了限制系統性能的瓶頸。因此,提升存儲性能、提高數據的可靠性和可擴展性,成為了系統設計的重要目標。

在這個過程中,磁盤陣列(RAID)技術、分布式存儲以及擴展技術逐漸成為了應對挑戰的解決方案。

?

二、RAID磁盤陣列的解決方案

1. RAID概述

RAID(獨立磁盤冗余陣列)是解決上述問題的早期探索。它由多個獨立高性能磁盤驅動器構成磁盤子系統,為主機環境提供成本適中、數據可靠性高的高性能存儲,能改善磁盤的存儲容量、讀寫速度,增強磁盤的可用性。

?

2. RAID使用的技術

  1. 鏡像:將數據復制到多個磁盤。這一方面提高了系統可靠性,另一方面讓數據讀操作可并發進行,從而提高讀寫性能。但寫性能稍低,因為要確保數據正確寫入多個磁盤較耗時。
  2. 數據條帶:把一整塊數據分片,存于多個不同磁盤空間。面對并發讀寫請求時,可同時操作不同磁盤上的數據,提升I/O性能。
  3. 數據校驗:因鏡像存儲使同一份數據存于多個磁盤,這種冗余存儲有助于數據的錯誤檢測和修復。冗余數據通常用海明碼、異或操作等算法生成,提高了RAID的可靠性和容錯能力。

?

3. RAID的代表性等級

  1. RAID0:是一種無數據校驗的數據條帶化技術,不提供冗余策略。它將整塊數據分成多份存到不同磁盤,訪問時可并發執行IO操作,充分利用總線帶寬。
  2. RAID1:完全實現鏡像技術,把數據集復制一份,原數據集和副本分別存于兩個磁盤,磁盤空間利用率為50%。讀取數據可從任一磁盤獲取,寫入時響應時間受影響,但大大提高了數據可靠性。
  3. RAID01和RAID10:RAID01由RAID0和RAID1組合,先進行條帶化再鏡像,提高了讀寫效率和數據可靠性,但磁盤利用率低。RAID10則是先鏡像再條帶,從讀寫性能上和RAID01一樣,但出現磁盤故障時,讀性能優于RAID01,安全性更強。

雖然RAID通過增加磁盤數量提高了單機服務器的數據讀寫效率和可靠性,但單機磁盤擴容有上限,不足以應對數據爆發式增長帶來的挑戰。

?

三、分布式存儲的新思路

1. 分布式存儲背景與特點

分布式存儲屬于集群水平擴展,隨著業務發展,系統數據量和訪問量劇增,單機難以滿足需求,分布式集群存儲便應運而生。它將數據分布在多臺服務器節點上,為大規模應用提供大容量、高性能、高可用、高擴展的存儲服務。借鑒RAID的數據分片和副本技術,分布式存儲將數據按規律存儲在不同服務器節點,讀寫時也遵循相應規律。

2. 分布式存儲的組成要素

  1. 數據的使用者:也就是使用數據的用戶,可從分布式存儲系統寫入和讀取數據。數據分為結構化數據(如關系型數據庫)、半結構化數據(如HTML、JSON、XML等)和非結構化數據(如文檔、圖片、視頻等)。
  2. 數據的索引者:在分布式系統中,它負責找到數據讀寫的正確路徑。由于數據集分布在不同服務器上,需通過Hash算法、一致性Hash算法等找到數據。
  3. 數據的存儲者:相當于容器,將使用者產生的數據保存起來,數據可存于磁盤或內存。結構化數據、半結構化數據、非結構化數據分別對應分布式數據庫、分布式鍵值系統、分布式文件系統。索引者將使用者和存儲者連接起來,并作為數據存儲的媒介。

?
參考:《分布式架構原理與實踐-崔皓》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70446.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70446.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70446.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

高德地圖android sdk(備忘)

依賴 // 權限請求框架:https://github.com/getActivity/XXPermissions implementation com.github.getActivity:XXPermissions:20.0 // https://mvnrepository.com/artifact/com.amap.api/navi-3dmap-location-search implementation com.amap.api:navi-3dmap-loca…

DeepSeek、微信、硅基流動、納米搜索、秘塔搜索……十種不同方法實現DeepSeek使用自由

為了讓大家實現 DeepSeek 使用自由,今天分享 10 個暢用 DeepSeek 的平臺。 一、官方滿血版:DeepSeek官網與APP 首推,肯定是 DeepSeek 的官網和 APP,可以使用滿血版 R1 和 V3 模型,以及聯網功能。 網址: htt…

自動化之ansible(二)

一、ansible中playbook(劇本) 官方文檔: Ansible playbooks — Ansible Community Documentation 1、playbook的基本結構 一個基本的playbook由以下幾個主要部分組成 hosts: 定義要執行任務的主機組或主機。 become: 是否需要使用超級用戶…

python 神經網絡教程,神經網絡模型代碼python,小白入門基礎教程

文章目錄 前言1. 神經網絡基礎概念1.1 神經元1.2 激活函數1.3 神經網絡結構1.4 安裝 Python1.5 選擇開發環境2. 使用numpy構建簡單神經網絡 3. 使用PyTorch構建復雜神經網絡 前言 本教程旨在為廣大初學者和有一定基礎的開發者提供一個系統、全面且深入的 Python 神經網絡學習指…

SOME/IP--協議英文原文講解10

前言 SOME/IP協議越來越多的用于汽車電子行業中,關于協議詳細完全的中文資料卻沒有,所以我將結合工作經驗并對照英文原版協議做一系列的文章。基本分三大塊: 1. SOME/IP協議講解 2. SOME/IP-SD協議講解 3. python/C舉例調試講解 4.2.2 Req…

Spring框架基本使用(Maven詳解)

前言: 當我們創建項目的時候,第一步少不了搭建環境的相關準備工作。 那么如果想讓我們的項目做起來方便快捷,應該引入更多的管理工具,幫我們管理。 Maven的出現幫我們大大解決了管理的難題!! Maven&#xf…

用大內存主機下載Visual Studio

用一臺內存達到128G的主機下載Visual Studio 2022,用的是公司網絡。下載速度讓我吃了一驚,沒人用網絡了?還是網站提速了?以前最大只能達到5MB/秒。記錄這段經歷,是用來分析公司網絡用的......

Ubuntu20.04.2安裝Vmware tools

軟件版本:Vmware Workstation Pro 17.6.2 操作系統鏡像文件:ubuntu-20.04.2-desktop-amd64 方式1:用iso鏡像安裝 沒用這種方法,太麻煩 方式2:用apt安裝Open VM Tools 如果你使用的是較新的Ubuntu版本(如…

Mac系統下使用Docker快速部署MaxKB:打造本地知識庫問答系統

隨著大語言模型的廣泛應用,知識庫問答系統逐漸成為提升工作效率和個人學習的有力工具。MaxKB是一款基于LLM(Large Language Model)大語言模型的知識庫問答系統,支持多模型對接、文檔上傳和自動爬取等功能。本文將詳細介紹如何在Ma…

2526考研資料分享 百度網盤

通過網盤分享的文件:01、2026【考研數學】 鏈接: https://pan.baidu.com/s/1N-TlXcCKMcX1U-KBr0Oejg?pwducbe 提取碼: ucbe 提取碼:98wg--來自百度網盤超級會員v3的分享 通過網盤分享的文件:01、2026【考研政治】 鏈接: https://pan.baidu.com/s/1N-T…

【信息系統項目管理師-案例真題】2013下半年案例分析答案和詳解

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 試題一【問題? 1】(12 分)【問題? 2】(10 分)【問題 3】( 3 分 )試題二【問題? 1】(3? 分)【問題? 2】(10? 分)【問題? 3】(3? 分)【問題? 4】(9? 分)試題三【問題? 1】(12? 分)?【問題? 2】(8?…

idea連接gitee(使用idea遠程兼容gitee)

文章目錄 先登錄你的gitee拿到你的郵箱找到idea的設置選擇密碼方式登錄填寫你的郵箱和密碼登錄成功 先登錄你的gitee拿到你的郵箱 具體位置在gitee–>設置–>郵箱管理 找到idea的設置 選擇密碼方式登錄 填寫你的郵箱和密碼 登錄成功

UNIAPP開發之利用阿里RTC服務實現音視頻通話后端THINKPHP5

下面是一個使用ThinkPHP 5實現后端邏輯的示例。我們將創建一個簡單的ThinkPHP 5項目來處理生成推流和播流地址的請求。 后端部分(ThinkPHP 5) 1. 初始化ThinkPHP 5項目 首先,確保你已經安裝了Composer。然后使用Composer創建一個新的Think…

嵌入式開發崗位認識

目錄 1.核心定義2.崗位方向3.行業方向4.技術方向5.工作職責6.核心技能7.等級標準8.優勢與劣勢9.市場薪資10. 發展路徑11. 市場趨勢12. 技術趨勢 1.核心定義 嵌入式系統: 以應用為中心,以計算機技術為基礎,軟硬件可裁剪的專用計算機系統 特點…

圖解循環神經網絡(RNN)

目錄 1.循環神經網絡介紹 2.網絡結構 3.結構分類 4.模型工作原理 5.模型工作示例 6.總結 1.循環神經網絡介紹 RNN(Recurrent Neural Network,循環神經網絡)是一種專門用于處理序列數據的神經網絡結構。與傳統的神經網絡不同&#xff0c…

MySQL數據庫入門到大蛇尚硅谷宋紅康老師筆記 高級篇 part 2

第02章_MySQL的數據目錄 1. MySQL8的主要目錄結構 1.1 數據庫文件的存放路徑 MySQL數據庫文件的存放路徑:/var/lib/mysql/ MySQL服務器程序在啟動時會到文件系統的某個目錄下加載一些文件,之后在運行過程中產生的數據也都會存儲到這個目錄下的某些文件…

http 響應碼影響 video 標簽播放視頻

背景 使用后端給的文件下載接口地址實現視頻播放,但是 video 標簽一直無法播放視頻如下圖,把接口地址放到瀏覽器請求能直接下載。但就是不能播放 原因 http 響應碼不正確,返回201是無法播放視頻200可以如下圖 狀態碼的影響: 20…

OneNote手機/平板“更多筆記本”中有許多已經刪掉或改名的,如何刪除

問題描述: OneNote 在手機或平板上添加“更多筆記本”中,有許多已經刪掉或改名的筆記本!如何刪除? OR:如何徹底刪除OneNote中的筆記本? 處理做法: 這個列表對應365里面的【最近打開】&#…

LeetCode--23. 合并 K 個升序鏈表【堆和分治】

23. 合并 K 個升序鏈表 給你一個鏈表數組,每個鏈表都已經按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 正文 這道題有多種解決方案 堆 比較容易,又比較直觀的就是堆排序,將每個節點加入最小根堆中&…

【 Avalonia UI 語言國際化 I18n】圖文結合教學,保姆級教學,語言國際化就是這么簡單(.Net C#)

完整項目地址 github : https://github.com/Crazy-GrowUp/AvaloniaI18nTest/tree/master gitee :https://gitee.com/jack_of_disco/avalonia-i18n-test 0.項目新建 Properties 文件夾 對應的項目配置文件里面就會增加 <Folder Include"Properties\" /> 1.項…