當前位置:首頁 » 服務存儲 » 兩種存儲方式分別適應於哪種情況
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

兩種存儲方式分別適應於哪種情況

發布時間: 2023-03-19 05:20:39

① 數據存儲形式有哪幾種

【塊存儲】

典型設備:磁碟陣列,硬碟

塊存儲主要是將裸磁碟空間整個映射給主機使用的,就是說例如磁碟陣列裡面有5塊硬碟(為方便說明,假設每個硬碟1G),然後可以通過劃邏輯盤、做Raid、或者LVM(邏輯卷)等種種方式邏輯劃分出N個邏輯的硬碟。(假設劃分完的邏輯盤也是5個,每個也是1G,但是這5個1G的邏輯盤已經於原來的5個物理硬碟意義完全不同了。例如第一個邏輯硬碟A裡面,可能第一個200M是來自物理硬碟1,第二個200M是來自物理硬碟2,所以邏輯硬碟A是由多個物理硬碟邏輯虛構出來的硬碟。)

接著塊存儲會採用映射的方式將這幾個邏輯盤映射給主機,主機上面的操作系統會識別到有5塊硬碟,但是操作系統是區分不出到底是邏輯還是物理的,它一概就認為只是5塊裸的物理硬碟而已,跟直接拿一塊物理硬碟掛載到操作系統沒有區別的,至少操作系統感知上沒有區別。

此種方式下,操作系統還需要對掛載的裸硬碟進行分區、格式化後,才能使用,與平常主機內置硬碟的方式完全無異。

優點:

1、 這種方式的好處當然是因為通過了Raid與LVM等手段,對數據提供了保護。

2、 另外也可以將多塊廉價的硬碟組合起來,成為一個大容量的邏輯盤對外提供服務,提高了容量。

3、 寫入數據的時候,由於是多塊磁碟組合出來的邏輯盤,所以幾塊磁碟可以並行寫入的,提升了讀寫效率。

4、 很多時候塊存儲採用SAN架構組網,傳輸速率以及封裝協議的原因,使得傳輸速度與讀寫速率得到提升。

缺點:

1、採用SAN架構組網時,需要額外為主機購買光纖通道卡,還要買光纖交換機,造價成本高。

2、主機之間的數據無法共享,在伺服器不做集群的情況下,塊存儲裸盤映射給主機,再格式化使用後,對於主機來說相當於本地盤,那麼主機A的本地盤根本不能給主機B去使用,無法共享數據。

3、不利於不同操作系統主機間的數據共享:另外一個原因是因為操作系統使用不同的文件系統,格式化完之後,不同文件系統間的數據是共享不了的。例如一台裝了WIN7/XP,文件系統是FAT32/NTFS,而Linux是EXT4,EXT4是無法識別NTFS的文件系統的。就像一隻NTFS格式的U盤,插進Linux的筆記本,根本無法識別出來。所以不利於文件共享。


【文件存儲】

典型設備:FTP、NFS伺服器

為了克服上述文件無法共享的問題,所以有了文件存儲。

文件存儲也有軟硬一體化的設備,但是其實普通拿一台伺服器/筆記本,只要裝上合適的操作系統與軟體,就可以架設FTP與NFS服務了,架上該類服務之後的伺服器,就是文件存儲的一種了。

主機A可以直接對文件存儲進行文件的上傳下載,與塊存儲不同,主機A是不需要再對文件存儲進行格式化的,因為文件管理功能已經由文件存儲自己搞定了。

優點:

1、造價交低:隨便一台機器就可以了,另外普通乙太網就可以,根本不需要專用的SAN網路,所以造價低。

2、方便文件共享:例如主機A(WIN7,NTFS文件系統),主機B(Linux,EXT4文件系統),想互拷一部電影,本來不行。加了個主機C(NFS伺服器),然後可以先A拷到C,再C拷到B就OK了。(例子比較膚淺,請見諒……)

缺點:

讀寫速率低,傳輸速率慢:乙太網,上傳下載速度較慢,另外所有讀寫都要1台伺服器裡面的硬碟來承擔,相比起磁碟陣列動不動就幾十上百塊硬碟同時讀寫,速率慢了許多。


【對象存儲】

典型設備:內置大容量硬碟的分布式伺服器

對象存儲最常用的方案,就是多台伺服器內置大容量硬碟,再裝上對象存儲軟體,然後再額外搞幾台服務作為管理節點,安裝上對象存儲管理軟體。管理節點可以管理其他伺服器對外提供讀寫訪問功能。

