1、传统数据存储介质分为磁带、磁盘和光盘三大类,由三种介质分别构成磁带库、磁盘阵列、光盘库三种主要存储设备,其中磁盘设备由于存取速度快、数据查询方便、简单易用、安全的RAID技术等占据一级存储市场的主要份额,磁带设备则以技术成熟、价格低廉占据二级存储市场的重要地位,光盘设备同时具有二者的特点,因此广泛应用。
①磁带库存储:磁带存储技术已经经过了多年的发展,具有稳定、高可用、低成本等诸多优点,可以通过脱机来避免在数据备份、迁移和保护等应用中数据丢失的可能性;
②光盘海量存储:光盘存储技术是一种光学信息存储技术,通过调制激光束在光学圆盘镀膜介质中把信息编码以光点形式记录下来。在记录与读取过程中激光头不直接接触光盘表面,光盘上的记录信息不易被破坏,具有存储密度高、容量大、检索时间短、易于复制、便于保存等诸多优点;
③磁盘阵列海量存储:指使用两个或者两个以上同类型、容量、接口的磁盘,在磁盘控制器的管理下按照特定方式组合成特定磁盘组合,把多个硬盘驱动器连接在一起协同工作,从而快速、准确、安全地读写磁盘数据。
2、磁盘阵列常用RAID级别:
3、存储模式:数据存储需要系统具有良好的数据容错性能和系统稳定性,在发生部分数据错误时,系统可以在线恢复和重建数据,而不影响系统的正常运行。
①直连式存储(DAS):磁盘驱动器和服务器直接连接,存储作为外围设备,在这种存储结构中,数据管理是以服务器为中心的,而且所有应用软件都是和存储子系统配套的。适用于一个或有限几个服务器环境,存储容量增加时存储供应的效率会变得越来越低,而且可升级和扩展性受到很大限制。
②网络存储:分为网络附加存储(NAS,Network Attached Storage)、光纤存储区域网FC-SAN、IP存储区域网IP-SAN。
③数据虚拟存储:将各种物理存储设备整合为一个整体,从而实现在公共控制平台下集中存储资源,统一存储设备的管理,方便用户的数据操作,简化复杂的存储管理配置,使系统能够提供完整、便捷的数据存储功能。虚拟存储技术在用户操作系统看到的存储设备与实际物理存储设备之间搭建了一个虚拟的操作平台,使得从应用程序一直到最终的数据端都可以实施虚拟存储。虚拟存储不仅可以降低存储资源管理的复杂性,而且可以带给系统高可用性和高可靠性,从而降低数据存储管理成本。
4、大数据存储面临的问题:一是存储数据的成本在不断增加,如何削减开支节约成本以保证高可用性;二是数据存储容量爆炸式增长且难以预估;三是越来越复杂的环境使得存储的数据无法管理。企业信息架构如何适应现状去提供一个理想的解决方案,目前业界有存储虚拟化(通过聚合多个存储设备的空间,灵活部署存储空间的分配,从而实现现有存储空间高利用率)和容量扩展等发展方向。
5、为了支持大规模数据的存储、传输与处理,针对海量数据存储目前主要开展如三个方向的研究:
①虚拟存储技术:核心工作是物理存储设备到单一逻辑资源池的映射,通过虚拟化技术,为用户和应用程序提供了虚拟磁盘或虚拟卷,用户可以根据需求对它进行任意分割、合并、重新组合等操作,并分配给特定的主机或应用程序,为用户隐藏或屏蔽了具体的物理设备的各种物理特性,可以提高存储利用率,降低成本,简化存储管理。
②高性能I/O:数据共享是集群系统的一个基本需求,当前经常使用的是网络文件系统NFS或CIFS,当一个计算任务在Linux集群上运行时,计算结点首先通过NFS协议从存储系统中获取数据,然后进行计算处理,最后将计算结果写入存储系统。
③网格存储系统:网格存储系统应该能够满足海量存储、全球分布、快速访问、统一命名的需求,主要研究的内容包括网格文件名字服务、存储资源管理、高性能的广域网数据传输、数据复制等。
6、海量数据存储的处理方法:选用优秀的数据库工具、编写优良的程序代码、对海量数据进行分区操作、建立广泛的索引、建立缓存机制、加大虚拟内存、分批处理、使用临时表和中间表、优化查询SQL语句、使用文本格式进行处理、建立视图、定制强大的清洗规则和出错处理机制、考虑操作系统的问题、使用数据仓库和多维数据库存储、使用采样数据进行数据挖掘、海量数据关联存储。
7、大数据存储生命周期:数据采集ETL、NoSQL、云存储、分布式系统、数据可视化。大数据分析具有数据量大、查询分析复杂等特点,通过ETL技术从源系统中提取数据资源,并转换为标准格式,再使用NoSQL数据库进行数据库存取管理,充分利用网络云存储技术节约企业存储成本、提高效率的优势,通过分布式网络文件系统将数据信息存储到整个互联网络资源中,并用可视化的操作界面随时满足用户的数据处理需求。
8、分布式存储结构:
9、分布式文件系统的典型应用:
①NFS——利用UNIX系统中的虚拟文件系统(VFS,Virtual File System)机制,将客户机对文件系统的请求通过规范的文件访问协议和远程过程调用,转发到服务器端处理;而服务器端在VFS上通过本地文件系统完成文件的处理,实现了全局的分布式文件系统。
②GPFS(General Parallel File System)——磁盘数据结构可以支持大容量的文件系统和大文件,有效地克服了系统中任意单个结点的失效、网络通信故障、磁盘失效等异常事件,支持在线动态添加减少存储设备。
-采用分片存储、较大的文件系统块、数据预读等方法获得了较高的数据吞吐率;
-采用扩展哈希技术来支持含有大量文件和子目录的大目录,提高文件的查找和检索效率;
-采用不同粒度的分布式锁解决系统中的并发访问和数据同步问题:字节范围的锁用于用户数据的同步,动态选择元数据节点进行元数据的集中管理,具有集中式线索的分布式锁管理整个系统的空间分布;
-采用日志技术对系统进行在线灾难恢复,每个节点都有各自独立的日志。
③Storage Tank——除了具有一般分布式文件系统的特性外,采用SAN作为整个文件系统的数据存储和传输路径,采用带外(out-of-band)结构,将文件系统元数据在高速以太网上传输,由专门的元数据服务器来处理和存储。
所采用的积极缓存策略使得文件元数据和数据尽量在客户端缓存,即使打开的文件被关闭,都可以在下次使用时利用已经缓存的文件信息。
④GFS——由一个master结点和大量chunkserver结点构成,并被许多客户访问,文件被分成64MB的块,减少了元数据的大小,使得master结点能够方便地将元数据放置在内存中以提升访问效率。数据块分布在集群机器上,使用Linux的文件系统存放,同时每块文件至少有三份以上冗余,文件操作以添加为主,充分考虑了硬盘线性吞吐量大和随机读点慢的特点。为了保证大规模数据的并行处理,引入了MapReduce编程模型。
⑤Hadoop——HDFS(Hadoop Distributed File System)的核心数据结构是FsImage(存储整个文件系统命名空间,包括文件块的映射表和文件系统的配置)和Editlog(事务日志,持久记录每一个对文件系统元数据的改变)。
HDFS有着高容错性的特点,并且用于部署在低廉的硬件上,实现了异构软硬件平台间的可移植性。为了减少全局带宽消耗读延迟,它会尝试返回一个读操作离他最近的副本,并且会自动地维护数据的多份复制,并且在任务失败后能自动地重新部署计算任务,实现了故障检测和自动快速恢复。HDFS提供的接口消除了网络拥堵,提高了系统的整体吞吐量。
10、云存储:通过集群应用、网络技术或分布式文件系统等,将网络中大量各种不同的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。由网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等组成,以存储设备为核心,通过应用软件对外提供数据存储和业务访问服务。
11、云存储架构:
12、云存储的数据缩减技术能够满足海量信息爆炸式增长趋势,在一定程度上节约企业存储成本,提高效率,包括自动精简配置、自动存储分层、重复数据删除、数据压缩四个方面。
13、①数据结构:指数据的组织形式或数据之间的联系,D表示数据,R表示数据对象之间存在的关系集合,DS=(D,R)称为数据结构;
②数据结构类型:分为逻辑结构(从逻辑角度来观察数据、分析数据,与数据的存储位置无关)和物理结构(数据在计算机中存放的结构);
③数据模型:按照图论理论建立的层次结构模型(1:N)、网状结构模型和按照关系理论建立的关系结构模型。
14、结构化查询语言(SQL,Structured Query Language):一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新、管理关系数据库系统,同时也是数据库脚本文件的扩展名,语句可以嵌套,具有极大的灵活性和强大的功能。具有五种数据类型:字符型、文本型、数值型、逻辑型、日期型。
15、NoSQL非结构化数据库:为了解决大规模数据集合多重数据种类带来的挑战,可以处理大量的多结构化数据,为最终用户和自动化的大数据应用程序提供大量存储在多结构化数据中的离散数据。目前可用的NoSQL数据库包括HBase、MongoDB、CouchDB、DynamoDB、Cassandra、MarkLogic,可分为键值存储数据库、列存储数据库、文档型数据库、图形数据库四大类。
16、CAP原理:在分布式系统中,一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。对于分布式数据系统,分区容忍性是基本需求;对于大多数Web应用,用牺牲一致性来换取高可用性。
17、大规模并行分析数据库:不同于传统的数据仓库,能够以必须的最少的数据建模,快速获取大量的结构化数据,可以向外扩展以容纳TB甚至PB级数据,支持近乎实时的复杂SQL查询结果(交互式查询功能),基本特性包括以下几个方面。
18、大数据方法的互补:Hadoop、NoSQL和大规模并行分析数据库不是互相排斥的,彼此可以共存于许多企业,Hadoop擅长处理和分析大量分布式的非结构化数据,以分批的方式进行历史分析,NoSQL数据库擅长为基于Web的大数据应用程序提供近实时地多结构化数据存储和处理,大规模并行分析数据库最擅长对大容量的主流结构化数据提供接近实时的分析。
19、数据仓库(DW,Data Warehouse):既不产生也不消费数据,作为一个中间平台集成化地存储数据,为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合及业务流程改进、监视时间、成本、质量以及控制,是决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库中的数据是对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总、整理得到的,消除了源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息,通常具有效率高、数据质量保证、扩展性和面向主题等特点。
20、企业的数据处理分为两类:一类是操作型处理(联机事务处理),是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改;另一类是分析型处理,一般针对某些主题的历史数据进行分析,支持管理决策。两者具有的不同特征主要体现在以下几个方面:
①处理性能——日常业务涉及频繁、简单的数据存取,对操作型处理的性能要求较高,需要数据库能够在短时间内做出反应;
②数据集成——企业的操作型处理通常比较分散,传统数据库面向应用的特性使数据集成困难;
③数据更新——操作型处理主要由原子事务组成,数据更新频繁,需要并行控制和恢复机制;
④数据时限——操作型处理主要服务于日常业务操作;
⑤数据综合——操作型处理系统通常只有简单的统计功能。
21、数据仓库系统的构成:
①数据仓库数据库:是整个数据仓库环境的核心,也是数据存放的地方和提供对数据检索的支持,特点是海量数据支持和快速检索技术;
②数据抽取工具:把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内,对各种不同数据存储方式的访问能力是数据抽取工具的关键。数据转换包括删除对决策应用没有意义的数据段、转换到统一的数据名称和定义、计算统计和衍生数据、将默认值数据赋给默认值、把不同的数据定义方式统一;
③元数据(解释性数据):是描述数据仓库内数据的结构和建立方法的数据,按用途不同分为技术元数据和商业元数据,主要目的是使数据仓库的设计、部署、操作、管理达成一致。元数据还是数据仓库运行和维护的中心,并为访问数据仓库提供了一个信息目录;
④访问工具:为用户访问数据仓库提供手段,有数据查询和报表工具、应用开发工具、在线分析(OLAP)工具等;
⑤数据集市:为了特定的应用目的或应用范围而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据;
⑥数据仓库管理:包括安全和特权管理、跟踪数据的更新、数据质量检查、管理和更新元数据、审计和报告数据仓库的使用和状态、删除数据、复制、分割和分发数据、备份和恢复以及存储管理;
⑦信息发布系统:把数据仓库中的数据或其他相关数据发送给不同地点或用户,基于Web的信息发布系统是应对多用户访问的最有效的方法。
22、联机事务处理OLTP:企业级关系数据库管理软件旨在集中存储由大公司或政府机构中的日常事务所产生的数据,这些系统基于计算机并记录企业的业务事务;
联机分析处理OLAP:使分析人员、管理人员和执行人员能够从多种角度,对原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入的了解。