當前位置:首頁 » 存儲配置 » 分布式圖片存儲

分布式圖片存儲

發布時間: 2024-12-03 15:42:06

⑴ 集中式存儲和分布式存儲有什麼區別

區別:

1、物理介質分布不同。

集中存儲:物理介質集中布放。

分布存儲:物理介質分布到不同的地理位置。

2、視頻流上傳不同:

集中存儲:視頻流上傳到中心。

分布存儲:視頻流就近上傳,對骨幹網帶寬沒有什麼要求;可採用多套低端的小容量的存儲設備分布部署,設備價格和維護成本較低;小容量設備分布部署,對機房環境要求低。

3、對機房有要求不同:

集中存儲:對機房環境要求高,要求機房空間大,承重、空調等都是需要考慮的問題。

分布存儲:對骨幹網帶寬沒有什麼要求,可採用多套低端的小容量的存儲設備分布部署,設備價格和維護成本較低;。小容量設備分布部署,對機房環境要求低。



(1)分布式圖片存儲擴展閱讀:

集中存儲:

指建立一個龐大的資料庫,把各種信息存入其中,各種功能模塊圍繞信息庫的周圍並對信息庫進行錄入、修改、查詢、刪除等操作的組織方式。

分布式存儲系統:

是將數據分散存儲在多台獨立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。

分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。


網路-集中存儲

網路-分布式存儲系統

⑵ 圖片存儲在什麼地方比較好數量比較多。。要那種永遠不會丟失的地方。。最好方便點

同意樓上的,圖片可以存儲在又拍雲存儲,又拍雲存儲採取的是分布式存儲,你的圖片會備份到三台伺服器上,一般來說,就算其中某台伺服器出現問題,也會迅速的轉接到其他的伺服器上,另外們又拍雲存儲有四條線路,電信,移動,聯通和教育四條線路,可以保證訪問者從各條線路以最快的速度訪問你的圖片

⑶ 淺析 Haystack 圖片存儲系統

Facebook在2010年的時候發表過一篇在分布式存儲系統領域很有名的一篇文章《Finding a needle in Haystack》來描述他們的圖片存儲系統,Haystack 存儲了超過2600億張圖片,大約佔了20TB的數據,用戶每周都會上傳10億張圖片,高峰時期的並發量在100萬以上(這是2010年的數據,現在很有可能上了一個數量級)。

在這個數量級之下,需要考慮的問題不僅僅是高吞吐,低延時,保證數據的一致性,還要考慮如何能節省流量,容易擴展,容錯等等。下面我們就來看下Haystack是怎樣滿足這些分布式系統的要素的。

圖片存儲系統的最大特點是數據只寫一次,讀取頻繁,不會修改,很少刪除。Facebook 一開始的存儲系統是基於NFS的NAS(Network Attached Storage), 但這種基於 POSIX 的文件系統無法支撐如此大的負載。其中主要的問題在於在圖片定址的過程中會產生過多的磁碟操作。

我們知道從傳統文件系統裡面讀取一個文件需要至少三次磁碟操作,第一次從硬碟中讀取目錄的 metadata 到內存中,然後讀取inode到內存,最後才從磁碟中讀取文件內容。

再者這些metadata裡麵包含了大量比如許可權控制這些對於圖片存儲系統來說無用的信息,也浪費了大量的磁碟空間。當像圖片這樣的靜態資源服務出現瓶頸的時候,自然就會想到使用 CDN (Content Delivery Networks) 系統。在傳統的設計中,一個圖片的 HTTP 請求發送後, 如果 CDN 有這個資源的緩存,就會立馬返回,反之 ,CDN 會將根據請求的 URL 從存儲系統裡面讀取圖片,更新緩存,然後再返回。在這樣的設計中,CDN 確實可以很有效地處理熱點圖片的請求。

但像 Facebook 這樣的社交網路中,有大量的請求是針對那些非熱點或者老內容的,用戶在請求那些長尾 (long tail) 內容時將沒有優化。當然,有些同學會說,那我可以將所有的圖片都緩存到 CDN,那確實會解決這個問題,但將會極大地增加資源的開銷。

