版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据技术与应用
第5章大数据存储目录01大数据存储概述02NoSQL数据库03列式数据库HBase学习导读
在大数据时代,传统关系数据库难以满足对海量数据的高效存储与实时处理需求。大数据存储是数据价值挖掘的基础设施,其核心挑战在于高吞吐量、弹性扩展与多模态数据兼容。本章以大数据存储技术为核心,系统讲解NoSQL数据库的四种存储模式—键值数据库、列族数据库、文档数据库与图数据库及其典型应用,聚焦列式数据库HBase的架构设计、数据模型与实践场景。5.1大数据存储概述5.1大数据存储概述大数据存储是大数据技术的关键组成部分,是指用于存储和管理大规模数据集的技术和方法。它涉及将海量数据高效地存储、管理和检索。大数据存储技术与传统数据存储技术有显著不同,主要体现在其处理大规模数据集的能力和架构设计上。大数据存储常用的存储方式有分布式存储、NoSQL数据库、列式存储和云存储等。分布式存储系统通过将数据分散存储在多个节点上,实现数据的高可靠性和高可用性。NoSQL数据库是为处理非结构化数据或半结构化数据而设计的。列式存储是一种高效的数据存储方式,特别适用于需要频繁访问特定列的场景。云存储是一种通过互联网将数据存储在远程服务器集群中的存储方式,用户无须关注存储位置,而是通过网络访问和管理数据。5.2NoSQL数据库5.2.1NoSQL概述NoSQL是一种非关系数据库的统称,其核心理念是“不仅仅是SQL”,即不仅仅依赖于SQL(结构化查询语言)的数据库管理系统。NoSQL数据库的设计目标是应对传统关系数据库在处理大规模、高并发、高可用性及非结构化数据方面的不足。它倡导一种全新的数据库理念,泛指非关系数据库。NoSQL一词最早出现于1998年,是CarloStrozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。2009年,Last.fm的JohanOskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace的EricEvans再次提出了NoSQL的概念,当时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。同年,在亚特兰大举行的“no:sql(east)”讨论会是一个里程碑,它认为对NoSQL最普遍的解释是“非关联型的”,强调键值存储和文档数据库的优点,而不是单纯地反对关系数据管理系统(RDBMS)。1.NoSQL简介高可扩展性和高可用性灵活的数据模型高性能010203NoSQL数据库的特点2.NoSQL数据库的特点表5-1NoSQL数据库与关系数据库的对比3.NoSQL数据库与关系数据库的对比对比项NoSQL数据库关系数据库最佳工作负载NoSQL数据库适用于包括低延迟应用程序在内的多种数据访问模式。NoSQL数据库在设计上适合对半结构化数据进行分析关系数据库专为事务性和高度一致的联机事务处理(OLTP)应用程序而设计,并且适用于联机分析处理(OLAP)数据模型NoSQL数据库提供了各种数据模型,如键值、文档和图形,这些模型针对性能和规模进行了优化关系数据库可将数据标准化为由行和列组成的表。采用架构来严格定义表、行、列、索引、各个表之间的关系及其他数据库元素。数据库通过表之间的关系中强制实施引用完整性ACID属性NoSQL数据库通常通过放宽关系数据库的一些ACID属性来进行权衡,以获得可以水平扩展的更灵活的数据模型。这使NoSQL数据库成为高吞吐量、低延迟使用案例的绝佳选择,这些使用案例需要水平扩展以突破单个实例的限制关系数据库具有原子性、一致性、隔离性和持久性(ACID)属性。原子性要求事务完全执行或根本不执行。一致性要求事务提交之后,数据必须符合数据库架构。隔离性要求并发事务彼此分开执行。持久性要求能够从意外系统故障或断电情况中恢复到上一个已知状态表5-1NoSQL数据库与关系数据库的对比(续表)3.NoSQL数据库与关系数据库的对比对比项NoSQL数据库关系数据库性能性能通常由底层硬件集群大小、网络延迟及调用应用程序来决定性能通常取决于磁盘子系统。要获得最佳性能,通常需要优化查询、索引和表结构扩展NoSQL数据库通常是可分区的,因为访问模式可以通过使用分布式体系结构进行横向扩展来提高吞吐量,从而给接近无限的规模提供一致的性能关系数据库通常通过增强硬件的计算能力进行纵向扩展或通过为只读工作负载添加副本进行横向扩展API借助基于对象的API,应用开发人员可以轻松地存储和检索数据结构。通过分区键,应用程序可以查找键值对、列集或包含序列化应用程序对象和属性的半结构化文档存储和检索数据的请求通过使用符合结构化查询语言的查询来传达。这些查询由关系数据库解析和执行软状态(Soft-state)基本可用(BasicallyAvailable)最终一致性(EventuallyConsistent)010203BASE原则的组成5.2.2BASE原则特
性BASE原则(NoSQL)ACID特性(关系数据库)一致性最终一致性(允许短暂不一致)强一致性(事务完成后立即可见)可用性优先保证基本可用性,容忍部分功能降级通过锁机制保障可用性,但可能阻塞请求事务模型弱事务或无事务支持,适合高并发场景强事务(原子性、隔离性)适用场景大规模分布式系统(如社交网络、物联网)金融交易、ERP等强一致性需求场景2.BASE原则与ACID特性的对比表5-2BASE原则与ACID特性的对比5.2.3NoSQL数据存储模式NoSQL数据存储模式主要涉及数据存储的逻辑结构,数据处理对象,数据读、写、改、删等操作,以及在分布式状态下的数据处理方式。1.键值数据库
键值数据库(Key-ValueDatabase)以键值对的形式存储数据,键作为唯一标识符,每个键对应一个值。键和值都可以是从简单对象到复杂复合对象的任何内容,如整数、文本、数组、嵌套字典、图像、视频和半结构化数据。键值数据库是最简单的NoSQL数据库类型。键值数据库是高度可分区的,并且允许以其他类型的数据库无法实现的规模进行水平扩展。常见的键值数据库包括Redis、Scalaris和OracleBDB等。1.键值数据库
表5-3
键值数据库的结构键值"2024年""大数据管理与应用微专业开始招生""2025年""大数据管理与应用本科专业开始招生"19020234.5678………….2.列族数据库
列族数据库(Column-OrientedDatabase)是一种可以存储关键字及其映射值的非关系数据库,一般采用列族数据模型。数据库由多个行构成,每行数据包含多个列族,不同的行可以具有不同数量的列族,属于同一列族的数据会被存放在一起。每行数据通过行键进行定位,与这个行键对应的是一个列族。这种类型的数据库非常适合处理大数据量和高并发请求。常见的列族数据库包括HBase和Cassandra。2.列族数据库
表5-4关系数据库存储的学生基本信息学
号姓
名专
业电
话
1电
话
2邮
箱2303401张三大数据管理与应用19200000000137000000001920@163.com2303402李四工商管理19300000000
1930@163.com2303403王五计算机科学与技术19400000000
……
图5-1
将学生基本信息用列族数据库存储的逻辑模式3.文档数据库
文档数据库以文档的形式存储数据,其基本形式为键值对形式,由数据和格式组成。数据分键和值两部分,格式根据数据种类的不同有所区别,如JSON、XML、BSON等。按照数据和格式的复杂程度,可以把键值对分为基本键值对、带结构键值对、多形结构键值对。3.文档数据库
基本键值对形式的文档如图5-2所示,键和值都是基本数据类型。图5-2基本键值对形式的文档3.文档数据库
带结构键值对形式的文档如图5-3所示。在该图中,张三选修了编号为F03401、D012002、F03402的三门课程,则键“Course”的值就用数组[F03401,D012002,F03402]来表示选修课程信息。图5-3带结构键值对形式的文档3.文档数据库
多形结构键值对形式的文档如图5-4所示。在该图中,存在不同结构的键值对,构成不同的文档,形成一个数据集。在电子商务平台中经常会出现不同类型的商品基本属性差异很大的情况。例如,该图代码中的电池的基本属性是规格型号,而书的基本属性是出版信息。这种多形结构的键值对,为基本属性差异大的商品信息呈现提供了较大的便利,相对于关系数据库,加快了操作速度。图5-4多形结构键值对形式的文档4.图数据库
图数据库(GraphDatabase)以图论为基础,使用图作为数据模型来存储数据,用于存储和查询复杂的图结构数据,如社交网络、推荐引擎、欺诈检测和知识图谱等。常见的图数据库包括Neo4j、FlockDB、AllegroGrap及GraphDB等。图数据库专门用于管理具有高度相互关联关系的数据,高效地处理实体之间的关系。图5-5
抽象后的某物流公司运输路径示意图5.3列式数据库HBase
HBase(HadoopDatabase)是一个高可靠性、高性能、可伸缩、实时读写、面向列的分布式NoSQL数据库,由谷歌技术人员FayChang在2006年发布,并由Powerset公司研发成Java开源版本,构建在HDFS之上。HBase适合存储非结构化和半结构化的松散数据,侧重于海量数据的实时读写。5.3.1HBase系统架构1.ClientClient为用户提供了访问HBase的接口,与HRegionServer进行数据读写操作。Client还利用远程过程调用(RemoteProcedureCall,RPC)机制与HMaster进行管理类操作。2.ZooKeeperZooKeeper是HBase系统架构中的协同管理节点,为整个HBase集群提供协助服务,具体功能如下。(1)通过ZoopKeeper来保证集群中只有1个Master在运行,如果这个Master出现异常,会通过竞争机制产生新的Master提供服务。(2)通过ZoopKeeper来监控RegionServer的状态,当RegionSevrer出现异常的时候,通过回调的形式通知MasterRegionServer上下线的信息。(3)通过ZoopKeeper存储元数据的统一入口地址。5.3.1HBase系统架构3.HMasterHMaster主要用于监控和操作集群的所有RegionServer。RegionServer主要用于服务和管理分区(Regions)。4.HRegionServerHRegionServer是HBase中最核心的模块,主要负责响应用户I/O请求,向HDFS文件系统读写数据。HBase采用HDFS作为文件存储系统,数据的可靠性由HDFS来保证。HBase更适合存储半结构化数据、非结构化数据,同时支持结构化数据存储。相对于关系数据库而言,它们的侧重点有所不同,关系数据库更侧重于小规模数据的在线事务处理,而HBase侧重于海量数据的实时读写。5.3.1HBase系统架构5.3.2
HBase数据模型HBase数据模型以键值(Key-Value)对形式存储,Key可以视为行键(RowKey),Value可以视为列族(ColumnFamily),列族可以有多个。HBase的数据模型可以看作一个多维映射表:行键→列族→列限定符→时间戳→值,如表5-5所示。其中,user1、user2是行键,数据是按照字典顺序进行存储的。info和login是列族。info用于存储用户基本信息,name、age是info的列限定符。Zhangsan是name的值,25、26、27分别是T1、T2、T3时间age的值,T1、T2、T3是时间戳。login用于存储用户登录记录(按日期区分),20231001和20231002是login的列限定符,IP1、IP2是20231001和20231002的值。表5-5
HBase数据模型RowKeyColumnFamily:infoColumnFamily:loginuser1info:name→Zhangsaninfo:age
→25(T1),26(T2),27(T3)login:20231001
→"IP1"login:20231002
→"IP2"user2info:name→Lisilogin:20231001
→"IP1"5.3.2
HBase数据模型HBase数据模型中的核心概念如下。(1)表。HBase会将数据组织进一张张的表里。一个HBase表由多行组成。(2)行键。每行数据由唯一的行键标识,数据按行键的字典顺序排序,行键设计直接影响数据分布和查询性能。(3)列族。列族是表的逻辑分组,必须在创建表时预先定义。每个列族包含多个列限定符,列限定符可以动态添加。(4)列限定符。列限定符是列族下的具体列名,如info:name中的name是列限定符,info是列族。列限定符是动态的,无须预先定义,写入时可以任意扩展。(5)时间戳。时间戳是每个单元格的隐式属性,用于标识同一单元格值的不同版本,每个版本通过时间戳标识。时间戳默认由系统自动生成(写入时间),也可以由用户显式指定。当读取数据时,默认返回最新的版本,但可以指定时间戳范围或版本数。(6)单元格。单元格是存储数据的最小单元,它是由行键、列族、列限定符、时间戳和值组成的。5.3.3HBase应用场景1.HBase的应用场景之一—电子商务推荐系统某电子商务平台拥有数百万名用户和千万级别的商品库存。为了提升用户体验和销售额,该平台希望构建一个能够提供个性化推荐服务的系统。该系统需要实时处理海量的用户浏览、单击、购买等行为数据,需要支持实时更新用户偏好模型,并根据最新的用户行为调整推荐内容,能够快速响应用户的请求,即使在高并发的情况下也能保证低延迟。5.3.3HBase应用场景2.HBase在推荐系统中的应用(1)数据收集与存储。用户行为日志:每当用户进行一次浏览、搜索或购买操作时,这些事件都会被记录下来,并通过批处理或流处理的方式写入HBase。例如,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西铁道职业技术学院《酒店市场营销》2025-2026学年期末试卷
- 电商运营岗店铺管理考试题目及答案
- 空调器安装工班组协作水平考核试卷含答案
- 电焊机装配工安全防护评优考核试卷含答案
- 潜水员安全生产基础知识水平考核试卷含答案
- 乳化香精配制工岗前岗位适应能力考核试卷含答案
- 汽车回收工标准化测试考核试卷含答案
- 矿井防灭工岗前工作质量考核试卷含答案
- 家禽人工授精员标准化竞赛考核试卷含答案
- 高炉炉前工安全实践竞赛考核试卷含答案
- 马克思主义哲学十讲
- 血脂异常和脂蛋白异常血症病人的护理
- 《草船借箭》【市一等奖】
- 连续性血液净化设备技术要求
- 行政法与行政诉讼法培训教案
- 译林版六年级下册英语单元课文填空
- 进展性脑卒中的诊疗策略课件
- 统编人教版五年级上册小学语文第四单元测试卷
- IPC-A-610国际标准中英文对照(doc 17)
- 部编版三年级下册语文教案(含教学反思)
- 国网智慧供应链竞赛题库(全真题库)
评论
0/150
提交评论