第一节 数据库技术发展概述
20世纪60年代中期至今;
数据模型是数据库系统的核心和基础。
数据技术发展的三个阶段:
①第一代网状、层次数据库系统
②第二代关系型数据库系统
③新一代数据库系统(为什么叫新一代而不是第三代,是因为该代的标准尚未达成共识)
一 第一代数据库系统
特点:
①支持三级模式(外模式、模式和内模式);模式之间具有转换或者映射功能。
②用存取路径表示数据间的关系。
③独立的数据定义语言,一经定义很难修改。
④导航的数据操纵语言,导航式的过程化语言。
二 第二代数据库系统
支持关系数据模型。
特点:
①模型清晰简单
②理论基础好
③数据独立性强
④数据库语言非过程化和标准化
三 新一代数据库系统
第一和第二代数据库系统仍不能捕捉和表述数据对象所具有的丰富而重要的语义;因此,只能属于语法模型。
为了解决这样的问题,以及面向对象方法在程序设计领域的广泛应用,人们展开对面向对象数据库系统(OODBS)的研究。
20世纪90年代OODBS获得了大量的研究成果,开发了许多OODBMS;但因成熟度低未被市场接受。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出第三代数据库系统应具有的三个基本特征:
①应支持数据管理、对象管理和知识管理。
②必须保持或继承第二代关系数据库系统的技术。
③必须对其他系统开放。
第二节 数据仓库与数据挖掘
21世纪以来。
一 从数据库到数据仓库
数据库和数据仓库(Data warehouse,DW)是两个不同的概念。
计算机中存在两类数据处理工作:
①操作型处理(面向事务),也叫联机事务处理,简称OLTP。它是传统数据库作为数据库管理主要手段。
②分析型处理,也叫联机分析处理,简称OLAP。针对某些主题的历史数据进行分析,支持决策。
DW的概念自20世纪80年代产生。
传统DB技术是操作型处理服务。
DW技术为分析型处理服务。
DW的特点:
①面向主题
②集成性
③数据非易失性
④数据的时变性
DW的三个重要概念:
①粒度
是设计数仓库最重要的方面;指的是数据仓库的数据单位中报错数据的细化或综合程度级别。它深深影响存储在数据仓库中数据量的大小。
②分割
是将数据分散到各自的物理单元中,以便能分别处理,提高数据处理效率。数据分割后的单元称为切片。标准可以根据实际情况来确定。
③维
是人们观察数据的特定角度,是考虑问题时的一类属性。此类属性的集合构成一个维度,例如时间维、产品维等。
二 数据挖掘技术(Data Mining)
理解为数据是矿,其中包含着有价值的内容,需要通过某些技术找到它们。
又称为知识发现(Knowledge Discovery in Database,KDD)。
数据处理不是数据挖掘。
数据挖掘具备以下功能:
①概念描述(整理出数据的某些特征)
②关联分析
③分类与预测
④类聚(根据相似性归纳为若干类别)
⑤孤立点检测(与整体数据表现不一致的数据集合)
⑥趋势和演变分析
数据挖掘的六个步骤:
①确定业务对象
②数据选择
③数据预处理(转换与清洗)
④数据建模并优化
⑤模型评估
⑥模型部署
第三节 大数据管理技术
一 大数据定义
表示需要管理的数据规模很大;目前尚无统一的定义,通常数据量大,数据形式多样。
特征(4V):
①数据量巨大(Volume)
②数据种类繁多(异构,多源,Variety)
③处理速度快(Velocity)
④价值密度低(Value;在4V中这里替换成真实性Verity)
二 大数据管理技术典型代表
1 大数据存储
分布式文件系统:典型的是Hadoop开源框架下的HDFS。
Hadoop要分布式包括两部分:
- 分布式文件系统:HDFS;
- 分布式计算框:MapReduce。
2 NoSQL数据管理系统
分布式数据管理系统;NoSQL有两种解释:1.Non-Relational,即 非关系型数据库;2.Not Only SQL,即数据管理技术不仅仅是SQL。
①键值(Key-Value)存储:Redis
②文档存储:MongoDB
③列存储:HBase
④图存储
3 MapReduce技术
来自于Google 2004年的方案。
以Key-Value为基础,是一种并行编程模型。是一种编程范式,用于处理大规模数据集的分布式计算框架。
它将大规模数据集分成小块,然后分配给不同的计算节点进行并行处理,最后将结果合并为一个整体的结果。它是
Map阶段:对数据源进行分块后交给Map函数,根据某种规则分类,写入本地磁盘。
Reduce阶段:Map阶段具有相同Keys值的中间结果收集到相同的Reduce节点进行合并处理并写入本地磁盘。