為了減少那些直接 hit 到存儲系統的請求的磁碟操作,他們想到在第一次讀取文件的時候把filename到 file handle 的映射緩存到內存,在下一次讀取文件的時候,會調用自定義的open_by_filehandle來減少磁碟操作,但這對於long tail的讀取問題依然存在,因為這些文件的映射關系沒有提前放在內存中。

於是,Facebook 決定從頭研發圖片存儲系統,從前面我們可以看出,Haystack 的核心任務就是在處理每一次的請求中盡可能地減少磁碟操作。我們先來描述下 Haystack 讀取和上傳圖片流程是怎樣的,然後再來看其中的細節是如何處理的。

當發起一次圖片讀取請求的時候會通過一個事先構建好的 URL

http://///這個 URL 實際上顯示出了訪問的順序,先從外部 CDN 讀取,如果沒有,訪問內部 Cache,如果還是沒有,就直接訪問 Store Machine.(URL最後一部分提供了圖片的唯一標識)

用戶上傳圖片的時候先會上傳到 web 伺服器, 然後伺服器從Directory中找到一個可寫的physical volume,最後伺服器會給這個圖片生成一個唯一ID, 然後寫入到這個logical volume 所對應的所有physical volume中。

上面的過程中出現了幾個陌生的名詞,別著急,我們一個個來看。我們先來介紹 Haystack 的三個主要組件:

Store,Directory,Cache.

Store 是核心組件,負責圖片的存儲。Store 的容量決定了這個存儲系統的容量,整個 Store 組件由很多個 store machine 組成,store machine 的容量又由一系列的 physical volume 決定。

例:要提供 10TB容量,我們可分攤到 100 個 physical volume,每個 physical volume 提供 100 GB 的容量。這時候有的同學會問,那麼數據冗餘是怎麼解決的呢?Haystack 借鑒了普通硬碟中的 logical volume 的概念,將不同機器上的多個 physical

volume 組成了一個虛擬的 logical volume。

當存儲一張圖片的時候,實際上是存儲到了 logical volume 對應的所有 physical volume中。它們之間的映射關系連同其它的metadata都存儲在 Directory組件中。每個physicalvolume 中都存儲了上百萬張圖片,可以把它想像成一個巨大的 append-only 文件,然後通過 offset 來訪問文件。

我們來詳細看下這個文件到底是如何存放的,如何來達到減少磁碟操作目的的。對於每個這樣超大的文件,都由一個 superblock 和一系列的 needles 組成,每個 needle 就是每張圖片的信息。看下下面這張圖,它的結構就一目瞭然了。

每個needle包含的細節信息有圖片ID,圖片大小,圖片數據等等,還會有數據校驗的屬性。每個 store machine 都有若干個physical volume大文件, 為了提高檢索needles 的速度,在內存里為每個physical volume都維護了一張圖片I 到needle之間的映射表。

當store machine接收到讀取請求時,首先從內存映射表中找到相應的metadata, 然後通過offset從硬碟中讀取到整個needle, 通過數據校驗後返回。如果接收到的是上傳請求,會把組織好的needle追加到所有對應的physical volume文件中,並且更新內存里的映射表。如果是刪除操作的話,我們注意到下圖中有個Flags標志位其實就是用來標記是否是刪除的狀態,這樣一來就很簡單,直接在這個位置標記好,系統會在後面執行compaction 操作回收這些空間。

