当前课程知识点:数据库系统原理与开发 >  第7章 NoSQL数据库技术 >  7.1 NoSQL数据库概述 >  7.1.1 NoSQL数据库概述-1

返回《数据库系统原理与开发》慕课在线视频课程列表

7.1.1 NoSQL数据库概述-1在线视频

下一节:7.1.2 NoSQL数据库概述-2

返回《数据库系统原理与开发》慕课在线视频列表

7.1.1 NoSQL数据库概述-1课程教案、知识点、字幕

同学们大家好

我是第七章NoSQL数据库的

主讲教师张凤荔

现在我们开始学习相关的内容

今天是NoSQL数据库的的第一节

NoSQL数据库概述

我们今天的专题是

来分析一下传统数据库的局限性

本节学习的目标有三个

数据库管理的目标和内容

还有关系数据库局限

以及我们分布式大数据处理

下面我们就从第一个问题来看

数据库管理的目标与内容

这个我们看一下

这个在新的应用领域催生了

数据类型多样化

数据库中处理的数据

不仅是传统的

数字 字符 文本等

还需要视频 音频 图形 图像

动画 HTML/XML 流数据等

更复杂的类型来表达不同的应用

从数据结构设计上来看

新的应用需求要求表现在数据结构

需要结构化 半结构化 非结构化等

各种结构来表示应用的数据

新的应用对数据存储

提出了更多的要求

存储的数据结构和方式

面向不同的应用的

列式存储 图存储 文档存储等等

存储位置透明

而且存储量也等

都要满足海量数据的要求

查询结果以及其数据的存储结果

都要有多维性特征

可以从不同的角度

不同的时间粒度

不同位置粒度

不同关系粒度

和数据的关联方式等

对数据进行多特征的描述

在新的应用领域

数据操作需要满足在数据库中

数据不仅包含通用意义下的

插入 删除 修改 查询等

还需要互操作

例如视频快进 关系图的操作

区域性的操作等等

主动性操作 领域搜索浏览 时态查询等

都要能够进行自定义操作

各种数据统计分析 分类 聚类

预测 离群点发现等操作

计算机和网络技术的不断发展

使数据库技术

不断扩展在各个领域的应用

新的行业也不断出现

数据库的其他需求也必须满足

不断发展的新的应用领域的需求

下面我们的第二个问题

关系数据库局限性

关系型数据库管理系统面临的挑战

因为在关系数据库里

我们用二维表的方式

来存储数据和数据之间的关系

面临新的挑战

网络网格计算 云计算等

提供了网络环境下

数据库的透明存储和处理

数据库技术要和网络技术

紧密相结合

存储价格下降和容量的巨大提升

互联网应用的发展 数据之间的

关系越来越复杂

表达的关系也越来越丰富

在我们的太空探索 生物工程

基因工程等科学研究的数据处理

显然我们的关系数据库

是不能够满足这些需求的

在关系数据库上

进行大规模的事务操作

要解决读操作 修改操作等的

性能问题

网络环境下数据的

分布存储和大量的新事物操作

需要快速的响应

高效的处理才能保证

数据的持久性和可靠性

如何通过大量节点的并行操作

实现大规模数据的高效处理

面临着海量数据

处理方式 存储规模

交互通讯 智能分析等的问题

第二点海量数据的

高效存储和处理

在互联网环境下

各种应用层出不穷

任何一个互联网的应用

都是信息的提供者

任何一个互联网的普通用户

都是信息的提供者

用户可以根据自己的兴趣

或为满足自己的需求

可以在网上提供相关的

生活 学习 交友等

多方面的信息

所以说就产生了海量的数据

对这些数据要进行存储 处理

这个是关系数据库不能做到的

第三点数据库高扩展

和高可用性的需求

在云计算环境下

我们通过互联网

和定制IT的资源共享

按需付费的方式提供服务

使用网络 服务器 存储 应用等

这些在云计算环境下含有

虚拟化 分布式文件系统

分布式数据库 资源管理技术