之所以出現了對象存儲這種東西,是為了克服塊存儲與文件存儲各自的缺點,發揚它倆各自的優點。簡單來說塊存儲讀寫快,不利於共享,文件存儲讀寫慢,利於共享。能否弄一個讀寫快,利 於共享的出來呢。於是就有了對象存儲。

首先,一個文件包含了了屬性(術語叫metadata,元數據,例如該文件的大小、修改時間、存儲路徑等)以及內容(以下簡稱數據)。

以往像FAT32這種文件系統,是直接將一份文件的數據與metadata一起存儲的,存儲過程先將文件按照文件系統的最小塊大小來打散(如4M的文件,假設文件系統要求一個塊4K,那麼就將文件打散成為1000個小塊),再寫進硬碟裡面,過程中沒有區分數據/metadata的。而每個塊最後會告知你下一個要讀取的塊的地址,然後一直這樣順序地按圖索驥,最後完成整份文件的所有塊的讀取。

這種情況下讀寫速率很慢,因為就算你有100個機械手臂在讀寫,但是由於你只有讀取到第一個塊,才能知道下一個塊在哪裡,其實相當於只能有1個機械手臂在實際工作。

而對象存儲則將元數據獨立了出來,控制節點叫元數據伺服器(伺服器+對象存儲管理軟體),裡面主要負責存儲對象的屬性(主要是對象的數據被打散存放到了那幾台分布式伺服器中的信息),而其他負責存儲數據的分布式伺服器叫做OSD,主要負責存儲文件的數據部分。當用戶訪問對象,會先訪問元數據伺服器,元數據伺服器只負責反饋對象存儲在哪些OSD,假設反饋文件A存儲在B、C、D三台OSD,那麼用戶就會再次直接訪問3台OSD伺服器去讀取數據。

這時候由於是3台OSD同時對外傳輸數據,所以傳輸的速度就加快了。當OSD伺服器數量越多,這種讀寫速度的提升就越大,通過此種方式,實現了讀寫快的目的。

另一方面,對象存儲軟體是有專門的文件系統的,所以OSD對外又相當於文件伺服器,那麼就不存在文件共享方面的困難了,也解決了文件共享方面的問題。

所以對象存儲的出現,很好地結合了塊存儲與文件存儲的優點。

最後為什麼對象存儲兼具塊存儲與文件存儲的好處,還要使用塊存儲或文件存儲呢?

1、有一類應用是需要存儲直接裸盤映射的,例如資料庫。因為資料庫需要存儲裸盤映射給自己後,再根據自己的資料庫文件系統來對裸盤進行格式化的,所以是不能夠採用其他已經被格式化為某種文件系統的存儲的。此類應用更適合使用塊存儲。

2、對象存儲的成本比起普通的文件存儲還是較高,需要購買專門的對象存儲軟體以及大容量硬碟。如果對數據量要求不是海量,只是為了做文件共享的時候,直接用文件存儲的形式好了,性價比高。

② 目前主要三種數據存儲方式

三種存儲方式:DAS、SAN、NAS
三種存儲類型:塊存儲、文件存儲、對象存儲

塊存儲和文件存儲是我們比較熟悉的兩種主流的存儲類型,而對象存儲(Object-based Storage)是一種新的網路存儲架構,基於對象存儲技術的設備就是對象存儲設備(Object-based Storage Device)簡稱OSD。

本質是一樣的,底層都是塊存儲,只是在對外介面上表現不一致,分別應用於不同的業務場景。

分布式存儲的應用場景相對於其存儲介面,現在流行分為三種:

對象存儲: 也就是通常意義的鍵值存儲,其介面就是簡單的GET、PUT、DEL和其他擴展,如七牛、又拍、Swift、S3

塊存儲: 這種介面通常以QEMU Driver或者Kernel Mole的方式存在,這種介面需要實現Linux的Block Device的介面或者QEMU提供的Block Driver介面,如Sheepdog,AWS的EBS,青雲的雲硬碟和阿里雲的盤古系統,還有Ceph的RBD(RBD是Ceph面向塊存儲的介面)

文件存儲: 通常意義是支持POSIX介面,它跟傳統的文件系統如Ext4是一個類型的,但區別在於分布式存儲提供了並行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存儲的介面),但是有時候又會把GFS,HDFS這種非POSIX介面的類文件存儲介面歸入此類。

③ 數據結構的存儲方式有哪幾種

數據結構的存儲方式有順序存儲方法、鏈接存儲方法、索引存儲方法和散列存儲方法這四種。