講到這里,一個正常流程的存儲過程已經很清楚了。這時候我們就需要考慮分布式系統一個必不可少的特性:容錯性。當一個 store machine 宕機的時候,理論上我們可以讀取所有的 physical volume 來重新構建內存映射表,但這就需要從磁碟重新讀取 TB 級別的數據,顯然是非常耗時和不高效的。為了解決這個問題,每個 store machine 為每個 physical volume 都維護了一個索引文件。這個索引文件類似於游戲中的存檔點 (checkpoint),它的結構和 physical volume 文件類似,保存了查找每個 needle 所需的屬性。為了性能,索引文件是非同步更新的(寫的時候非同步更新,刪的時候壓根不會更新),這就會帶來一個問題:索引文件有可能不是最新的。之前我們提到過,physical volume 文件是一個 append-only 的文件,索引文件也是。所以我們只需要在重啟 store machine 的時候,從後向前掃描 physical volume 文件找到那幾個沒有被索引的文件,加到索引里去就行了。對於被刪除的文件,在真正讀取完整 needle 數據的時候,通過檢查刪除標志位來更新內存映射表。

我們之前提到可以使用 CDN 來緩解系統壓力,但它無法很好地解決非熱點圖片的問題,並且如果 CDN 節點出現故障的話,沒有 Cache 這一層會對底層的存儲系統 Store 產生巨大的壓力。Cache 組件主要緩存了最近上傳的圖片,它的概念很簡單,實際上是一個分布式 hash table,通過圖片的 ID 為 key 可以找到對應的數據。Cache 接收從 CDN 或者瀏覽器直接發來的 HTTP 請求,但只有在以下兩個條件都滿足的情況下才會緩存圖片:

1) 請求來自用戶瀏覽器而不是來自 CDN

2) 請求的 store machine 是可寫的

這聽上去有些費解,條件 1 的原因是如果一個請求在 CDN 緩存中 miss 其實也會在 Cache 中 miss (如果一張圖片成為熱門的話,那也能在 CDN 找到),條件 2 的原因則是避免讓可寫的 store machine 進行大量讀操作,因為圖片通常在剛剛上傳後會被大量讀取,文件系統通常在只讀或者只寫而不是既讀又寫的時候性能比較好。

如果沒有 Cache 的話,可寫的 store machine 將會同時處理寫操作以及大量的讀操作,會導致性能的急劇下降。

現在我們只剩下 Directory 組件沒有講了。除了之前我們提到的存儲了 physical volume 到 logical volume 的映射關系以及圖片 ID 到 logical physical 的映射關系,它還提供負載均衡服務以及為每個操作選擇具體的 volume (因為寫操作的對象是 logical volume,讀操作的對象是 physical volume), 它還決定了一個請求是被 CDN 處理還是被 Cache 處理。Directory 還可以標記邏輯卷的狀態,在運維需要或者空間滿了的時候可以標記為只讀狀態。當往 Store 加新機器的時候,這些機器就會標記成可寫的,只有可寫的機器才能接受圖片上傳請求。這里有一個細節需要注意,圖片 ID 到 logical physical 的映射表肯定無法存放在單機內存,文章中也沒有交代具體實現。我們猜想可以使用 Mysql 分片集群和加上 Memcached 集群來實現。總的來講,Directory 實際上根據 metadata,然後結合各種策略,實現了整個系統的調度器。

本文描述了 Haystack 圖片存儲系統的主要脈絡,當然還有許多細節沒有提到,比如整個系統的容錯機制,如何實現批量寫操作等等。經過這幾年的發展,我們相信 Haystack 肯定也進行了更多的優化,現在一些開源的分布式存儲系統也被應用到實際的生產系統中,比如淘寶的 TFS,MooseFS 等等。我們會在後續的文章中比較這些系統之間的異同,總結出解決其中典型問題的通用方法。

⑷ 什麼是分布式存儲

分布式存儲是一種數據存儲方式。

分布式存儲具體是指通過網路將多台存儲設備和計算機連接起來,共同構建一個存儲系統。在這個系統中,數據被分散存儲在多個節點上,每個節點都可以獨立工作並處理數據請求。以下是關於分布式存儲的詳細解釋:

1. 基本概述:與傳統的中心化存儲不同,分布式存儲利用網路技術將數據存儲和計算分散到多個節點上。通過這種方式,系統的可靠性和可擴展性得到了提高。因為數據被分散存儲在多個地方,即使部分節點出現故障,數據也能得到保護。

