NoSQL数据库原理(第2版).pptx
NoSQL数据库原理
第1章绪论;课程介绍;课程介绍;第1章绪论;数据库(Database,DB):数据信息的集合,也可以看作按照数据结构来存储和组织信息数据的软件容器或仓库。
数据库管理系统(DatabaseManagementSystem,DBMS):数据库及其管理软件构成了数据库管理系统,实现数据的管理和使用等功能。
数据库系统(DatabaseSystem,DBS):数据库管理系统及其运行的软硬件环境、操作人员乃至手册文档等内容,构成一个完整体系,称为数据库系统。
数据库应用系统(DatabaseApplicationSystem,DBAS):指在数据库管理系统的支撑下建立的计算机应用系统。;1.1.1关系型数据库管理系统
数据库管理系统的作用
数据定义
数据操作
数据存储和管理
保护和控制
通信和交互;1.1.1关系型数据库管理系统
1970年的论文:“大型共享数据库的数据关系模型”(ARelationalModelofDataforLargeSharedDataBanks),首次提出数据库的关系模型。
所谓第二代数据库系统
关系型数据库的特点
数据的存储将独立于硬件
呈现给用户的则是被称为“关系”的二维表结构
可以通过SQL语句实现数据定义和操作
支持事务和ACID一致性等特性
……;1.1.2关系型数据库的瓶颈
典型互联网业务的数据总量巨大,且保持持续增长,数据库系统如何应对?
纵向扩展(Scaleup)?横向扩展(Scaleout)?
思考:
为什么纵向扩展会遇到瓶颈?
横向扩展需要解决何种问题?
;1.1.2关系型数据库的瓶颈
横向扩展(计算机集群)需要解决的问题
如何管理集群?统一监控、管理,还是到每台计算机上进行监管?
数据如何存储?使用者如何简单告诉每台计算机存储哪些数据?
如何简单的指挥整个集群共同完成某个数据处理任务?
如何提高查询效率?
如有有一台计算机出现(临时或永久)故障,数据会不会丢失?数据处理任务会不会失败或不完整?——即提高容错性?如何快速发现并排除故障?
……
关系型数据库如何解决上述问题?
;1.1.2关系型数据库的瓶颈
关系型数据库由于数据模型、完整性约束和事务的强一致性等特点,导致其难以实现高效率、易横向扩展的分布式部署架构,而关系模型、完整性约束和事务特???等在典型互联网业务中(可能)并不能体现出优势。
然而很多“新业务”对事务和一致性并无很高的要求。
搜索引擎是否需要强事务特性?
日志分析是否需要严格的一致性?;1.1.3NoSQL的特点
什么是NoSQL?——一些分布式非关系型数据库的统称
可以看作基于惯例的归类,甚至宣传口号,但并非一种严格定义
NoSQL可以细分为多种数据模型,也可以是多种数据模型的结合
NoSQL不是反对“SQL”语言,只是表示和RDBMS的不同
大多起源于互联网企业,更适应互联网业务
大多是开源免费的,但可能缺乏完善的文档和服务
;1.1.4NewSQL的概念
NewSQL是一个新的探索方向:融合RDBMS和NoSQL的优点,构造新型数据库
很多商业软件公司对原生的NoSQL进行了扩展、优化和企业级封装,并向传统行业和普通学习者进行推广
;1.2.1大数据的特征(4V)
大容量(Volume):数据总量大、利用全集数据,而非抽样数据
多样化(Variety):强调不同来源、不同领域的数据融合使用
有价值(Value):通过查询、分析数据获取价值,但可能价值密度低,挖掘过程可能较为困难
高速率(Velocity):数据增长快、需要持续采集
;1.2.2大数据场景中的NoSQL
大数据在技术上,具有数据采集、数据存储和管理、数据查询、数据处理、数据分析和可视化展示等多个环节,不同环节可能需要不同的大数据工具。
NoSQL系统的分布式设计、易用性设计和接口设计等,均能够很好的满足大数据领域的业务要求和性能要求,可以用在大数据的存储、管理和查询等阶段。但NoSQL的数据处理、统计与分析能力通常较弱,可能需要和其他大数据工具配合使用,来解决这一问题。;1.2.3NoSQL的典型应用场景
(1)非结构化数据的存储、检索和查询
(2)高吞吐、低延迟需求下的数据缓存和数据查询
(3)物联网、监控系统中的日志/数据管理和查询
(4)其他行业应用;云计算(CloudComputing)是一种IT资源的使用、运营和提供方式。
云计算是指将IT资源(如:计算、存储、网络或软件功能等)部署在远程的数据中心当中,用户通过网络进行申请和使用,而用户无需本地进行部署和维护。用户在使用IT资源时,可以不再关心用户和资源所在的具体位置和实际状态,宛如资源在虚无缥缈的“云”上,但却可以随时随地使用。
美国国家标准与技