⑴ 程序 文件存儲與二進制數據流存儲的優缺點對比
在磁碟的存儲上都是二進制存儲這點上都一樣。
從文件編碼的方式來看,文件可分為ASCII碼文件和二進制碼文件兩種。
ASCII文件也稱為文本文件,這種文件在磁碟中存放時每個字元對應一個位元組,用於存放對應的ASCII碼。例如,數5678的存儲形式為:
ASC碼: 00110101 00110110 00110111 00111000
↓ ↓↓ ↓
十進制碼: 5678 共佔用4個位元組。ASCII碼文件可在屏幕上按字元顯示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可顯示文件的內容。 由於是按字元顯示,因此能讀懂文件內容。
二進制文件是按二進制的編碼方式來存放文件的。 例如, 數5678的存儲形式為: 00010110 00101110隻佔2個位元組。二進制文件雖然也可在屏幕上顯示, 但其內容無法讀懂。
流可以分為兩種類型:文本流和二進制流。文本流是解釋性的,最長可達255個字元,其中回車/換行將被轉換為換行符「/n」,(如果以"文本"方式打開一個文件,那麼在讀字元的時候,系統會把所有的"/r/n"序列轉成"/n",在寫入時把"/n"轉成"/r/n" archim 's opinion )。二進制流是非解釋性的,一次處理一個字元,並且不轉換字元。
通常,文本流用來讀寫標準的文本文件,或者將字元輸出到屏幕或列印機,或者接受鍵盤的輸入;而二進制流用來讀寫二進制文件(例如圖形或字處理文檔),或者讀取滑鼠輸入,或者讀寫數據機。
如果用文本方式打開文件,會把「0D 0A」自動變換成「/n」來存在內存中。寫入的時候反向處理。 而二進制方式打開的話,就不會有這個過程。
所以從上面可以看出:文本文件占磁碟空間大,讀取速度比較慢,但打開後容易理解;二進制文件占磁碟空間小,讀取速度快,如果要理解文件文件的意思需要自己進行解釋。
⑵ 對象存儲、文件存儲和塊存儲有什麼區別
對象存儲、文件存儲和塊存儲區別為:存儲設備不同、特點不同、缺點不同。
一、存儲設備不同
1、對象存儲:對象存儲的對應存儲設備為swift,鍵值存儲。
2、文件存儲:文件存儲的對應存儲設備為FTP、NFS伺服器。
3、塊存儲:塊存儲的對應存儲設備為cinder,硬碟。
二、特點不同
1、對象存儲:對象存儲的特點是具備塊存儲的高速以及文件存儲的共享等特性。
2、文件存儲:文件存儲的特點是一個大文件夾,大家都可以獲取文件。
3、塊存儲:塊存儲的特點是分區、格式化後,可以使用,與平常主機內置硬碟的方式完全無異。
三、缺點不同
1、對象存儲:對象存儲的缺點是不兼容多種模式並行。
2、文件存儲:文件存儲的缺點是傳輸速率低。
3、塊存儲:塊存儲的缺點是不能共享數據。
⑶ 檔案電子文件和紙質文件的優缺點比較
檔案電子文件和紙質文件的優缺點比較
一般,檔案是指人們在各項社會活動中直接形成的各種形式的具有保存價值的原始記錄。原始記錄性是它的本質屬性。下面是我收集整理的檔案電子文件和紙質文件的優缺點比較,歡迎閱讀,希望大家能夠喜歡。
一、電子檔案和紙質檔案比較的優勢分析
1、電子檔案的可分享性。紙質檔案一般只有一份或者幾份,數量非常少,而且只能在同一個地點觀看。這對於文件的傳輸是非常不利的。如果另一個距離較遠的地方的人需要了解這份紙質文件,只有兩種方法:一種是遠距離的人乘坐交通工具來到紙質文件所在地,另一種是通過郵寄紙質文件。顯然這樣會浪費大量的時間,人力物力。而且很大一部分的紙質絕密檔案是不允許被郵寄的。郵寄的途中很有可能會造成文件的損壞或者丟失。
但是電子文件則可以在不同的時間,不同的地點同時被很多人看到。一方面可以打破人數的限制,同時被很多人看到,無形當中增加了檔案的利用價值和利用效率。另一方面打破了紙質檔案只能在同一場所觀看的限制。觀看者可以通過多種方式進行遠距離觀看。我們國家之前的文物檔案都是採用紙質書面的形式,而且人們只能通過去博物館才能看到文物,我們國家每個地區幾乎都有博物館,而且擁有五千年歷史,文物數不勝數。遠距離、時間少限制著很多對文物對歷史有著濃厚興趣的人。於是現在更多的博物館開始採用電子檔案以及線上觀看、查詢的方式。高科技的發展使得資源可以更加有效地分享。
2、電子檔案的不易失真性和經濟環保性。紙質的檔案隨著時間的增加和閱讀次數的增加會受到不同程度的損壞,字跡也會越來越老化,難以長時間保存。高溫高濕等環境因素均可促進紙張發生水解,同時也可使字跡材料發生擴散、洇化。而且意外事件的發生也極有可能會使珍貴的檔案材料毀於一旦,比如火災。但是電子檔案卻可以進行多個備份,而且數字化檔案不會因為重復性利用而失效,我們可以進行無數次的列印、下載和傳輸。
紙質檔案需要大量的紙張,而且檔案工作人員需要花費大量的時間精力對紙質檔案進行拆釘、裝訂和搬運。我國雖然地域廣闊,樹木眾多,但是人均資源並不多。這是我們每個人都知道的常識。每年保存檔案所消耗紙質的數量是十分龐大的,這顯然是不符合建立資源節約型,環境友好型社會的。增加電子檔案的使用可以很大程度上減少紙質檔案的使用,保護環境。當一份文件需要傳送給多個人的時候,只需要通過郵件、文檔等方法即可,而不再需要大量的復印。
3、電子文檔的多樣性和趣味性。紙質文檔的形式比較單一,只可以通過文字的描寫來表達。在書寫的過程中很容易出錯。在觀看文檔的時候我們經常會看到潦草的字跡,很難認清。如果經過較長的時間,是很難求證的。電子檔案的錄入相對於紙質檔案來說速度比較快,字跡工整,出錯後方便修正。電子文檔在錄入時形式是多樣性的,不只是單一的.文字形式。還可以採用多種圖形比如柱狀圖、餅狀圖、條形圖等來進行統計。
另外電子檔案可以將相關物品的圖片放入檔案中,達到圖形和文字的統一。有了電子文件可以更方便快速地對文件信息進行分類、統計、匯總、列印、復制等,更好地滿足利用者的各種需求。當圍繞一個專題對檔案進行匯編時,電子文件比手工編輯更快速,加工更方便。
二、紙質檔案和電子檔案的優勢比較分析
1、紙質檔案的不易篡改性和丟失性。電子檔案對於電腦高手或者可以接觸到檔案的相關人員來說是極其容易侵入並且進行篡改的,而且電子檔案篡改後不留痕跡,是非常難以被發現和識別的。紙質檔案不容易被篡改,被篡改後會留下相應的痕跡,是非常容易被發現和辨別的。而且紙質的檔案具有獨一無二性,可以通過字跡等來進行相應的辨別。同樣,一份歷經時間越久的檔案也就顯得愈加珍貴。
電子檔案的不穩定性更加明顯,遇到計算機病毒或者計算機故障的情況,如果沒有及時備份是十分嚴重的。保存電子檔案的U盤、光碟、磁碟一旦受到外界強磁干擾,或因存儲庫房的溫濕度的變化,都會導致檔案內容的丟失和損壞。電子檔案的查閱需要計算機等相關的設備和知識,而紙質檔案方便快捷。同時電子檔案的容易篡改性、拷貝性使得它的真實性容易受到質疑,相比紙質檔案更有說服力。
2、紙質檔案的安全性。有些檔案是絕密的,有些檔案是關系著國家安全的,有些檔案是關系公民個人隱私的。但是電子檔案的安全性遠遠不如紙質檔案。對於網路上的一些高手來說,侵入各個系統的電腦並非不可能。電腦技術日新月異,每個國家都在飛速進步。如果想保證電子檔案的安全性,我們必須不斷地提高相關的技術,防止國家機密的外泄。
;⑷ 比較各個存儲類型的優缺點
【塊存儲】
典型設備:磁碟陣列,硬碟
塊存儲主要是將裸磁碟空間整個映射給主機使用的,就是說例如磁碟陣列裡面有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、對象存儲的成本比起普通的文件存儲還是較高,需要購買專門的對象存儲軟體以及大容量硬碟。如果對數據量要求不是海量,只是為了做文件共享的時候,直接用文件存儲的形式好了,性價比高。
⑸ 文件的物理結構有哪3種,分別具備什麼優缺點
一、順序結構
優點:
1、支持順序存取和隨機存取。
2、順序存取速度快。
3、所需的磁碟尋道次數和尋道時間最少。
缺點:
1、需要為每個文件預留若干物理塊以滿足文件增長的部分需要。
2、不利於文件插入和刪除。
二、鏈式結構
優點:
1、提高了磁碟空間利用率,不需要為每個文件預留物理塊。
2、有利於文件插入和刪除。
3、有利於文件動態擴充。
缺點:
1、存取速度慢,不適於隨機存取。
2、當物理塊間的連接指針出錯時,數據丟失。
3、更多的尋道次數和尋道時間。
4、鏈接指針佔用一定的空間,降低了空間利用率。
三、索引結構
優點:
1、不需要為每個文件預留物理塊。
2、既能順序存取,又能隨機存取。
3、滿足了文件動態增長、插入刪除的要求。
缺點:
1、較多的尋道次數和尋道時間。
2、索引表本身帶來了系統開銷。如:內外存空間,存取時間等。
拓展資料:
文件存取方法:
順序存取:順序存取是按照文件的邏輯地址順序存取。
固定長記錄的順序存取是十分簡單的。讀操作總是讀出上一次讀出的文件的下一個記錄,同時,自動讓文件記錄讀指針推進,以指向下一次要讀出的記錄位置。如果文件是可讀可寫的。再設置一個文件記錄指針,它總指向下一次要寫入記錄的存放位置,執行寫操作時,將一個記錄寫到文件 末端。允許對這種文件進行前跳或後退N(整數)個記錄的操作。順序存取主要用於磁帶文件,但也適用於磁碟上的順序文件。
可變長記錄的順序文件,每個記錄的長度信息存放於記錄前面一個單元中,它的存取操作分兩步進行。讀出時,根據讀指針值先讀出存放記錄長度的單元 。然後,得到當前記錄長後再把當前記錄一起寫到指針指向的記錄位置,同時,調整寫指針值 。
由於順序文件是順序存取的,可採用成組和分解操作來加速文件的輸入輸出。
直接存取(隨機存取法):
很多應用場合要求以任意次序直接讀寫某個記錄。例如,航空訂票系統,把特定航班的所有信息用航班號作標識,存放在某物理塊中,用戶預訂某航班時,需要直接將該航班的信息取出。直接存取方法便適合於這類應用,它通常用於磁碟文件。
為了實現直接存取,一個文件可以看作由順序編號的物理塊組成的,這些塊常常劃成等長,作為定位和存取的一個最小單位,如一塊為1024位元組、4096位元組,視系統和應用而定。於是用戶可以請求讀塊22、然後,寫塊48,再讀塊9等等。直接存取文件對讀或寫塊的次序沒有限制。用戶提供給操作系統的是相對塊號,它是相對於文件開始位置的一個位移量,而絕對塊號則由系統換算得到。
索引存取:
第三種類型的存取是基於索引文件的索引存取方法。由於文件中的記錄不按它在文件中的位置,而按它的記錄鍵來編址,所以,用戶提供給操作系統記錄鍵後就可查找到所需記錄。通常記錄按記錄鍵的某種順序存放,例如,按代表健的字母先後次序來排序。對於這種文件,除可採用按鍵存取外,也可以採用順序存取或直接存取的方法。信息塊的地址都可以通過查找記錄鍵而換算出。實際的系統中,大都採用多級索引,以加速記錄查找過程。
參考資料:網路:文件存取法
⑹ [求助]文本存儲和資料庫存儲的優缺點各是什麼適合什麼樣的情況下使用
文本資料庫的缺點一是並發訪問麻煩,無法實現多個程序同時修改資料庫裡面的不同記錄。
文本資料庫的缺點二是查詢、修改、刪除非常麻煩,只能順序查找,修改、刪除需要更新整個文件。
文本資料庫的優點顯而易見,程序簡單,資料庫管理方便。
什麼情況下才適合使用文本資料庫呢?首先只有對於無需並發訪問的資料庫,其次資料庫不大(比如只有一條記錄),或者不需要修改刪除數據的資料庫才適合使用文本類型。
比如網站的超級管理員,使用文本資料庫存放就有優越性,無需任何資料庫擴展,檢查許可權的程序直接獲取文本內容即可,性能會比任何資料庫都高。這個表很少修改,而且也不會許多記錄,所以適合用文本資料庫。
⑺ 【Python基礎】mongodb存儲文件的優缺點
MongoDB是一個開源的、基於分布式的、面向文檔存儲的非關系型資料庫。是非關系型資料庫當中功能最豐富、最像關系資料庫的。MongoDB高性能、易部署、易使用,存儲數據非常方便。
MongoDB優點:
1、高性能:弱一致性,訪問速度較快
2、文檔結構的存儲方式,能夠更便捷的獲取數、存儲數據方便,高效存儲二進制大對象
3、支持復制集、主備、互為主備、自動分片等特性
4、全索引支持,查詢語言功能非常強大
MongoDB缺點:
1、不支持事務,實際開發時得搞清楚哪些功能需要使用資料庫提供的事務支持
2、MongoDB佔用空間大(需要強大硬碟支持)
3、相對於MySQL那樣成熟的維護工具,MongoDB維護工具不夠完善、成熟