能耗管理技术等

通过网络以按需

易扩展的方式获取所需的资源

对海量数据的存储和处理

下一点

在处理WEB2.0网站的时候

特别是超大规模

和高并非式社交网络类的网站

需要我们高性性能的要求

主要表现在

主从分离 分库 分表

缓解写的压力 增加读的扩展

高存储表现在海量存储

来缓解数据增长压力

高可用性和高扩展性表现在

我们可以发展

主从 控制 复制等功能

所以基于上面的要求

分布式数据库可以来解决

分布式数据库是

网络和数据库的结合

对上面的问题

提供一个可行的解决方案

第三个问题我们就是

分布式大数据的处理

在这个里面

我们分四个方面来介绍

分布式大数据处理方面的问题

一个是分布式的文件系统

分布式数据库 大数据

分布式大数据

第一个分布式文件系统

分布式文件系统是指

文件系统物理存储资源

不在本地节点上

而是通过计算机网络和节点相连

分布式文件系统

是可以通过单点访问

后台是一个整体的逻辑结构

来支持用户可以透明的访问

系统中的任何文件

分布式系统

将统一网络中的不同计算机上的

共享文件夹组织起来

形成一个

单独的 逻辑的 层次式的

文件共享系统

下面分布式文件系统的特点

第一个特点它的高可靠性

表现在云存储系统支持多个节点

保持多个数据副本的功能

以提供数据的高可靠性

第二点高访问性

根据数据的重要性和访问频率

将数据分级多个副本存储

热点数据并行读写

提高访问效率

在线迁移 复制

存储节点支持

在线迁移 复制 扩容

不影响上层应用

自动负载均衡

使可以根据当天系统的负荷

将原有节点上的数据

迁移到新增的节点上

将有的分片存储

用快为单位作为最小的存储单位

为提高存储和查询的效率

元数据和数据分离

我们可以定义用元数据

来定义数据的数据

根据这些定义的数据

对各种数据进行存储和存储管理

下一个分布式数据库系统

分布式数据库实际上

是我们的数据库技术

和网络技术

的一个结合

它是随着地理上

分布着不同物理位置上的用户

对数据库共享的要求

结合计算机网络技术的发展

使数据库系统上

产生和发展了分布式系统

分布式系统有它的思想

是将数据分散存储

海量数据逻辑分片

存储容量大 并发访问量高

我们这个图是给出了

分布式数据库系统的一个体系结构

我们所有的数据库

是通过网络来进行访问的

每一个数据库节点

包括了全局数据库系统

局部数据库系统

还有网络系统

每个节点提供节点自治

提供自己的服务

下面我们来分析一下

分布式数据库系统的特点

第一个特点是数据的物理分布性

数据库中的数据

不是集中存储在

一个场地的一台计算机上

而使分布在不同场地的

多台计算机上

数据的逻辑整体性

数据库在物理上是分布的

它们在逻辑上是相互联系的整体

它不同于通过计算机网络互连的

多个独立的数据库系统

数据的分布独立性

也称我们分布透明性

分布式数据库

除了数据的物理独立性

和数据的逻辑独立性外

还有数据的分布独立性

场地自治和协调

系统中的每个结点都具有独立性

完成局部的应用

每个结点又是整个系统的一部分

通过网络处理全局的数据

数据的冗余及冗余透明性

分布式数据库中存在适当冗余

以适合分布处理的特点

提高系统处理效率和可靠性

下面我们来讨论一下

大数据的一个特点

大数据实际上就是

我们的海量数据加复杂计算

大数据的5V特征

第一个特征是超量

第二个高速 异构 真实 价值

下面我们分别对这几个特性

作一个解释

超量Volume这个就是说数据量大

大数据的起始单位

计量单位至少是

P(1000个T) E(100万个T)或Z(10亿个T)

而且种类繁多

种类繁多就是数据的类型繁多

包括网络日志 音频 视频 图片

地理位置信息等等

多类型的数据对数据的处理能力