2. 核心特點:分布式存儲的關鍵在於其去中心化的特性。數據不是存儲在一個中心伺服器上,而是分布在多個存儲設備中。這意味著沒有一個單點故障會導致整個系統的癱瘓。此外,分布式存儲系統通常具有較高的可擴展性,因為可以輕松地添加更多的存儲節點來擴展存儲容量。

3. 工作原理:在分布式存儲系統中,數據被分割成小塊並分布在不同的節點上。當需要訪問數據時,系統會根據特定的演算法找到存儲數據的位置。由於數據是分散的,因此讀取和寫入操作可以在多個節點上同時進行,從而提高數據處理的效率。

4. 應用場景:分布式存儲適用於需要大規模數據存儲和處理的應用場景,如雲計算、大數據分析和在線備份服務等。它能夠提供高可靠性、靈活性和經濟性,滿足這些應用對於數據存儲的需求。

總之,分布式存儲通過網路連接多個存儲設備和計算機來構建一個可靠且可擴展的存儲系統。它去中心化的特性使得數據更加安全,並且能夠適應大規模數據處理的需求。

⑸ 分布式存儲是什麼

什麼是分布式存儲系統?
就是將數據分散存儲在多 *** 立的設備上
分布式存儲是什麼?選擇什麼樣的分布式存儲更好?
分布式存儲系統,是將數據分散存儲在多 *** 立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。

聯想超融合ThinkCloud AIO超融合雲一體機是聯想針對企業級用戶推出的核心產品。ThinkCloud AIO超融合雲一體機實現了對雲管理平台、計算、網路和存儲系統的無縫集成,構建了雲計算基礎設施即服務的一站式解決方案,為用戶提供了一個高度簡化的一站式基礎設施雲平台。這不僅使得業務部署上線從周縮短到天,而且與企業應用軟體、中間件及資料庫軟體完全解耦,能夠有效提升企業IT基礎設施運維管理的效率和關鍵應用的性能
什麼是分布式數據存儲
定義:

分布式資料庫是指利用高速計算機網路將物理上分散的多個數據存儲單元連接起來組成一個邏輯上統一的資料庫。分布式資料庫的基本思想是將原來集中式資料庫中的數據分散存儲到多個通過網路連接的數據存儲節點上,以獲取更大的存儲容量和更高的並發訪問量。近年來,隨著數據量的高速增長,分布式資料庫技術也得到了快速的發展,傳統的關系型資料庫開始從集中式模型向分布式架構發展,基於關系型的分布式資料庫在保留了傳統資料庫的數據模型和基本特徵下,從集中式存儲走向分布式存儲,從集中式計算走向分布式計算。

特點:

1.高可擴展性:分布式資料庫必須具有高可擴展性,能夠動態地增添存儲節點以實現存儲容量的線性擴展。

2 高並發性:分布式資料庫必須及時響應大規模用戶的讀/寫請求,能對海量數據進行隨機讀/寫。

3. 高可用性:分布式資料庫必須提供容錯機制,能夠實現對數據的冗餘備份,保證數據和服務的高度可靠性。
分布式塊存儲和 分布式文件存儲有是什麼區別
分布式文件系統(dfs)和分布式資料庫都支持存入,取出和刪除。但是分布式文件系統比較暴力,可以當做key/value的存取。分布式資料庫涉及精煉的數據,傳統的分布式關系型資料庫會定義數據元組的schema,存入取出刪除的粒度較小。

分布式文件系統現在比較出名的有GFS(未開源),HDFS(Hadoop distributed file system)。分布式資料庫現在出名的有Hbase,oceanbase。其中Hbase是基於HDFS,而oceanbase是自己內部實現的分布式文件系統,在此也可以說分布式資料庫以分布式文件系統做基礎存儲。
統一存儲和融合存儲以及分布式存儲的區別
統一存儲具體概念:

統一存儲,實質上是一個可以支持基於文件的網路附加存儲(NAS)以及基於數據塊的SAN的網路化的存儲架構。由於其支持不同的存儲協議為主機系統提供數據存儲,因此也被稱為多協議存儲。

