亚博网站信誉有保障的

| English

以一种简单的方式学习大数据:最权威的数据存储技术!

发布时间:2021-03-31 20:22:14 浏览: 206次 来源:网络整理 作者:佚名

今天,我将继续带大家学习大数据。今天,我主要介绍大数据价值链的数据存储部分。前两个问题集中在数据生成和数据获取上。希望学习的朋友可以阅读我以前的文章。希望您每天继续学习并关注。我将不断更新文章,以便您可以系统地学习和理解大数据。

第三阶段:数据存储

大数据系统中的数据存储子系统以适当的格式存储收集的信息,以进行分析和价值提取。为了实现此目标,数据存储子系统应具有以下两个特征:

•存储基础架构应能够持久且可靠地保存信息;

•存储子系统应为用户提供可扩展的访问接口,以查询和分析大量数据。从功能上讲,数据存储子系统可以分为硬件基础架构和数据管理软件。

一、存储基础架构

硬件基础架构实现了信息的物理存储,并且可以从不同的角度理解存储基础架构。首先,可以根据存储技术对存储设备进行分类。有几种典型的存储技术,如下所示。

•随机存取存储器(RAM):这是一种存储计算机数据的形式,并且在切断电源后,存储的信息将丢失。现代RAM包括静态RAM,动态RAM和相变RAM。

•磁盘和磁盘阵列:磁盘是现代存储系统的主要组件。 HDD由一个或多个快速旋转的光盘组成。通过在驱动臂上移动磁头,可以从磁盘表面读取和写入数据。与RAM不同,硬盘在掉电后仍可以保留数据和信息,并且单位容量成本较低,但是硬盘的读写速度比RAM慢得多。由于单个大容量磁盘的成本很高,因此磁盘阵列集成了许多磁盘,以获得高容量,高吞吐量和高可用性。

•存储级存储:是指非机械存储介质,例如闪存。闪存通常用于构建固态驱动器SSD。 SSD没有类似于HDD的机械部件,运行安静,访问时间和延迟更短。但是SSD的单位存储成本比HDD高。

这些存储设备具有不同的性能指标,可用于构建可扩展的高性能大数据存储子系统。

第二,从网络系统的角度可以理解存储基础架构大数据存储技术,并且可以以不同的方式组织和构建存储子系统。

•直接附加存储(DAS):存储设备通过主机总线直接连接到计算机,并且该设备与计算机之间没有存储网络。 DAS是现有服务器存储的最简单扩展。

•网络附加存储(NAS):NAS是一种文件级存储技术,其中包含许多硬盘,这些硬盘被组织为逻辑冗余存储容器。与SAN相比,NAS可以同时提供存储和文件系统,并且可以用作文件服务器。

•存储区域网络(SAN):SAN通过专用存储网络在一组计算机中提供文件块级数据存储。 SAN可以合并多个存储设备亚博视讯App ,例如磁盘和磁盘阵列,以便计算机可以直接访问它们,就像它们直接连接到计算机一样。

这三种存储技术的存储网络体系结构如图7所示。SAN具有最复杂的网络体系结构,并且取决于特定的存储网络设备。

最后,尽管已经对现有的存储系统体系结构进行了深入研究,但是它不能直接应用于大数据系统。为了适应大数据系统的“ 4V”特性,存储基础架构应能够扩展和扩展,以通过动态配置适应不同的应用程序。

解决这些需求的一种技术是在云计算领域中提出的存储虚拟化。存储虚拟化将多个网络存储设备合并为一个存储设备。当前,存储虚拟化可以在SAN和NAS架构上实现。在可伸缩性亚博网站有保障的 ,可靠性和安全性方面,基于SAN的存储虚拟化可以具有比基于NAS的存储虚拟化更高的性能。但是,SAN需要专用的存储基础架构,这会带来更高的成本。

二、数据管理框架

数据管理框架解决了如何以适当的方式组织信息以进行有效处理。在大数据出现之前,已经对数据管理框架进行了广泛的研究。从分层的角度来看,数据管理框架分为三层:文件系统,数据库技术和编程模型亚博app买球 ,如图8所示。