提出了更高的要求

第三个是价值密度低

是说数据的密度相对较低

如随着互联网的广泛应用

信息感知无处不在

信息的海量

但有价值的密度较低

如何通过强大的及其学习算法

更迅速的完成数据的价值提纯

是大数据时代存的一个解决的难题

下面一个是时效高

使大数据处理速度快

时效性要求高

而且这些数据

产生于我们日常的生活中

第五个特征价值

就是如何在大数据里

找到一些 发现一些知识

发现大数据的价值

这也是大数据时代

对人类数据驾驭能力

提出了新的挑战

也为人们获得更为深刻的

全面的洞察力

提供了全所未有的空间和潜力

下面一个我们来看一下

大数据的挑战

第一个就是

数据的异构性和不完备性

在大数据环境里面多种多样

图 文 声相貌的数据并存

而且数据的收集和产生

可能有很多不完备性

数据处理的时效性

很多数据是在某一个时刻发生

过了这个时刻

这个数据就没有用了

数据的安全与隐私保护

这个是在网络环境下

数据的安全和我们个人的隐私

这也是非常重要的

大数据的能耗问题

因为大数据需要

大量的计算资源进行处理

所以能耗也是

一个非常重要的一个问题

大数据管理易用性问题

大数据环境下

我们在不同分门别类

不同应用 不同产品的

数据的管理

提出了不同的要求

这样对它的易用性很难保证

这个对所有的环节都是适用的

所以易用性问题

也是一个非常重要的挑战

所以说有了这些问题

我们的数据库技术

就要在这个基础上

来进行易扩展

在处理灵活的数据模型

高可用 大数据量 高性能方面

提出我们新的解决方案

下面我们来看一下分布式大数据

分布式大数据实际上

也就是在我们大数据时代的一个

另外的一个要求

海量数据存储的关键技术

包括我们的数据的划分

分布式数据的一致性

可用性 负载均衡 容错处理

虚拟存储和云存储等

要求我们在分布式数据库的基础上

具有更高的数据访问速度

更强的扩展性和更高的并发控制

对可用性 一致性

高并发 高容量等的平衡

在我们大数据里面如何来考虑

由于这些问题我们进入大数据时代

我们的NoSQL提出了

一个新的解决方案

Nosql数据库

它的特点易扩展

灵活的数据模型

而且高可用

可以处理大数据量

而且性能比较高

所以说它是在

基于分布式数据库的基础

对高扩展性和高并发性

高可用性特征进行扩展

可以响应大规模用户的读/写请求

对海量数据可以进行随机读/写

而且还提供容错机制

实现对数据的冗余备份

保证数据和服务的高度可靠性

下面我们来看一下

NoSQL的基本的一些特点

也是面对海量大数据的存储和管理

需要对关系数据库进行扩充

还有它的

数据模型板简单

而且它是可扩展

避免复杂对象操作

元数据和应用是分离的

可以实现高水平的扩展

和低端硬件集群

最后它是实现了弱一致性

这个我们会在后面详细说明

数据库系统原理与开发课程列表:

第1章 数据库系统概论

-1.1 数据库及其系统概念

--1.1 数据库及其系统概念

-1.2 数据库技术发展

--1.2 数据库技术发展

-1.3 数据库应用系统

--1.3 数据库应用系统

-1.4 典型数据库管理系统

--1.4 典型数据库管理系统

-1.5 PostgreSQL对象-关系数据库系统软件

--1.5 PostgreSQL对象-关系数据库系统软件

-第1章 数据库系统概论--本章单元测试

-第1章 数据库系统概论--本章重点问题讨论

第2章 数据库关系模型

-2.1 关系及其相关概念

--2.1.1关系及其相关概念-1

--2.1.2关系及其相关概念-2

-2.2 关系模型原理

--2.2.1关系模型原理-1

--2.2.2关系模型原理-2

-2.3 PostgreSQL数据库关系操作实践

--2.3 PostgreSQL数据库关系操作实践