基本簡介:

統一存儲(有時也稱網路統一存儲或者NUS)是一個能在單一設備上運行和管理文件和應用程序的存儲系統。為此,統一存儲系統在一個單一存儲平台上整合基於文件和基於塊的訪問,支持基於光纖通道的SAN、基於IP的SAN(iSCSI)和NAS(網路附加存儲)。

工作方式:

既然是一個集中化的磁碟陣列,那麼就支持主機系統通過IP網路進行文件級別的數據訪問,或通過光纖協議在SAN網路進行塊級別的數據訪問。同樣,iSCSI亦是一種非常通用的IP協議,只是其提供塊級別的數據訪問。這種磁碟陣列配置多埠的存儲控制器和一個管理介面,允許存儲管理員按需創建存儲池或空間,並將其提供給不同訪問類型的主機系統。最通常的協議一般都包括了NAS和FC,或iSCSI和FC。當然,也可以同時支持上述三種協議的,不過一般的存儲管理員都會選FC或iSCSI中的一種,它們都提供塊級別的訪問方式,和文件級別的訪問方式(NAS方式)組成統一存儲。
分布式存儲支持多節點,節點是什麼,一個磁碟還是一個主控?
一個節點是存儲節點的簡稱,存儲節點一般是一個存儲伺服器(必然帶控制器),伺服器之間通過高速網路互連。

現在越來越多的存儲伺服器使用arm CPU+磁碟陣列節省能耗,提高「容量能耗比」。
分布式文件系統有哪些主要的類別?
分布式存儲在大數據、雲計算、虛擬化場景都有勇武之地,在大部分場景還至關重要。munity.emc/message/655951 下面簡要介紹*nix平台下分布式文件系統的發展歷史:

1、單機文件系統

用於操作系統和應用程序的本地存儲。

2、網路文件系統(簡稱:NAS)

基於現有乙太網架構,實現不同伺服器之間傳統文件系統數據共享。

3、集群文件系統

在共享存儲基礎上,通過集群鎖,實現不同伺服器能夠共用一個傳統文件系統。

4、分布式文件系統

在傳統文件系統上,通過額外模塊實現數據跨伺服器分布,並且自身集成raid保護功能,可以保證多台伺服器同時訪問、修改同一個文件系統。性能優越,擴展性很好,成本低廉。
分布式存儲都有哪些,並闡述其基本實現原理
神州雲科 DCN NCS DFS2000(簡稱DFS2000)系列是面向大數據的存儲系統,採用分布式架構,真正的分布式、全對稱群集體系結構,將模塊化存儲節點與數據和存儲管理軟體相結合,跨節點的客戶端連接負載均衡,自動平衡容量和性能,優化集群資源,3-144節點無縫擴展,容量、性能歲節點增加而線性增長,在 60 秒鍾內添加一個節點以擴展性能和容量。
什麼是Hadoop分布式文件系統 10分
分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通浮計算機網路與節點相連。

Hadoop是Apache軟體基金會所研發的開放源碼並行運算編程工具和分散式檔案系統,與MapRece和Google檔案系統的概念類似。

