什么是數據存儲?


什么是數據存儲?

文章插圖
使用計算機和其他設備保留數據稱為數據存儲 。數據的這種保留和分析是使用專門的技術完成的,這反過來又使其可供將來使用 。根據存儲產品和服務,數據存儲可分為三類:
文件存儲 – 這是一種廉價且簡單的數據存儲類型,其中數據存儲在硬盤驅動器的文件和文件夾中 。硬盤驅動器以與用戶查看的相同配置存儲數據 。
【什么是數據存儲?】塊存儲——這是一種更昂貴、更復雜的存儲形式,適用于需要頻繁訪問和編輯的數據 。這種存儲方法的可擴展性較差,并且將數據存儲在大小均勻的塊中 。
對象存儲——對象可以與元數據和唯一標識符一起存儲,從而降低這種存儲類型的成本 。它非常適合不需要編輯的數據 。
存儲結構有:
1、鏈接存儲:在計算機中用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的) 。
例:鏈 。
2、順序存儲:在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素,稱作線性表的順序存儲結構 。
例:數組,鏈 。
3、索引存儲:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址,索引表由若干索引項組成 。
例:線索樹 。
4、散列存儲:散列存儲,又稱hash存儲,是一種力圖將數據元素的存儲位置與關鍵碼之間建立確定對應關系的查找技術 。
例:棧(既可以通過順序存儲也可以同通過隨機存儲) 。
順序存儲和鏈接存儲的基本原理:
在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的后繼元素在對應數組中的下標位置為i+1 。
在鏈式存儲結構中,存儲結點不僅含有所存元素本身的信息,而且含有元素之間邏輯關系的信息 。
在數據的順序存儲中,由于每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同 。
而在數據的鏈接存儲中,由于每個元素的存儲位置保存在它的前驅或后繼結點中,所以只有當訪問到其前驅結點或后繼結點后才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關 。
數字的存儲在計算機分為整數和浮點數存儲,整數的話都是以二進制補碼的形式存儲,正數的補碼是正數原碼本身,負數的補碼是原碼的反碼加1,而浮點數的存儲就更為復雜了,包含符號位、基數位、階碼,以“符號位+基數+階碼”的形式存放(當然這只是個簡單的模型,只是為了說明問題,基數本身是以補碼的形式存放,而階碼就特殊點了,可以參看http://zhidao.baidu.com/question/213678614.html)
英文字符都是以ASCII碼的形式存放,這是早期電腦中的數據存儲形式,就是用1B(8位)來存放一個英文字符對應的ASCII碼,最高位為0,但是現在的操作系統中都是Unicode編碼,即用2B來存放一個英文字符,高8位全為0,低8位為對應英文字符的ASCII編碼.而漢字的編碼也差不多,只不過一個漢字固定是用2B來存放的,一個漢字的編碼高8位和低8位的第一個位都為1,漢字的編碼有個區間【按照GB2312標準的漢字范圍:0xB0A1(45217)-0xF7FE(63486))】
圖像和聲音的編碼更為復雜了,因為我們知道圖片和聲音文件有很多種后綴名(圖像:例如.jpg/.png/.bmp等等.聲音:.mp3/.wma/.wav等等)按照不同的后綴名會有不同的編碼方式,即使是同一個后綴名也可能有多種編碼方式,所以這個小點很不好回答.要簡單先了解一下的話,你可以先看看圖像中的.bmp文件是怎么編碼成二進制文件的,這個主要編碼方式是把圖像當成一個點陣,每個點陣上有多位顏色,每一種顏色分別用一個的一定位數來編碼(這個得根據顏色的多少來決定用多少位二進制數來編碼,例如256色,真彩色等等),點陣的位置用一定位數來編碼,對應的點陣位置上存放的就是對應顏色的編碼(呵呵.有點復雜).
聲音的話也跟圖像編碼類似,就指.wav聲音文件來說,先把音軌按時間來劃分,每隔一定的時間采樣一次,隔的時間的倒數就是我們所說的采樣頻率.而我們是對每一個采到的聲音進行編碼,例如按照聲波的振幅進行編碼,不同的振幅對應不同的二進制編碼,如振幅0對應00000000,這只是簡單的說明一下.wav音頻文件的編碼 。

    推薦閱讀