版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章NoSQL数据库大数据技术原理与应用·厦门大学林子雨Contents本章目录大数据技术原理与应用·第5章NoSQL数据库01NoSQL数据库概述02NoSQL数据库四大类型03NoSQL理论基石04典型NoSQL数据库实践05NewSQL与未来展望Chapter01NoSQL数据库概述理解NoSQL兴起的历史背景与核心动因CHAPTER05·NOSQLDATABASE什么是NoSQLNoSQL是'NotOnlySQL'的缩写,是对非关系型数据库的一类统称。它采用键值、列族、文档、图形等非关系数据模型,是对传统关系数据库的补充而非替代,适用于海量数据、高并发、高可扩展性的应用场景。01非替代,而是补充NoSQL全称为'NotOnlySQL',强调它不是要取代SQL,而是关系数据库之外的另一种技术选择。NotOnlySQL02多种数据模型采用非关系数据模型,包括键值对、列族、文档、图形等多种数据组织方式。Key-Value·Column·Document·Graph03场景驱动设计没有统一的理论基础,不同产品采用不同的设计理念,但都针对特定场景优化。Scenario-Driven04Schema-Free灵活模式通常具有schema-free特性,数据模式灵活,可动态调整数据结构。Schema-FreeCHAPTER05·NOSQLNoSQL兴起的历史背景NoSQL的兴起与互联网从Web1.0向Web2.0的演进密切相关。随着用户生成内容的爆发式增长、社交网络和移动互联网的普及,数据规模呈指数级增长,传统关系数据库面临前所未有的挑战,催生了NoSQL技术的发展。互联网数据中心·服务器机房实景01Web1.0时代以静态网页为主,数据量有限,关系数据库足以支撑大多数应用场景02Web2.0时代用户成为内容生产者,社交网络、博客、视频分享等应用产生海量非结构化数据03互联网巨头如Google、Amazon、Facebook率先面临超大规模数据挑战,开始探索新型数据库技术042009年NoSQL概念正式被提出,标志着非关系型数据库技术进入主流视野CHAPTER05·NOSQLWeb2.0时代的数据库挑战Web2.0时代对数据库提出了三大核心挑战:海量数据的存储与管理、高并发读写请求的处理、以及系统的可扩展性与高可用性。这些挑战超出了传统关系数据库的设计能力,成为NoSQL技术发展的直接驱动力。海量数据管理互联网应用产生的数据量呈指数级增长,单日可达PB级别;数据类型涵盖文本、图片、视频等非结构化数据,传统关系数据库在超大规模下性能急剧下降。PB级高并发需求社交网络与电商平台面临每秒百万级并发访问,关系数据库的锁机制成为性能瓶颈,需要支持快速读写操作以保证用户体验。百万/秒可扩展性与可用性互联网应用需要7×24小时不间断服务,数据量增长要求系统能动态水平扩展,传统数据库的纵向扩展方式成本高昂且有上限。7×24hDATABASECOMPARISON关系数据库与NoSQL对比关系数据库与NoSQL数据库在理论基础、数据规模、扩展方式、一致性保证等多个维度存在显著差异,两者各有适用场景。关系数据库与NoSQL数据库核心对比比较维度关系数据库(RDBMS)NoSQL数据库理论基础关系代数理论无统一理论基础数据规模大,但扩展受限超大,可无限扩展数据模式固定Schema灵活,Schema-free扩展方式纵向扩展为主横向扩展为主一致性强一致性(ACID)最终一致性(BASE)查询方式标准SQL各产品API不同事务支持完整事务支持部分或不支持典型场景企业ERP、银行系统互联网、物联网关系数据库与NoSQL各有优势,应根据具体业务场景选择合适的技术方案CHAPTER05·NOSQL关系数据库的局限性关系数据库在Web2.0时代面临三大核心局限:海量数据管理能力不足、高并发处理性能受限、以及可扩展性与高可用性难以兼顾。海量数据管理困难单机存储能力有限,分库分表方案复杂,跨库查询性能低下典型场景:单表数据量超过千万级时,索引效率显著下降,全表扫描耗时剧增存储瓶颈高并发性能瓶颈ACID事务保证带来锁竞争,读写操作相互阻塞,难以应对百万级并发典型场景:秒杀、抢购等高并发写入场景下,行级锁升级为表级锁,系统响应延迟激增百万级并发扩展性受限纵向扩展成本高昂且有物理上限,横向扩展需复杂数据迁移与一致性处理典型场景:业务快速增长期,硬件升级周期难以匹配数据膨胀速度,架构调整风险高物理上限可用性妥协为保证强一致性,部分节点故障时可能影响整体服务可用性典型场景:主从切换期间服务中断,分布式事务协调器单点故障导致全局事务挂起强一致性CHAPTER02NoSQL数据库四大类型键值、列族、文档、图形四种数据模型的特点与应用Chapter5·NoSQLDatabaseNoSQL四大类型总览NoSQL数据库按数据模型分为四大类型:键值数据库以简单高效见长,列族数据库擅长大规模稀疏数据处理,文档数据库提供灵活的数据结构,图形数据库专注于复杂关系分析。四种类型各有优势,适用于不同的业务场景。键值数据库数据以键值对形式存储,查询效率极高代表产品:Redis、Memcached、Riak适用场景:缓存、会话管理、计数器Redis列族数据库按列存储数据,适合大规模稀疏数据代表产品:HBase、Cassandra、BigTable适用场景:日志分析、时序数据、大数据存储HBase文档数据库以JSON/BSON文档为单位存储,结构灵活代表产品:MongoDB、CouchDB、RavenDB适用场景:内容管理、用户资料、目录存储MongoDB图形数据库以节点和边表示数据,擅长关系查询代表产品:Neo4j、JanusGraph、ArangoDB适用场景:社交网络、推荐系统、知识图谱Neo4jNOSQLDATABASE键值数据库详解键值数据库以Key-Value形式存储数据,通过哈希表实现O(1)时间复杂度的快速查找。其设计哲学是用简单的数据模型换取极致的读写性能,是缓存、会话管理、实时计数等高性能场景的首选方案。核心原理使用哈希表存储键值对,通过key直接计算存储位置,查询时间复杂度为O(1)O(1)数据结构支持String、Hash、List、Set、SortedSet等多种数据类型,满足不同业务需求5Types性能特点数据存储在内存中,读写速度极快,单实例可达10万+QPS100K+QPS典型应用页面缓存、用户会话、实时排行榜、分布式锁、消息队列等场景缓存·会话·排行榜Column-FamilyDatabase列族数据库详解列族数据库按列而非按行组织数据,这种存储方式在查询少数列时大幅减少I/O开销,特别适合大规模稀疏数据和写入密集型场景。存储原理数据按列族(ColumnFamily)组织,同一列族物理存储在一起,查询时只读取需要的列,大幅减少I/O开销,提升查询效率。ColumnFamily稀疏友好空值不占用存储空间,天然适合处理字段大量为空的稀疏数据表,相比行式存储能有效节约存储资源,降低存储成本。SparseData写入优化采用LSM-Tree结构实现顺序写入,避免随机磁盘I/O,写入性能优异,特别适合日志记录、时序数据等写入密集型应用场景。LSM-Tree扩展能力数据自动分片到多个RegionServer节点,支持在线水平扩容,无需停机即可扩展集群规模,可轻松处理PB级别的海量数据。PB级ScaleNoSQLDatabase文档数据库详解文档数据库以JSON/BSON格式的文档为基本存储单位,每个文档可具有不同的字段结构,无需预定义schema。这种灵活性使其成为处理半结构化数据的理想选择,在内容管理、用户资料、产品目录等场景中广泛应用。01数据模型:以文档(Document)为单位,采用JSON/BSON格式,支持嵌套结构和数组类型02Schema灵活性:同一集合中的文档可以有不同的字段,无需预先定义表结构,适应业务快速变化03查询能力:支持丰富的查询操作符、嵌套字段查询、聚合管道,功能接近关系数据库04典型产品:MongoDB是最流行的文档数据库,CouchDB支持主从同步,RavenDB提供.NET原生支持MongoDB文档数据库概念模型GraphDatabase图形数据库详解图形数据库以节点(Node)和边(Relationship)表示数据,专为复杂关系分析设计。在社交网络、推荐系统、知识图谱等关系密集型场景中,图形数据库的多跳关系查询效率远超关系数据库,是关系分析的首选技术。数据模型用节点表示实体(如用户、商品),用边表示关系(如关注、购买),边可以带有属性节点与边查询优势多跳关系查询无需JOIN操作,直接遍历图形结构,复杂度与结果集大小相关而非数据总量多跳遍历查询语言Neo4j提供Cypher语言,用ASCII艺术风格表达图形模式,直观易学Cypher应用场景社交网络分析、好友推荐、欺诈检测、供应链追踪、知识图谱构建知识图谱选型指南四种类型适用场景对比选择NoSQL数据库类型应基于业务需求:追求极致性能选键值型,处理海量时序数据选列族型,数据结构灵活多变选文档型,分析复杂关系选图形型。数据库类型核心优势主要局限典型场景键值数据库读写性能极高查询功能简单缓存、会话、计数器列族数据库海量数据存储查询模式受限日志、时序数据文档数据库Schema灵活关系查询复杂内容管理、用户资料图形数据库关系查询高效水平扩展困难社交网络、推荐系统根据业务需求选择合适类型,必要时组合使用多种NoSQL数据库Chapter03NoSQL理论基石CAP理论、BASE理论与最终一致性原理DISTRIBUTEDSYSTEMSCAP理论概述CAP理论由EricBrewer教授于2000年提出,指出分布式系统最多只能同时满足一致性、可用性、分区容忍性三者中的两个。2000·UCBERKELEY📚理论来源2000年由加州大学伯克利分校EricBrewer教授在ACMPODC会议上首次提出,最初作为猜想形式出现,后被称为Brewer定理。该理论源于对大规模分布式互联网服务的深入观察与实践总结。猜想提出2002年证明C·A·P⚡核心论断在分布式存储系统中,一致性、可用性、分区容忍性三者最多只能同时满足两个,无法三者兼得。这一根本约束决定了系统设计的核心取舍方向。C一致性A可用性P分区容忍ARCHITECTUREGUIDE🎯实践意义为分布式系统架构设计提供了重要的理论指导框架,帮助开发者在不同业务场景下做出科学权衡,明确系统能力的边界与取舍策略。关键价值:将复杂的分布式设计问题转化为可分析、可决策的明确维度NOSQLIMPACT🌐影响范围深刻影响了NoSQL数据库的设计理念与工程实践,催生了最终一致性、因果一致性等多种一致性模型,以及CP/AP系统架构方案。NoSQL微服务云原生区块链DistributedSystemsCAP三要素详解由于网络问题不可避免,分区容忍性是必须保证的,实际架构选择是在一致性与可用性之间权衡。一致性所有数据副本在同一时刻具有相同的值强一致性要求读取操作总是返回最新写入的数据,确保用户无论从哪个节点访问都能获得一致结果需要在所有节点同步完成后才返回成功,这会引入额外的延迟开销Consistency可用性部分节点故障时,系统仍能响应客户端请求高可用意味着7×24小时服务不中断,每个请求都能在有限时间内得到响应保证可用性时可能返回非最新的旧数据,以牺牲一致性换取服务连续性Availability分区容忍性网络分区发生时,系统仍能继续提供服务分布式环境下网络问题不可避免,分区容忍性是构建分布式系统的基础前提节点间通信中断时系统仍可运行,允许网络故障而不导致整个系统崩溃PartitionCAPTHEOREMCAP权衡策略分析由于分区容忍性在分布式系统中必须保证,实际架构选择是在CP和AP之间权衡。不同业务场景对一致性和可用性的要求不同,应选择相应的策略。ConsistencyFirstCP策略:一致性优先01网络分区时拒绝服务,直到分区恢复才重新接受请求02保证任何时刻读取的数据都是一致和准确的03代表系统:HBase、MongoDB(强一致性模式)、ZooKeeperHBase·ZooKeeperAvailabilityFirstAP策略:可用性优先01网络分区时仍继续提供服务,可能返回不一致的旧数据02保证服务7×24小时可用,但数据可能暂时不同步03代表系统:Cassandra、DynamoDB、CouchDBCassandra·DynamoDBSingleSystemCA策略:单系统假设01假设网络永远可靠,不考虑分区情况02传统单机关系数据库采用此策略03在真正的分布式系统中几乎不可行传统RDBMSNoSQL·分布式一致性BASE理论详解BASE理论是对CAP中AP策略的实践延伸,由BasicallyAvailable、Softstate、Eventuallyconsistent组成,代表对传统ACID事务的务实妥协。01基本可用BasicallyAvailable系统在部分节点故障时仍能提供核心服务,可能响应时间变长或降级处理。通过牺牲部分非核心功能,确保关键业务流程持续可用,是高可用架构设计的首要原则。02软状态SoftState允许系统中的数据存在中间状态,这种状态不影响系统整体可用性。节点间的数据同步可以异步进行,无需实时锁定资源,从而提升系统的并发处理能力和吞吐性能。03最终一致性EventuallyConsistent系统中的数据副本最终会达到一致,但不保证实时一致。在没有新更新的情况下,经过一定时间后所有副本将收敛到相同值,适用于对实时一致性要求不高的业务场景。04实践意义BASE理论指导开发者在设计分布式系统时做出务实选择,而非追求理想化的强一致性。它为大型互联网应用提供了可扩展的架构范式,在保证用户体验的前提下实现系统的高可用与高性能。NoSQL·ConsistencyModel最终一致性原理最终一致性指在没有新写入的情况下,所有数据副本经过一段时间后最终达到一致。它以性能和可用性换取对实时一致性的放松,深刻影响了NoSQL的发展方向。定义在没有新的更新操作时,所有数据副本最终会达到一致状态,但不保证实时同步理论来源AmazonCTOWernerVogels于2008年在ACMQueue发表《EventuallyConsistent》系统阐述实现机制通过异步复制、Gossip协议、向量时钟等技术在后台同步数据副本适用场景对实时一致性要求不高但对可用性要求高的场景,如社交动态、商品浏览、评论系统NOSQL·一致性理论一致性模型对比分布式系统存在多种一致性模型,从强一致性到最终一致性形成光谱。强一致性保证实时同步但性能受限,最终一致性性能最优但可能读取旧数据。中间还有因果一致性、读己之所写等折中模型,应根据业务实际需求选择合适的一致性级别。常见一致性模型对比一致性模型核心特征适用场景01强一致性写入后立即可读到最新值金融交易、库存扣减02最终一致性经过一段时间后副本一致社交动态、商品浏览03因果一致性有因果关系的数据按序一致评论回复、消息排序04读己之所写用户总能读到自己写入的数据个人资料、个人设置05单调读一致性不会读到比之前更旧的数据新闻资讯、内容推送根据业务需求选择合适的一致性模型,在一致性与性能之间找到平衡点CHAPTER04典型NoSQL数据库实践MongoDB文档数据库与Redis键值数据库深度解析NOSQLDATABASEMongoDB概述MongoDB是最流行的开源文档数据库,2009年由10gen公司发布。它采用BSON格式存储数据,兼具JSON的灵活性和二进制格式的高效性。MongoDB·开源文档数据库·200901发展历史:2009年由10gen公司(现MongoDBInc.)发布,名称源自"humongous"(巨大)一词02数据格式:采用BSON(BinaryJSON)格式存储,支持嵌套文档、数组等复杂数据结构03核心特性:Schema灵活、查询功能丰富、支持聚合管道、地理空间查询、全文搜索04部署模式:支持单机部署、副本集(高可用)、分片集群(水平扩展)三种部署方式Chapter05·NoSQLMongoDB核心概念MongoDB采用数据库-集合-文档的三层数据模型,集合中的文档无需预定义schema,每个文档可具有不同的字段结构。BSON格式支持丰富的数据类型和嵌套结构,自动生成的_id字段保证文档唯一性,这种灵活的数据模型特别适合处理半结构化数据。数据层次·DataHierarchyDatabase数据的物理容器,对应关系数据库的Database概念。一个MongoDB实例可管理多个数据库,每个数据库拥有独立的文件存储和权限控制。数据库Collection文档的容器,对应关系数据库的Table,但无需预定义结构。同一集合中的文档可以拥有完全不同的字段组合,动态适应业务需求变化。集合Document数据的基本单位,对应关系数据库的Row,采用BSON格式存储。支持嵌套文档和数组结构,能够表达复杂的层次化数据关系。文档数据特点·FeaturesSchema-free同一集合中的文档可以有不同的字段,适应业务变化。开发过程中无需执行ALTERTABLE操作,新字段可即时生效,降低迭代成本。灵活模式BSON格式支持字符串、数字、数组、嵌套文档等多种数据类型。相比JSON增加了Date、Binary等类型,查询时可直接操作原生类型,无需转换。二进制JSON自动主键每个文档自动生成唯一的_id字段,支持自定义主键。ObjectId包含时间戳、机器标识等信息,天然支持按创建时间排序,无需额外索引。ObjectIdNoSQLDATABASERedis概述Redis是一款高性能内存键值数据库,支持多种数据结构,单实例可达10万+QPS,广泛应用于高性能场景。发展历程2009年由意大利开发者SalvatoreSanfilippo创建,现已成为最流行的键值数据库2009内存存储数据完全存储在内存中,读写延迟低至微秒级,单实例QPS超过10万100K+QPS丰富数据结构支持String、Hash、List、Set、SortedSet、Bitmap、HyperLogLog等String·Hash·List·Set高级功能支持数据持久化(RDB/AOF)、发布订阅、Lua脚本、事务、分布式锁等RDB·AOF·Pub/SubCHAPTER5·NOSQLRedis应用场景Redis凭借其高性能和丰富的数据结构,在多种场景中发挥重要作用:作为缓存减轻数据库压力、存储分布式会话、实现实时排行榜、处理高频计数器、提供分布式锁、构建轻量消息队列。Redis已成为互联网架构中不可或缺的基础组件。缓存与会话页面缓存缓存热点数据,减少数据库查询,提升响应速度热点数据加速缓存与会话会话管理分布式环境下共享用户Session,实现单点登录单点登录排行与计数排行榜利用SortedSet实现实时排名,如游戏排行、热搜榜SortedSet排行与计数计数器文章阅读量、点赞数等高频更新场景高频更新协作与通信分布式锁微服务架构中实现跨服务的资源互斥访问资源互斥协作与通信消息队列利用List和Pub/Sub实现轻量级异步消息传递Pub/SubNoSQL·列族数据库HBase简介HBase是Apache基金会的开源列族数据库,设计灵感来自GoogleBigTable。它运行在HDFS之上,可处理数十亿行、数百万列的超大规模数据。设计来源基于GoogleBigTable论文设计,是Hadoop生态系统的重要组成部分BigTable架构组成HMaster管理元数据、RegionServer处理读写、ZooKeeper提供分布式协调三层架构数据可靠性采用预写日志(HLog)机制,更新数据先写日志再写缓存,保证故障恢复HLog应用场景日志分析、用户画像、时序数据存储、海量稀疏数据处理等大数据场景大数据NOSQL·HBASEHBaseHLog工作原理HBase通过HLog(WriteAheadLog)机制保证数据可靠性:写操作必须先记录日志,再写入内存缓存,日志落盘后缓存才能刷写到磁盘。每个RegionServer维护一个HLog文件,故障恢复时按Region拆分日志进行数据重建,这种设计在性能和可靠性之间取得平衡。预写日志机制用户更新数据必须首先写入HLog日志,然后才能写入MemStore内存缓存WriteAhead刷写条件只有当MemStore缓存内容对应的日志已写入磁盘,缓存内容才能刷写到StoreFileFlushGate单文件设计每个RegionServer维护一个HLog文件,多个Region的日志追加到同一文件SingleLog故障恢复RegionServer故障时,Master按Region拆分HLog,分发到新的RegionServer重建数据RecoveryChapter05NewSQL与未来展望探索数据库技术融合发展的新方向DATABASEEVOLUTIONNewSQL数据库兴起NewSQL结合关系数据库与NoSQL优势,既保持SQL易用性和ACID事务,又具备水平扩展能力,代表数据库技术融合发展的新方向。兴起背景NoSQL放弃SQL和强一致性带来开发成本,业界期待兼具两者优势的方案。传统关系型数据库难以应对海量数据,NoSQL虽解决扩展性却牺牲事务能力。NoSQL局限·开发复杂核心理念保持SQL接口和ACID事务保证,同时实现NoSQL级别的水平扩展和性能。通过分布式架构创新,在一致性、可用性与分区容错性之间找到新平衡点。ACID+水平扩展技术路径采用创新的分布式架构、Raft/Paxos共识算法、分布式事务等新技术。通过分片存储、全局时钟同步和两阶段提交优化,实现跨节点事务一致性。Raft/Paxos·分布式事务价值主张让开发者无需在SQL与NoSQL之间做艰难选择,一套系统满足多种需求。降低技术栈复杂度,减少数据迁移成本,提升业务迭代效率。统一架构·简化运维DATABASETECHNOLOGYNewSQL代表产品NewSQL领域涌现Spanner、CockroachDB、TiDB等代表产品,证明SQL与分布式扩展可以兼得,引领数据库技术发展方向。GoogleSpannerNewSQL先驱,实现全球分布式部署和强一致性支持SQL查询和ACID事务,Google内部核心系统广泛使用强一致性CockroachDB受Spanner启发的开源项目,强调顽强生存能力自动分片、自动故障恢复,提供高可用性和容灾能力自动容灾TiDB国产NewSQL代表,由PingCAP开发,兼容MySQL协议水平弹性扩展、强一致性、分布式事务,国内广泛应用弹性扩展TechnologyTrends数据库技术发展趋势数据库技术正朝着多模型融合、云原生化、智能化、边缘计算四个方向演进。多模型数据库支持多种数据模型,云原生数据库与云基础设施深度整合,AI技术赋能数据库自动调优和智能运维,边缘数据库满足IoT场景的本地数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年合作社收购合同二篇
- 做账实操-民间非营利组织学校账务处理会计分录实例
- 合规转利润:降本增效全指南(2026)《GBT 36229-2018光电保护装置可靠性考核方法和指标》
- 集群通信系统机务员冲突解决竞赛考核试卷含答案
- 香料合成工操作安全能力考核试卷含答案
- 聚四氢呋喃装置操作工安全培训考核试卷含答案
- 卤水综合利用工常识考核试卷含答案
- 贴剂工安全理论强化考核试卷含答案
- 工程船舶水手安全生产规范测试考核试卷含答案
- 装裱师岗位时间管理考核试卷含答案
- 《自然印迹》教案-2026-2027学年湘美版(新教材)小学美术六年级上册
- 新版(2025秋新版)人教版九年级物理上册全册教案合集
- 2026年秋小学安全工作计划
- 智研咨询发布:2026年中国光伏建筑一体化(BIPV)行业市场现状、发展概况、未来前景分析报告
- 2026年部编版道德与法治四年级上册第1课《热爱班集体》教案设计
- 港口码头装卸工货物装卸管理手册(执行版)
- 2026秋新版小学青岛版(五四制)科学四年级上册教学设计(附目录)适用于新课标
- 2026年湖北省专业技术职务水平能力测试(新闻)全真模拟试题及答案
- 有机化学(第六版)全套课件
- 华为MA5800配置及调试手册
- 向拉齐尼巴依卡同志学习ppt
评论
0/150
提交评论