当前课程知识点:高级大数据系统 >  Graph Processing >  What is GraphDB and Graph data processing >  Video

返回《高级大数据系统》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《高级大数据系统》慕课在线视频列表

Video课程教案、知识点、字幕

各位同学

大家好

我们之前讲的这个

分布式文件系统

讲了这种大数据的一些的模型

以及我们讲了这种

基于这个分布式文件系统

和大数据的这种并行计算的

这种nosql的这样一个模式

那今天我们会来讲一个

特别的这种大数据类型的

一个处理

那么叫做这种图的数据

那么我们会具体去介绍这个图的

这种大数据的数据库

以及图的这种数据

它的一些处理的模式

那我们介绍的内容大概是这样的

我们会首先去介绍图的数据库

以及图的数据的处理的模式

对于这些模式

它的这种大数据系统

它有哪一些这种资源的需求

它进行了什么样的优化

那么我们通过两个具体的实例

一个叫做Neo4j

他是一个图的这种数据库

我们看它引入了什么样新的

这种数据库的语言

什么样的这种数据查询的特征

另外一个叫做GraphLab

它是一个图的这种数据处理的

一个引擎

我们看到在分布式的这种环境下

怎么样对图这种类型的数据

进行有效的这种任务的拆分

以及资源的分配

那么我们为什么

在大数据系统里面

会去特别的把图的这种数据

拿出来做分析

为什么之前这种关系数据库

或者说是这种基于表格的

这种数据类型对图的处理

还不够

我们还需要引入这种新的

这个单独的一个这个模块

来介绍图

那么这个原因最主要的就是

图数据

它的这个量非常的大

同时它使用的环境

使用的这个场景

非常的多

我们来看一些具体的场景

首先就是我们整个这个internet

那么我们今天所使用的网络

实际上它本身是一张图

端到端

他们可以通过ip的路由

然后能够到达

我们在网络上使用的这个web

它是一张图

通过Page Rank

或者是其他更加先进的

这样一些图的算法

把它们连接到了一块儿

那么我们今天所使用的

这个更新的这种社交媒体

它基于社交网络

而社交网络它是一张图

记录了人和人之间的这种关系

是朋友或者说是这个粉丝等等

这样的一些关系

那么这种关系实际上他并不是

特别合适

用我们原有的这种关系的

这种数据或者说表格的这种数据

来进行记录

那么他们也不适合被抽象成

key和value这样的形式

来在传统的这种nosql里面

进行一个查找

那么由于图的算法它

变得越来越复杂

所以需要这样的一些新的

这种考虑来处理这样的一个数据

那么internet实际上是

其中典型的这样一个例子

那么第二个例子就是我刚刚说到

这种社交媒体

它记录了人和人

人和内容这样的一些关系

那么这些关系也是在传统的

这种算法底下

不是不能够非常有效的得到处理

这样的一种模式

那么还有一些和图看起来

并不是密切相关

但实际上它的这个本质是

一系列图问题的这种系统

比如说这个推荐系统

推荐系统

我们是要决定将什么样的

这个物品给到什么样的人

这样的一个过程

那么当你把这个物品推荐给

这个人之后

我们希望这个人

这个用户接受你推荐的物品的

这个可能性尽可能的高

那么它从这个解决问题的

一个角度

我们是可以把这样的一个问题

抽象成一个图的一个问题

我们可以建立用户物品的

这样一个观念的结构

然后通过图的一些挖掘来找着

什么样的人对什么样的物品

是最有可能感兴趣的

那么这是一些比较隐含的

可能可以用图的这个方法

来解决的一些场景

那么我们说今天我们会去介绍

图的这种数据

它怎么样去存

怎样去查

具体来说是一个图的数据库

我们还会去介绍图的数据

到底怎么样去处理

图的算法到底怎么样去实施

那我们来看图的数据库

它具有一些什么样的特性

首先这个数据库

不再是去对key value

或者对行这样的数据

进行一个操作

而是对关系进行这样的一个操作

那么它要能够在

这个关系的挖掘中

有比较好的这样一个性能的保证

它要能够对某一些路径进行挖掘

它可能还需要对这个图的

一些结构

比如说整个图里面

有没有一些关键的节点等等

这样的算法进行一个支撑

那么这是图的一个这种数据库

它需要达到的一些目标

那么这边给了一个例子

来说明关系数据库

和图的这种数据库

它会有什么样的差别

比如说关系数据库

我们可以对关系进行查询

比如说我们卖得最好的书

是什么样的书

每一本书卖多少本

那么这是一种关系的一个查询

那么对于图的这种数据的

一个查询

它大概是什么样呢

我们能够推测出某一本书

是不是合适

卖给某一个人

那么它是人和书的一个图的

这样一个结构

那么通过图的挖掘

我们可以回答这样的问题

那么图的这个数据从这种

数据的呈现上

它大概是这样的一个特征

那么我们有一系列的节点

比如说这是一个社交网络的例子

