当前课程知识点:数据库概论 > 第十章 其他数据库技术概述 > 10.1 数据库新技术概述 > Video
各位同学
大家好
我是来自
云南大学软件学院的教师何婧
在前面的课程中
我们已经学习了数据库的基础知识
相关理论
以及数据库设计
开发
管理的主要方法
然而
我们正处在一个
计算机技术飞速发展的时代
数据库领域
也涌现出了许多新的理论和方法
在本节课中
我将为大家简要介绍一下
数据库技术的新进展
数据库技术产生于
20世纪60年代中期
至今仅仅50多年的历史
但是却已经造就了三位图灵奖得主
发展成了以数据建模
和数据库管理系统核心技术为主
内容丰富的一门学科
带动了一个巨大的软件产业
进入21世纪以来
随着硬件技术的飞速发展
数据需求和应用需求的巨大变化
数据库技术
遇到了前所未有的挑战
也迎来了新的发展机遇
当今的数据库系统是一个大家族
数据模型丰富多样
新技术内容层出不穷
应用领域广泛深入
在此
我们重点学习大数据的基本管理技术
什么是大数据
大数据具有哪些特征呢
在以往的文献中
出现过超大规模数据
海量数据这样的名词
大数据这个词是在2008年
《Science》上发表的一篇文章中
正式被提出来的
并在之后得到了广泛应用
这些名词共同的特点
都是说随着人类社会的发展
需要处理的数据规模在不断扩大
但是
大数据不仅仅是指数据规模大
它还具有其他一些特征
在现有的文献中
通常用若干个V来表示它
我们学习一下大数据
最基础的4V特性
首先是指数据量大
数据单位从常用的MB
GB
发展到了现在的TB
PB
乃至ZB
根据知名市场研究机构IDC 的预测
到2020 年
整个世界的数据总量将会增长44倍
达到35.2ZB(1ZB=10 亿TB)
这将是一个非常巨量的数据
第二个特征是指数据的多样性
随着互联网
移动互联网
物联网
车联网等等各种新技术的发展
数据的来源更加丰富
大数据的数据结构也更加具有多样性
订单
日志
博客
音频
视频等都是数据
这些结构化数据
半结构数据
非结构化数据不断累积
在现代的大数据管理系统中
需要考虑不同类型数据的存储
和管理技术
第三个特征是快速化
速度是大数据区分于
传统数据的重要特征
从数据的生成到消耗
时间窗口非常小
在海量数据面前
需要实时分析获取到的信息
处理数据的效率就是组织的生命
第四个特征是大数据的价值密度低
挖掘大数据的价值类似沙里淘金
比如用户评价分析
几百万的评价记录
真正有借鉴意义的就是几句
比如视频监控
每天产生24小时的视频数据
真正有价值的就是几秒钟
正因为大数据具有了
与以往数据不同的特征
所以
近年来
数据库系统不再是传统的
关系型数据库系统一家独大
NoSQL数据库
NewSQL数据库不断涌现
数据库技术的发展
呈现出一种百花齐放的发展态势
下面
我们来看一下
NoSQL数据库的几种典型结构
由于关系模型
不能够灵活的存储结构多样的数据
具有复杂关系的数据表不易于扩展
并且关系模型对并行访问的支持能力不足
在这样的情况下
NoSQL技术异军突起
蓬勃发展
根据数据模型的不同
NoSQL数据库可以划分为四类
键值数据库
列存储数据库
文档数据库
和图数据库
具体分析如下
第一是键值数据库
键值数据库中的数据组织成
键值对的模型
它的核心思想是采用分布式哈希表
维护键值到具体数据的映射关系
数据本身是无结构的
可以当做一个字符串来进行处理
当用户查询数据
根据键的值可以快速找到相应的数据的值
目前
典型的键值数据库包括
亚马逊的Dynamo
Berkeley DB[77]等
键值数据库模型结构简单
数据处理高效
能够进行大规模的横向扩展
但是
键值数据库主要支持
针对单键值的高效查询
针对其他非键属性的查询
则只能进行全数据集扫描
第二种是列存储数据库
列存储数据库的基本数据模型
仍然是键值对
但是
该类数据库中的数据值
组织成了列族的形式
一个列族中包含多个列
每个列带有一个时间戳
使得列族能够支持嵌套包含映射
即列族可以包含多个子列族
子列族可以包含多个列
同一个列根据时间戳
可以映射到多个行
谷歌公司的BigTable
开源的HBase等都是基于
列存储的NoSQL数据库
那么我们具体来看一下
HBase数据库的实现
HBase是BigTable的开源实现
采用了基于Colunm Family的数据模型
表中有两个列族
分别是cf1和cf2
列族cf1中只有一个列
就是column1
列族cf2中包含两个具体的列
column2和column3
根据不同的时间戳表示
Key值为
row2的列名为
column1,column3的数据有三个
在动态的云环境中
这样的设计能够维护数据的历史信息
便于数据的回溯
列存储数据库针对Key值的查询性能很高
但是
由于该类数据库的物理存储
也是按列族连续存储的
这使得针对列的查询效率高
针对行的查询效率则受到了较大影响
第三种NoSQL数据库是文档数据库
文档数据库的基本数据模型
同样是Key-value模型
但是
在文档数据库中
键值Key指向的是一个文档
文档以半结构化的格式进行存储
例如JSON格式
通过Key访问到的是一个数据对象
使得编程人员
不必考虑复杂的存储结构
采用面向对象的程序语言
就能够方便的读取数据
典型的文档数据库包括MongoDB
CouchDB[78]等
那么第四种NoSQL数据库是图形数据库
与行、列式存储的数据库系统不同
图形数据库直接采用
图结构来存储和描述数据
因此
图形数据库在存储模型
物理设计
查询处理
事务管理等方面
都明显区别于其他的数据库系统
图形数据库主要应用于社交网络
药物分子分析等领域
Neo4J[80]
Hyper Graph DB[83]等
都是目前受到广泛关注的图形数据库系统
总之
NoSQL数据库没有统一的
严格的数据模型定义
在Key-value模型的基础上
不同类型的NoSQL数据库
提出的数据模型各异
但是
它们都保证了高度的可扩展性
NoSQL数据库也存在自己的不足之处
由于采用非关系数据模型
因此
它不具备高度结构化查询的特性
在复杂查询方面的效率不如关系数据库
而且也不支持事务的ACID性质
近几年
NewSQL数据库开始逐步升温
NewSQL是对各种新的可扩展
高性能数据库的简称
这类数据库不仅具有
NoSQL数据库对海量数据的存储管理能力
还保持了传统数据库支持ACID和SQL的特性
不同的NewSQL数据库
内部结构差异很大
但是
它们有两个共同的显著特点
一是都支持关系数据模型
二是都使用SQL作为其主要接口
目前典型的NewSQL数据库系统包括
Spanner
微软公司的SQL Azure
亚马逊公司的RDS等等
好了
同学们
《数据库概论》课程到这里就结束了
同学们下来一定要多加学习
因为
数据库技术在不断发展
当前
正是一个充满了挑战和机遇的时代
希望同学们在数据库领域不断探索
收获更多新的突破
-数据库概述
--Video
-导论--数据库概述
-1.1 数据库基础
--Video
-第一章 数据库基础--1.1 数据库基础
-2.1 CAP数据库
--CAP数据库
-第二章 关系运算--2.1 CAP数据库
-2.2 自然关系运算1
-- 自然关系运算1
-第二章 关系运算--2.2 自然关系运算1
-2.3 自然关系运算2
--自然关系运算2
-第二章 关系运算--2.3 自然关系运算2
-3.1 SQL概述
-- SQL概述
-3.1 SQL概述--作业
-3.2 数据定义DDL
--数据定义DDL
-3.2 数据定义DDL--作业
-3.3 SQL数据更新DML
-3.3 SQL数据更新DML--作业
-3.4 复杂SQL查询操作1
-第三章 结构化查询语言SQL--3.4 复杂SQL查询操作1
-3.5 复杂SQL查询操作2
-第三章 结构化查询语言SQL--3.5 复杂SQL查询操作2
-4.1 数据完整性
-4.1 数据完整性--作业
-4.2 完整性约束
--完整性约束
-4.2 完整性约束--作业
-4.3 外键约束
--外键约束
-4.3 外键约束--作业
-4.4 触发器
--触发器
-4.4 触发器--作业
-4.5 视图
--视图
-4.5 视图--作业
-4.6 安全性
--安全性
-4.6 安全性--作业
-5.1 索引
--Video
-5.2 B+树索引
--Video
-6.1 函数依赖
--Video
-6.2 Armstrong公理
--Video
-6.3 无损分解
--Video
-6.4 范式举例
--Video
-6.5 三种范式
--Video
-6.5 三种范式--作业
-7.1-E-R模型概述
--E-R模型概述
-7.2 E-R模型详解
--Video
-7.3 E-R模型的拓展
--Video
-7.4 E-R模型实例分析
--Video
-8.1 事务的ACID性质介绍
--ACID介绍
-8.1 事务的ACID性质介绍--作业
-8.2 事务经历
--事务经历
-8.2 事务经历--作业
-8.3 可串行化调度和前趋图
-8.3 可串行化调度和前趋图--作业
-8.4 两阶段封锁
--两段锁协议
-8.4 两阶段封锁--作业
-8.5 隔离级别
--隔离级别
-8.5 隔离级别--作业
-8.6 事务恢复
--事务恢复
-8.6 事务恢复--作业
-9.1 数据库使用介绍
--数据库使用介绍
-9.2 Java访问数据库
-9.2 Java访问数据库--作业
-10.1 数据库新技术概述
--Video