-第2章 数据库关系模型--本章单元测试

-第2章 数据库关系模型--本章重点问题讨论

第3章 数据库操作SQL语言

-3.1 SQL语言概述

--3.1 SQL语言概述

-3.2 数据定义SQL语句

--3.2.1数据定义SQL语句-1

--3.2.2数据定义SQL语句-2

--3.2.3数据定义SQL语句-3

-3.3 数据操纵SQL语句

--3.3 数据操纵SQL语句

-3.4 数据查询SQL语句

--3.4.1单表数据查询

--3.4.2 内置函数与分组统计

--3.4.3 多表关联查询

-3.5 数据控制SQL语句

--3.5 数据控制SQL语句

-3.6 视图SQL语句

--3.6 视图SQL语句

-3.7 PostgreSQL数据库SQL实践

--3.7 PostgreSQL数据库SQL实践

-第3章 数据库操作SQL语言--本章单元测试

-第3章 数据库操作SQL语言--本章重点问题讨论

第4章 数据库设计与实现

-4.1 数据库设计概述

--4.1 数据库设计概述

-4.2 E-R模型方法

--4.2.1 E-R模型方法-1

--4.2.2 E-R模型方法-2

-4.3 数据库建模设计

--4.3.1 数据库建模设计-1

--4.3.2 数据库建模设计-2

-4.4 数据库规范化设计

--4.4.1 数据库规范化设计-1

--4.4.2 数据库规范化设计-2

-4.5 数据库设计模型SQL实现

--4.5 数据库设计模型SQL实现

-4.6 基于Power Designer的数据库设计建模实践

--4.6 基于Power Designer的数据库设计建模实践

-第4章 数据库设计与实现--本章单元测试

-第4章 数据库设计与实现--本章重点问题讨论

第5章 数据库管理

-5.1 数据库管理概述

--5.1 数据库管理概述

-5.2 事务管理

--5.2 事务管理

-5.3 并发控制

--5.3.1 并发控制-1

--5.3.2 并发控制-2

-5.4 安全管理

--5.4.1 安全管理-1

--5.4.2 安全管理-2

-5.5 数据库备份与恢复

--5.5 数据库备份与恢复

-5.6 PostgreSQL数据库管理项目实践

--5.6 PostgreSQL数据库管理项目实践

-第5章 数据库管理--本章单元测试

-第5章 数据库管理--本章重点问题讨论

第6章 数据库应用编程

-6.1 数据库连接技术

--6.1.1 数据库连接技术-1

--6.1.2 数据库连接技术-2

-6.2 数据库存储过程

--6.2 数据库存储过程

-6.3 数据库触发器

--6.3 数据库触发器

-6.4 数据库游标

--6.4 数据库游标

-6.5 嵌入式SQL编程

--6.5 嵌入式SQL编程

-第6章 数据库应用编程--本章单元测试

-第6章 数据库应用编程--重点问题讨论

第7章 NoSQL数据库技术

-7.1 NoSQL数据库概述

--7.1.1 NoSQL数据库概述-1

--7.1.2 NoSQL数据库概述-2

--7.1.3 NoSQL数据库概述-3

-7.2 列存储数据库

--7.2.1列存储数据库-1

--7.2.2列存储数据库-2

-7.3 键值对数据库

--7.3.1 键值对数据库-1

--7.3.2 键值对数据库-2

--7.3.3 键值对数据库-3

-7.4 文档型数据库

--7.4.1文档型数据库-1

--7.4.2文档型数据库-2

--7.4.3文档型数据库-3

-7.5 图形数据库

--7.5.1图形数据库-1

--7.5.2图形数据库-2

--7.5.3 图形数据库-3

-7.6 HBase数据库项目实践

--7.6 HBase数据库项目实践

-第7章 NoSQL数据库技术--本章单元测试

-第7章 NoSQL数据库技术--本章重点问题讨论

期末考试

-期末测试--期末测试

7.1.1 NoSQL数据库概述-1笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。