当前课程知识点:数据库系统原理与开发 >  第7章 NoSQL数据库技术 >  7.2 列存储数据库 >  7.2.2列存储数据库-2

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

7.2.2列存储数据库-2在线视频

下一节:7.3.1 键值对数据库-1

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

7.2.2列存储数据库-2课程教案、知识点、字幕

实际上就是表、行、行键、列族、列、版本、单元

今天我们这一节学习HBASE的存储架构和fHBASE的系统架构

以及相关的部件

第一个我们存储结构的一些含义

所有的数据库的存储模型是我们的

逻辑结构和存储数据要有一个一一的对应关系

我们的表是由行和列列是由列族

表是基于行键、列族、列限定符和时间版本组成的

所以说空值不会被存储

有了这个概念以后我们看一下

下面一个就是我们的键值

每每一个键值要维护一个多级的索引,这个索引它包括键、列族

列名、时间戳

在物理存储上,我们上对应到我们的物理模型

要对应到我们的物理文件的存储过程上,所以说下面我们来看一下他在物理存储

首先第一个我们表中所有的行是按照行键的字典顺序来进行排列的

表中的所有在行的方向,我们可以分成多个区域region

每一个区域是按照大小分割的每一个表只有一个区域,我们随着数据的增大

数据的增多,我们区域也在不断扩大,到一定阈值的时间

一个区域就会分成两个,最后就会越来越多的区域

区域是我们Hbase里头分布式存储和负载均衡的一个最小单位

不同的区域是分布在不同的区域服务器上的

我们看一下这边有一个存储结构

每个表1个表里头可以有很多个区域

每个区域里头我们看有很多个store

每个store里头有一个memstor作为缓冲

还有个storefile这个就是它的存储结构图

有了这个存储结构,是让我们来对每一个存储的部件来做一个相关的介绍

表使每一个表我们看一下,是按行键次数排列的,分在区域里头

每一个区域里头就有若干有表的若干行

还有一个,每一个区里头有多个石头,每一个石头就保存一个列族

storefile是用我们

hfile是我们的分布式文件系统的格式来存储的这些

附件最后一个storefile这个思想,我们看一下,因为他是在

分布式文件系统汕头,所以说它是直接对应的物理的存储

对于我们数据块,还有我们的用户自定义的键值对

还有我们文件信息,还有我们的数据索引

还有最后我们的原数据索引最后才是我们的一个

存了多少数据的一个数据量,这个就是我们最后的落在一个

磁盘文件删除的所有信息

我通过这些信息可以找到一个对应词盘文件

我们的表和区域的关系是一对多的

我们的区域和石头的关系也是一对多的

每一个区域可以包含多个石头,一个mery和其他的hstore

还有store和hfile的关系,也是每一个石头有一个mery和多个hfile

我们在我们的客户端进行数据写的时间

先写的还充满memstore,然后让缓冲达到一定程度的时间

我们就写到hfile里头去

这个就是这个存储的层次关系

系统的架构也就是我们前面说的可扩展

就是用集群的方式来扩展

集群的方式,实际上我们就需要一个整个系统的分布式的一个数据库

首先我们有一个管理者

zookeeper管理者,另外还有一个我们在

因为我们在价格层面,我们要有master

要有主服务器和区域服务器

所以说我们这边实际上我们整个的架构就是有一个集群

有我们的主服务器、区域服务器和协调者服务器三部分组成

下面是一个我们的系统架构图

我们看一下我们的区域服务器,实现我们的主服务器

区域服务器其实是我们hbase的一个中心

然后底下是我们的hdfs就是分布式文件系统

还有我们的zookeeper,是我们的协调者,下面我们对每一个

服务器的功能做一些简单的介绍下

我们的主服务器就是管理我们的区服务器

指派去服务器,还有恢复失效的区服务器

负载均衡和修复我们的区域服务器

我们在监听我们协调者的状态

最后负责分配我们的区域服务器

还有我们多个码子的供词的时间

我们要有一个只有一个master,当然在其他

在正在工作的master失效的时间,我们会生成一个新的master

这个就是我们的主服务器的功能

下面是区服务器

负责维护我们区域的合并与分割,负责我们的数据持久化

还有管理表格,实现我们的读写操作

最后我们客户端直接和这个区域服务器联系,来获取我们hbase里头的数据

下一个服务器是我们的协调者服务器

我们来看一下这个协调者,就是要保证任何时候及群里头只有一个master

而且存储我们所有的区域的存值入口

还有一个,我们要管理,我们去服务器的上线下线啊

这些过程要通知我们的

主服务器存储我们所有hbase定义

表格列族等等,还有一个

如果在

这个多个master多个主服务器的状态下

我们只能保证只有一个主服务器在运行

负责我们区域服务器的一些注册啊

还有一些命名啊,状态同步机群管理配置

同步等等相关的工作

在我们构架里头有一个我们的客户端客户端实现就是发请求了

我们通过我们的api,包括我们访问hbase的接口来维护

一些缓冲对hbase进行访问

来操作我们所有hbase图的数据

还有我们区域服务器通讯

这些数据的读写

管理服务器内部来看一下

在数据库存储的底层用户,所有的数据是存储在分布式

文件系统里头,所以说在这个区服务器里头

一定要包括和底层数据打交道的,所以说这边就有我们的日志文件

我们的缓冲文件,还有磁盘文件来组成的

我们看一下这个整体的组件图

这个是我们客户端,通过我们的区域服务器来找到我们相关的区域

最后这个区域是对应每一个石头每一个石头有memstore

关键我们现在我们主要要考虑的就是我们的日志文件的一个作用

所以说对这个日志文件,因为我们要用做灾难恢复

所以日志是要记录我们所有的数据变更

还有我们这个日志文件,实际上是一个先写日志

后写磁盘的一个文件,意思就是说,在所有的数据操作的过程中

先把日志写好以后,再把这个数据写到磁盘上头

如果出现问题就可以拿这个日志文件来恢复

日志文件的数据来进行恢复,保证数据的一致性

日志文件,我们可以定期的删除旧的日志

所以说对这个日志文件,我们看每一个区域文件要有一个日志

而且他这种是每一个region里头把所有

在发生的信息都记录的日子里头,包括我们都表名区域名序列号和时间

所以说这个日志文件以为是最开始写的缓冲区里头

从缓冲区里头填满以后我们要把这个日志文件写到磁盘上去

当然就是日志文件也有一个,我们的缓冲区中的文件要不断的显示

所以要把旧的不断的覆盖新的再加上去

这个就是两个所有的东西,所以说

最后我们来总结一下,我们hbase的逻辑结构

我们的存储结构就包括我们的

区域,我们的石头,我们的h文件,还有我们的体系结构,

应该是由我们的主服务器区域服务器,我们的协调者服务器我们的

客户端和我们的日志来组成整个系统的构架

整个我们日志的管理机制,实际上我们是日志,是先写的组成上

到这个组成填满以后到一定的极致,我们来把它写到外床上

而且还可以通过这个覆盖的方式,滚动的把日志写到组成三个区

这个就是日志的作用

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

第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.2.2列存储数据库-2笔记与讨论

也许你还感兴趣的课程:

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