1、順序存儲方式:順序存儲方式就是在一塊連續的存儲區域一個接著一個的存放數據,把邏輯上相連的結點存儲在物理位置上相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接掛安息來體現。順序存儲方式也稱為順序存儲結構,一般採用數組或者結構數組來描述。

2、鏈接存儲方法:它比較靈活,其不要求邏輯上相鄰的結點在物理位置上相鄰,結點間的邏輯關系由附加的引用欄位表示。一個結點的引用欄位往往指導下一個結點的存放位置。鏈接存儲方式也稱為鏈接式存儲結構,一般在原數據項中增加應用類型來表示結點之間的位置關系。

3、索引存儲方法:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址。它細分為兩類:稠密索引:每個結點在索引表中都有一個索引項,索引項的地址指示結點所在的的存儲位置;稀疏索引:一組結點在索引表中只對應一個索引項,索引項的地址指示一組結點的起始存儲位置。

4、散列存儲方法:就是根據結點的關鍵字直接計算出該結點的存儲地址。

(3)兩種存儲方式分別適應於哪種情況擴展閱讀

順序存儲和鏈接存儲的基本原理

在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的後繼元素在對應數組中的下標位置為i+1。

在鏈式存儲結構中,存儲結點不僅含有所存元素本身的信息,還含有元素之間邏輯關系的信息。數據的鏈式存儲結構可用鏈接表來表示。其中data表示值域,用來存儲節點的數值部分。Pl,p2,…,Pill(1n≥1)均為指針域,每個指針域為其對應的後繼元素或前驅元素所在結點的存儲位置。

在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同;而在數據的鏈接存儲中,由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。

④ 線性表的順序存儲結構和鏈式存儲結構分別適用於什麼場合

預先能夠確定線性表長度;數據間有一定的依賴關系;數據和位置有關系時一般工順序存儲方便,否則,動態分配空間,鏈式存儲方便,

⑤ 數據結構線性表兩種存儲結構的主要優缺點以及各自適用場合是什麼

鏈式:優點:插入和刪除不需要移動,空間有效利用缺點:大量訪問操作時不如順序存儲結構。順序:優點:可隨機存取表中任一元素。缺點:插入或刪除操作時,需大量移動元素。合適在很少進行插入和刪除運算的情況下。

⑥ 隊列的兩種存儲方式對比

隊列的兩種存儲方式分為消息投遞實時性:使用短輪詢方式,實時性取決於輪詢間隔時間:使用長輪詢,同寫入實時性一致,消息的寫入延時通常在幾個毫秒。總結:短輪詢:周期性的向服務提供方發起請求,獲取數據優點:前後端程序編寫比較容易。缺點:請求中有大半是無用,難於維護,浪費帶寬和伺服器資源;響應的結果沒有順序(因為是非同步請求,當發送的請求沒有返回結果的時候,後面的請求又被發送。而此時如果後面的請求比前面的請 求要先返回結果,那麼當前面的請求返回結果數據時已經是過時無效的數據了)。長輪詢:客戶端向伺服器發送請求,伺服器接到請求後保持住連接,直到有新消息才返回響應信息並關閉連接,客戶端處理完響應信息後再向伺服器發送新的請求。優點:在無消息的情況下不會頻繁的請求,耗費資源小。缺點:伺服器hold連接會消耗資源,難於管理維護。消費失敗重試Kafka:消費失敗不支持重試RocketMQ:消費失敗支持定時重試,每次重試間隔時間順延總結:kafka也可以通過編寫代碼來實現寫入和消費失敗的重試機制,這種要求需要用戶來編寫代碼實現,kafka只是提供了這種方式,但並不是他推薦的使用方式,他的設計模式上只是兼顧了這種情況,並不是重點。RocketMQ在設計上就考慮了這種情況,在提供的官方api中提供了重試的設置,用戶可以選擇多種模式的重試機制,以及自定義的重試邏輯,簡單場景下用戶只用設置一下參數即可。關於需要重試的場景例如充值類應用,當前時刻調用運營商網關,充值失敗,可能是對方壓力過多,稍後在調用就會成功,如支付寶到銀行扣款也是類似需求。這里的重試需要可靠的重試,即失敗重試的消息不因為Consumer宕機導致丟失。

⑦ 計算機內存儲器分為哪兩種,談談其主要作用

1、磁芯存儲器:

是隨機存取計算機存儲器的主要形式。這種存儲器通常被稱為核心存儲器,或者非正式地稱為核心存儲器。

