当前课程知识点:大数据系统基础 >  6. NoSQL >  授课视频 >  数据模型、接口、语言

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

数据模型、接口、语言在线视频

数据模型、接口、语言

下一节:系统架构与Gossip协议

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

数据模型、接口、语言课程教案、知识点、字幕

下面我们来学习

Cassandra的数据模型

接口和访问语言

Cassandra的数据模型

借鉴了谷歌Bigtable的设计

包括四个概念

键空间即Keyspace

相当于关系数据模型当中的

数据库

是最上层的命名空间

列族ColumnFamily

相当于关系数据库中的表

但它比表更稀疏

行Row表示一个数据对象

存在于ColumnFamily当中

列Column相当于属性

是存储的基本单元

Cassandra的主要概念之间的

包含关系如图所示

其中Keyapace中的settings

主要设置副本数量Hash策略等

columnfamily中的settings

主要设置key缓存 读修复的概率

列的排序方式等属性

Column是Cassandra存储的基本单元

它是一个三元组

一般情况下

它不支持基于列值的查询

而在1.1版以后

Cassandra对它的Column

扩展了一个新的属性即TTL

Cassandra中的行有很多列组成

但是注意

同一个列族内不同行的属性数量

可以不同

转化为关系表时会出现空值

列族由行组成

图中这个列族

包括两行数据

第一行包括三列

第二行包括四列

列族中的列

就像儿童的玩具拼插积木

用户可以通过制定

新的三元组名字来动态增加

另外注意在一个列族中的某一行

它的值是根据键值来排序的

这个特性很好地支持了

后面讲到的Cassandra数据

在不同节点上的Hash分布

键空间是列族的容器

一般情况下

一个应用程序只有一个键空间

在这个键空间中

可以包含多个列族

从前面的介绍可以知道

Cassandra系统中

键空间 列族 行和列

与关系模型中的数据库

表 行 列具有较好的对应关系

但是Cassandra模型中的列

可以动态增加

因此更适合弱结构化数据

也就是说

这些数据的模式更加灵活

另外关系模型当中的表

就是一个规整的二维数组

而Cassandra系统当中的列族

本质上是一个嵌套的

键值对的集合

作为NoSQL运动的代表

Cassandra最早

为用户提供了是一个

Thrift框架的API

它包括读操作 写操作

和其它操作三个部分

这要求用户对编程语言

具有较好的知识基础

随着Cassandra应用的进程

用户希望

提高在Cassandra上的编成效率

这时人们发现

简单的丢弃SQL语言是不明智的

因此NoSQL阵营明确提出了

Not only SQL这样的口号

2011年Cassandra

也发布了自己的结构化查询语言

Cassandra CQL 1.0beta版

目前Cassandra

推出了CQL3.1.7版的

Cassandra

为什么要回归SQL语言

主要是因为Thrift的接口

直接暴露了系统的内部存储结构

系统升级后

需要修改相关的应用程序

2011年9月发布的CQL2版本

相对简陋

几乎和Thrift接口一一对应

不支持面向行的操作

和复合类型访问

而最新的CQL3通过采用复合类型

将KV存储映射到一个

更自然的行和列的表示方法

如右图所示

CQL3能够以关系表的形式

返回给用户

查询结果看起来更像关系表了

这里我们给出了CQL3的应用示例

大家看它的语法和语意

基本上符合SQL标准的约定

这里包括创建 使用

和显示键空间

创建列族

以及数据的增 删 改 查等操作

大数据系统基础课程列表:

1. 绪论

-授课视频

--什么是大数据

--大数据典型应用

--大数据的特点

--大数据技术体系

--大数据生态系统

--大数据技术挑战

--课程内容

-1. 绪论--Quiz 1

2.云计算

-授课视频

--2.1大数据和云计算关系概述

--2.2并行化理念

--2.3规模经济理念

--2.4从仓库规模计算机到云

--2.5云计算商业模式概述

--2.6云计算带来的价值

--2.7云计算的分类

--2.8虚拟化技术概述

--2.9计算虚拟化

--2.10网络虚拟化:基础

--2.11网络虚拟化:软件定义网络

--2.12软件定义网络实现

--2.13存储虚拟化:用户接口

--2.14存储虚拟化:分布式存储实现方式

--2.15虚拟化技术总结

--2.16OPENSTACK

--2.17云计算小结

-2.云计算--Quiz 2

3.文件存储

-授课视频

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.文件存储--Quiz3

4. 处理框架

-授课视频

--4.1大数据的处理框架

--4.2MapReduce编程模型

--MapReduce执行过程

--4.4MapReduce数据流

--4.5MapReduce性能优化与容错

--4.6Hadoop

--4.7MapReduce总结

--4.8Pig Latin

--4.9Pig Latin语法

--4.10Pig Latin 嵌套数据类型

--4.11Pig Latin 实现与优化

--Pig Latin 实现与优化(2)

--4.13类似框架

--4.14章节总结

-4. 处理框架--Quiz4

5.内存计算

-授课视频

--5.1内存计算概述

--5.2并行计算挑战

--5.3并行计算的局限性

--5.4大数据处理并行系统

--5.5内存计算需求

--5.6MapReduce文件传递数据

--5.7内存计算的可行性

--5.8内存层次的延迟

--5.9内存计算实例-spark

--5.10SPARK-RDD

--5.11大数据并行系统

--5.12Spark编程接口

--5.13Spark编程实例——Log挖掘

--5.14Spark编程实例——WorkCount

--5.15Spark实现技术

--5.16复杂的DAG示例

--5.17RDD性能的提高

--5.18Spark应用和生态环境

--5.19Spark的局限性

-5.内存计算--Quiz5

6. NoSQL

-授课视频

--NoSQL与Cassandra

--数据模型、接口、语言

--系统架构与Gossip协议

--一致性哈希与数据分区

--数据副本及一致性

--节点本地数据存储

-6. NoSQL--Quiz6

7. 流计算

-授课视屏

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-7. 流计算--Quiz7

数据模型、接口、语言笔记与讨论

也许你还感兴趣的课程:

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