([1)文件系统

文件系统是大数据系统的基础,因此受到了业界和学术界的广泛关注。 Google为大型分布式数据密集型应用程序设计并实现了可扩展的分布式文件系统GFS。 GFS在廉价的商用服务器上运行,并为大量用户提供容错和高性能服务。 GFS适用于大型文件存储和读取操作远胜于写入操作的应用程序。但是,GFS的缺点是单点故障且处理小文件效率低。巨像改善了GFS并克服了这些缺点。此外,其他公司和研究人员也开发了自己的文件存储解决方案,以适应不同的大数据存储需求。

([2)数据库技术

数据库技术经历了30多年的发展,并且针对不同规模的数据集和应用程序设计了不同的数据库系统。传统的关系数据库系统很难解决大数据带来的多样性和规模需求。由于自由模式的特性,易于复制,简单的API,最终的一致性以及对海量数据的支持,NoSQL数据库已逐渐成为处理大数据的标准。然后,根据不同的数据模型,将讨论三个主流的NoSQL数据库:键值存储数据库,列存储数据库和文档存储数据库。

(a)键值存储数据库

键值存储是一种简单的数据存储模型。数据以键值对的形式存储,并且键是唯一的。近年来,键值存储数据库的出现特别受到亚马逊Dynamo的影响。在Dynamo中,数据被分割并存储在不同的服务器群集中,并被复制为多个副本。可伸缩性和耐用性取决于以下两个关键机制。

•分段和复制:Dynamo的分段机制基于一致的哈希技术,以将负载分配到存储主机上。哈希函数的输出范围被视为固定的循环空间或“环”。系统中的每个节点都会在该空间中随机分配一个值,该值指示其在环中的位置。通过散列识别数据项的密钥,可以获得与环中的数据项相对应的节点。 Dynamo系统中的每个数据项都存储在协调节点和N-1个后继节点上大数据存储技术,其中N是实例化的配置参数。如图9所示,节点B是密钥k的协调节点,数据存储在节点B中,并在节点C和D上复制。此外,节点D将存储(A,B]范围内的密钥, (B,C)和(C,D)。

•对象版本管理:由于每个唯一数据项都有多个副本,因此Dynamo允许异步更新副本并提供最终的一致性。每次更新都被视为新的,不可更改的数据版本。一个对象的多个版本可以在系统中共存。

(b)列式存储数据库

列存储数据库使用列存储体系结构来存储和处理数据,主要适用于批处理数据和实时查询。下面介绍典型的柱状存储系统。

•Bigtable:是Google设计的一种列式存储系统。 Bigtable的基本数据结构是一个稀疏,分布式,持久存储的多维排序图,该图由行键,列键和时间戳组成。这些行按字典顺序排序并划分为多个切片,这些切片是负载平衡单元。列根据称为列族的键的前缀进行分组,这是访问控制的基本单位。时间戳是区分版本的基础。

•Cassandra:由Facebook开发并于2008年开源,它结合了Dynamo的分布式系统技术和Bigtable的数据模型。 Cassandra中的表是一个分布式的多维结构,包括行,列族,列和超级列。此外,Cassandra的拆分和复制机制与Dynamo的类似,以确保最终的一致性。

•Bigtable改进:因为Bigtable不是开源的,所以开源项目HBase和Hypertable合并在一起,并且Bigtable的思想被同时吸收以实现类似的系统。

大多数列式存储数据库都基于Bigtable模型,但是一致性机制和某些特性上存在差异。

(c)文档数据库

文档数据库可以支持比键值存储复杂得多的数据结构。 MongoDB,SimpleDB和CouchDB是主要的文档数据库,它们的数据模型类似于JSON对象。不同文档存储系统之间的区别在于数据复制和一致性机制。

(d)其他NoSQL和混合数据库

除上述数据存储系统外,还有许多其他项目支持不同的数据存储系统。

([3)编程模型

尽管NoSQL数据库具有关系数据库所不具备的许多优点,但是它们没有用于插入操作的声明性表达式,并且对查询和分析没有足够的支持。编程模型对于实现应用程序逻辑和辅助数据分析应用程序至关重要。但是,使用传统的并行模型(例如OpenMP和MPI)在大数据环境中实现并行编程非常困难。

已经为领域相关的应用提出了许多并行编程模型。这些模型有效地提高了NoSQL数据库的性能,并缩小了NoSQL与关系数据库之间的性能差距。因此,NoSQL数据库已逐渐成为海量数据处理的核心技术。目前,主要有三种编程模型:通用处理模型,图形处理模型和流处理模型。

•通用处理模型

这种类型的模型用于解决一般的应用程序问题,并用于MapReduce和Dryad。其中,MapReduce是一个简单但功能强大的编程模型,可以将大型计算任务分配到大型商用PC集群以并行运行。

•图形处理模型

社交网络分析和RDF等可以表示为实体之间的互连,因此可以用图形模型来描述。与流类型(流类型)模型相比,图处理的迭代是固有的,并且相同的数据集将不断被重新访问。

•流处理模型

S4和Storm是在JVM上运行的两个分布式流处理平台。 S4实现了参与者编程模型,其中每个数据流中的keyupple被视为一个事件,并以一定的优先级被路由到处理单元。 PE形成有向无环图,并处理事件并发布结果。处理节点是PE的逻辑主机,可以侦听事件,并将事件传递到处理单元容器PEN,然后由处理单元容器PEN以适当的顺序调用处理组件。 Storm和S4具有许多相同的特征。风暴作业也由有向无环图表示。它和S4之间的主要区别在于体系结构:S4是分布式对称体系结构,而Storm是类似于MapReduce的主从体系结构。

上表比较了上述编程模型的特征。

首先,尽管实时处理变得越来越重要,但批处理仍然是重要的数据处理方法。

第二,大多数系统都采用图作为编程模型,因为图可以表示更复杂的任务。

同样,所有系统都支持并发执行以加快处理速度。

第四,流处理模型使用内存作为数据存储介质来获得较高的访问和处理速率,而批处理模型使用文件系统或磁盘来存储大量数据以支持多次访问。

第五,这些系统的架构通常是主从架构,而S4是分布式架构。

最后,不同的系统具有不同的容错策略。对于Storm和S4,当一个节点发生故障时,发生故障的节点的任务将被转移到备用节点以运行; Pregel和GraphLab使用检查点进行容错; MapReduce和Dryad仅指出节点级的容错能力。

今天,我介绍了大数据价值链的数据存储部分,稍后我将继续向您展示不同的大数据。

如果您想获得对科学技术信息的长期解释,请记住跟我来,我会每天更新它,谢谢。同时,如果您有任何意见和建议,请发表评论。