什么是数据存储?


什么是数据存储?

文章插图
使用计算机和其他设备保留数据称为数据存储 。数据的这种保留和分析是使用专门的技术完成的,这反过来又使其可供将来使用 。根据存储产品和服务,数据存储可分为三类:
文件存储 – 这是一种廉价且简单的数据存储类型,其中数据存储在硬盘驱动器的文件和文件夹中 。硬盘驱动器以与用户查看的相同配置存储数据 。
【什么是数据存储?】块存储——这是一种更昂贵、更复杂的存储形式,适用于需要频繁访问和编辑的数据 。这种存储方法的可扩展性较差,并且将数据存储在大小均匀的块中 。
对象存储——对象可以与元数据和唯一标识符一起存储,从而降低这种存储类型的成本 。它非常适合不需要编辑的数据 。
存储结构有:
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音频文件的编码 。

    推荐阅读