我们有一系列的人

作为这个图的节点

那么人和人之间会有关系

这个关系是认识或者是不认识

不认识那么他们中间没有连接

认识的话

他们中间会有一个连接

那么这些连接和节点

就构成了一张图的结构

那么当我们要对这个图进行处理

如果我们没有一个具体的图的

这个数据库的时候

实际上我们依然会把它给转变成

这样的一个结构

也就是说

我们会用表格去记录节点

记录这个图中的一些边

那么这样的一个结构

它的缺陷

就是说当我们的图

变得越来越复杂

越来越大的时候

我们的这种记录也会

变得越来越多

那么它和边的数量是一致的

那么当我们想在上面去进行

一定的这种算法的时候

实际上它并不是一个非常直接和

非常简单的这样一个的过程

我们可以看到

当我们用关系数据库

对图进行记录的时候

实际上我们中间需要记录的

这种关系就需要单独的一个表格

来进行处理

而这个表格其实它并没有一些

没有一些好的特征

比如说我们对某一个节点

进行便利的时候

实际上这个操作

并不是那么的顺畅

可能我们需要跨越整个关系的

这个表

才能够把和当前用户相关的

这个关系给抽取出来

而如果我们能够建立起一个

具有拓扑结构

能够很容易看清它的拓扑的

这样一个样子的时候

实际上我们可能可以获得更好的

这种数据处理的一个模式

那这是我们进行图的这种数据库

搭建的最开始的一个目标

我们希望能够把这种拓扑

和整个数据库

做一个深度的一个融合

那么我们能够满足路径的搜索

满足关系的挖掘

满足关键节点的提取

这样的一系列的

这种比较具体的这种任务

那么为了实现这个目标

实际上

有一系列的系统被设计出来

这边我们列了一些

那么它们来自工业界

也来自学术界

那么有这样的一些图的系统

当然今天这种图的系统

它的类型变得越来越多

也有越来越多的这个人

参与到这种开源的图的数据库的

这个开发当中

这里面典型的包括了

我们今天会介绍的graphLab

在学校里面产生出来的一个图的

这种分布式计算的一个引擎

以及Neo4j

一个工业界来的

对图的这种数据库的

一个支持的一个平台

能够提供新的编程环境

和编程语言

让我们能够对图这种数据

进行查询

提供到了一些独特的这种

针对图的查询环境

高级大数据系统课程列表:

Introduction to Big Data Systems

-What is big data and what is big data system?

--Video

-Problems in big data systems?

--Video

-Overview of the course

--Video

-Principles of big data system design

--Video

Basics of Linux Data Processing

-Manipulating Data on Linux

--Video

--Video

--Video

-Basics of Linux Data Processing--Manipulating Data

-Running Commands on a Single Machine

--Video

-Running Commands on a Single Machine--作业

-Using a Linux Cluster

--Video

-Using a Linux Cluster--作业

Distributed File System

-Storage for Big Data Computing: Distributed file system

--Video

-Storage for Big Data Computing: Distributed file system--作业

-File system and GFS

--Video

-File system and GFS--作业

-Understanding HDFS using Legos

--Video

-Understanding HDFS using Legos--作业

-File System Implementation and DFS

--Video

--Video

-File System Implementation and DFS--作业

MapReduce

-What is MapReduce and why

--Video

-What is MapReduce and why

-Learn MapReduce by playing with cards

--Video

-Processing pattern

--Video

-Processing pattern--作业

-Hadoop

--Video

-Hadoop--作业

-Algorithms in MapReduce

--Video

-Algorithms in MapReduce--作业

-Tutorial

--Video

In-memory Processing

-Background

--Video

-Background--作业

-Spark

--Video

-Spark--作业

-Use Spark for data mining

--Video

-Use Spark for data mining--作业

-Spark data processing

--Video

-Spark data processing--作业

-Experiment in Spark

--Video

-Experiment in Spark--作业

Streaming Data Processing

-Introduction to streaming data processing

--Video

-Introduction to streaming data processing--作业

-Storm

--Video

--Video

--Video

-Storm--作业

-Spark streaming

--Video

--Video

-Spark streaming--作业

NoSQL

-NoSQL introduction

--Video

-NoSQL introduction--作业

-Common Advantages

--Video

-Common Advantages--作业

-Bigtable

--Video

-Bigtable--作业

-Master Startup

--Video

-Master Startup--作业

-HBase

--Video

-HBase--作业

Graph Processing

-What is GraphDB and Graph data processing

--Video

-What is GraphDB and Graph data processing--作业

-Graph systems

--Video

-Graph systems

-Example of a GraphDB

--Video

-Example of a GraphDB--作业

Machine Learning System

-Mahout

--Video

-Mahout--作业

-Case Study: Recommendation

--Video

-Case Study: Recommendatio作业

-Recommendation in Mahout

--Video

-Recommendation in Mahout--作业

Video笔记与讨论

也许你还感兴趣的课程:

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