核心使用微小的磁環(環),核心通過線程來寫入和讀取信息。
每個核心代表一點信息。 磁芯可以以兩種不同的方式(順時針或逆時針)磁化,存儲在磁芯中的位為零或一,取決於磁芯的磁化方向。

布線被布置成允許單個芯被設置為1或0,並且通過向所選擇的導線發送適當的電流脈沖來改變其磁化。 讀取內核的過程會導致內核重置為零,從而將其擦除。
這稱為破壞性讀數。 在不進行讀寫操作時,即使關閉電源,內核也會保持最後的值。 這使它們成為非易失性的。

2、半導體存儲器(semi-conctor memory):

是一種以半導體電路作為存儲媒體的存儲器,內存儲器就是由稱為存儲器晶元的半導體集成電路組成。

按其功能可分為:隨機存取存儲器(簡稱RAM)和只讀存儲器(只讀ROM)。體積小、存儲速度快、存儲密度高、與邏輯電路介面容易。

(7)兩種存儲方式分別適應於哪種情況擴展閱讀

早期的計算機最常見的存儲器是各種磁芯製成的。這種磁芯存儲器已被微型集成電路塊上的半導體存儲器所取代。磁芯存儲器是華裔王安於1948年發明的(注)。最初的磁芯存儲器只有幾百個位元組的容量。

磁芯的英文名稱就是core,磁芯存儲器就叫作core memory。雖然磁芯存儲器已經被淘汰,但一些人還是出於習慣把內存叫做core。

在鐵氧體磁環里穿進一根導線,導線中流過不同方向的電流時,可使磁環按兩種不同方向磁化,代表「1」或「0」的信息便以磁場形式儲存下來。

最常見的核心存儲器形式,X /
Y線重合電流,用於計算機的主存儲器,由大量小環形亞鐵磁陶瓷鐵氧體(磁芯)組成網格結構(組織為「堆疊「稱為平面的層」,電線穿過核心中心的孔。

在早期系統中有四條線:X,Y,Sense和Inhibit,但後來的核心將後兩條線組合成一條Sense
/
Inhibit線。每個環形線圈存儲一位(0或1)。每個平面中的一個位可以在一個周期內被訪問,因此一個字數組中的每個機器字被分布在一堆「平面」上。

每個平面將並行操作一個字的一位,允許在一個周期內讀取或寫入完整的字。

⑧ 比較das和nas兩種數據存儲技術,兩者分別具有哪些優缺點適合哪種場合

來連接所存儲設備,自形成一個網路。這樣數據存儲就不再是伺服器的附屬,而是作為獨立網路節點而存在於網路之中,可由所有的網路用戶共享。
同時NAS存儲真正做到了即插即用,並且部署起來也相對靈活,再加上管理成本低,是目前企業選擇較多的,但它同時也有存儲性能低和可靠度不高等缺點。
二、DAS存儲特點(直連存儲)
DAS這種存儲方式與我們普通的PC存儲架構一樣,外部存儲設備都是直接掛接在伺服器內部匯流排上,數據存儲設備是整個伺服器結構的一部份,DAS存儲方式主要適用於小型網路、地理位置分散的網路和特殊伺服器上。
DAS已經存在了很長時間,並且在很多情況下仍然是一種不錯的存儲選擇。由於這種存儲方式在磁碟系統和伺服器之間具有很快的傳輸速率,因此,雖然在一些部門中一些新的SAN設備已經開始取代DAS,但是在要求快速磁碟訪問的情況下,DAS仍然是一種理想的選擇。更進一步地,在DAS環境中,運轉大多數的應用程序都不會存在問題,所以你沒有必要擔心應用程序問題,從而可以將注意力集中於其他可能會導致問題的領域。

⑨ 線性表的鏈式存儲結構與順序存儲結構比較有何特點這兩種結構分別適合在什麼情況下使用

鏈式存儲結構適用於數據更改(添加,刪除)較多的情況。
而順序存儲結構更適用於數據查詢(改變某位置上數據的值,查找某位置上的值),各有各的優點,他們的缺點是:
鏈式結構上查找(查找第幾個位置上的值)花的系統開銷(主要是時間上的開銷)要比順序結構上的多,
而順序結構上要刪除某位置上的值或者在某位置添加數據時花的系統開銷要比在鏈式上多。
所以在選用存儲結構之前就要先考慮到以後對數據的操作主要是查詢多還是更改多!

⑩ 字元串通常採用的兩種存儲方式是什麼

字元串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式,選第三個啦