HDFS(Hadoop 分布式文件系統)是其中的一部分。
分布式文件存儲系統採用什麼方式
一。分布式Session的幾種實現方式1.基於資料庫的Session共享2.基於NFS共享文件系統3.基於memcached 的session,如何保證 memcached 本身的高可用性?4. 基於resin/tomcat web容器本身的session復制機制5. 基於TT/Redis 或 jbosscache 進行 session 共享。6. 基於cookie 進行session共享或者是:一、Session Replication 方式管理 (即session復制) 簡介:將一台機器上的Session數據廣播復制到集群中其餘機器上 使用場景:機器較少,網路流量較小 優點:實現簡單、配置較少、當網路中有機器Down掉時不影響用戶訪問 缺點:廣播式復制到其餘機器有一定廷時,帶來一定網路開銷二、Session Sticky 方式管理 簡介:即粘性Session、當用戶訪問集群中某台機器後,強制指定後續所有請求均落到此機器上 使用場景:機器數適中、對穩定性要求不是非常苛刻 優點:實現簡單、配置方便、沒有額外網路開銷 缺點:網路中有機器Down掉時、用戶Session會丟失、容易造成單點故障三、緩存集中式管理 簡介:將Session存入分布式緩存集群中的某台機器上,當用戶訪問不同節點時先從緩存中拿Session信息 使用場景:集群中機器數多、網路環境復雜優點:可靠性好 缺點:實現復雜、穩定性依賴於緩存的穩定性、Session信息放入緩存時要有合理的策略寫入二。Session和Cookie的區別和聯系以及Session的實現原理1、session保存在伺服器,客戶端不知道其中的信息;cookie保存在客戶端,伺服器能夠知道其中的信息。 2、session中保存的是對象,cookie中保存的是字元串。 3、session不能區分路徑,同一個用戶在訪問一個網站期間,所有的session在任何一個地方都可以訪問到。而cookie中如果設置了路徑參數,那麼同一個網站中不同路徑下的cookie互相是訪問不到的。 4、session需要藉助cookie才能正常 工作 。如果客戶端完全禁止cookie,session將失效。是無狀態的協議,客戶每次讀取web頁面時,伺服器都打開新的會話......

⑹ 什麼是分布式存儲

隨著大數據時代的蓬勃發展,分布式系統在互聯網公司的應用場景中扮演著重要角色。它們以規模大和成本低為顯著特點,以適應不同業務需求。分布式存儲系統作為分布式系統的核心支撐,其定義和分類是理解其運作的關鍵。分布式存儲系統主要具備四個特性:可擴展性、低成本、高性能和易用性。它涉及的數據分布、一致性、容錯、負載均衡、事務並發控制以及易用性管理等技術問題。


數據分類主要分為非結構化數據,如音頻、圖片和文檔,半結構化數據如HTML文檔,以及結構化數據,通常存儲在關系資料庫中。根據存儲需求,分布式存儲系統可以分為不同的類別:



  1. 分布式文件系統,如Facebook Haystack和Taobao Flie System,主要針對非結構化數據的存儲,如大文件和Blob對象。

  2. 分布式鍵值系統,如Amazon Dynamo和Taobao Tair,適用於存儲關系簡單的半結構化數據,提供基本的CRUD操作。

  3. 分布式表格系統,如Google Bigtable和Azure Table Storage,功能更豐富,處理復雜的數據結構,介於鍵值系統和資料庫之間。

  4. 分布式資料庫,如Mysql集群和Amazon RDS,專門用於結構化數據,支持SQL查詢和復雜的事務處理,但擴展性可能受限。


然而,隨著SQL資料庫面臨擴展性挑戰,NoSQL系統應運而生,如Google Spanner等,它們旨在解決高並發和高性能的問題。總的來說,分布式存儲系統是一個復雜而關鍵的組件,它通過各種技術手段,實現數據的高效存儲和管理,以滿足不同業務場景的需求。

熱點內容
漫播下載的廣播劇存儲路徑 發布:2024-12-04 15:41:21 瀏覽:838
rc2在線加密 發布:2024-12-04 15:32:58 瀏覽:87
紅米4怎麼鎖屏密碼忘了怎麼辦 發布:2024-12-04 15:24:12 瀏覽:945
編程語言推薦 發布:2024-12-04 15:11:23 瀏覽:820
安卓機怎麼下載酷狗音樂 發布:2024-12-04 15:10:32 瀏覽:190
整數劃分編程 發布:2024-12-04 15:02:44 瀏覽:357
編程兩個變數 發布:2024-12-04 14:59:27 瀏覽:503
伺服器搭建信息化系統 發布:2024-12-04 14:59:26 瀏覽:975
斯柯達明銳哪個配置比較劃算 發布:2024-12-04 14:50:28 瀏覽:13
恆星壓縮槍 發布:2024-12-04 14:34:36 瀏覽:270