当前课程知识点:数据库系统原理与开发 >  第7章 NoSQL数据库技术 >  7.3 键值对数据库 >  7.3.2 键值对数据库-2

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

7.3.2 键值对数据库-2在线视频

下一节:7.3.3 键值对数据库-3

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

7.3.2 键值对数据库-2课程教案、知识点、字幕

这节我们来学习历史的数据库的结构

以及数据库的相关那些实现的一些基本原理

第一个redis数据库的结构

我们看一下,redis数据库,他是首先要保证

它的存储效率,所以内部他收

维护了一个数据库的数组,每一个数组的每一项都是一个数据库

默认的有16个数据库

完了以后,他下面一个对象率的考虑就是数据的压缩

主要是他要采取一些压缩的算法来减少内存的一些碎片

还有一个快速响应与吞吐率的折中方案,这个时间我们就知道

如果收拾在内存里头存的话,实际上响应比较快

但是内存的容量毕竟是有限的

所以说快速响应和高吞吐量,这个世上要有一些算法来进行折中

最后一个单线程,它实际上是是简化的数据结构的算法的实现

通过我们异步的输入输出和我管道来实现高速的并发访问

只是通过单线程来进行操作的

服务器里的数据库是另一个数组,哪个数字是一个结构,每个数的像是一个数据库

我们看下这个速度向怎么定义,我们看一下实际上

他就是一个是砖结构指针

这个指针实际上就指向一个数据库的一个结构体

整个这个数据库里头应该有哪些内容的话

我们来看一下,实际上就是一个字典

我们的所有数据库对应一个字典

有成一个符号表或者是一个关联数组的一个映射

是一种用于保存我们建筑对的一个抽象数据结构

字典上每一个键是独一无二的,下面我们来看一下字典的定义

词典的定义我们看一下,最左边的这个是要每一个字典

我们定两个哈气都有速度

每一个孩子的宿主怎么定义了每一个行业的数值就有一个表格对应了一个表

每个表有什么定义?实际上就对应他的键我后头来看一下

首先我们看一下这个

这是一个字典表,字典表里头就包括了一个,每一个字变两个哈希表

存储我们的毽值对,而且表里头又有我们的每一个哈希表的项

最后每一项又有我们相关的数据,我们看一下下面是一个图示的结构

字典城市,我们看一下这个数据库,每个数据库有意向这个字典表

这些表里头有两个哈希表

两个哈希表每一个哈希表里头就存储每一个哈希表里头

存储我们相关的数据我们看一下,这个数据就是键值对的数据

每个存储键值对的数据

在这边两个哈希表,一个哈希表我们的数据量

超过我们规定的数量以后,是像我们家把一个差异表分列车分成两个

分成两个,然后再多我们再多进行分裂

这个就是我们整个这个字典顺序的这个结构

首先我们整个数据库是一个字典

有两个哈希表,哈希表里头存我们所有的数据

这个就是我们字典的层次结构

所以有了这个支点,城市结构刚才说过

我们哈希表示下我们会在买的时间

我们要创建一个新的哈希表的时间是大小是当前的两倍

准确的说就是我们一个数据吧,我们还得表填满以后

只要我们需要分裂成两个

这样子就提高了我们的查询效率

实际上具体过程我们在第一个发这表上分配一个更大的一个表

我们多次把我们从第一个表上的所有键值移到我们第二个上头

这样是在原来一个表的值,我们现在分成两个表来存

这样就减少了一半的长度,这样的保证了它的查询效率

这样子处理完以后,我们就所有就怕一个表分成两个了

这样我们整个的速度就保持我们很快的查询速度

下一个就是我们的对象结构,我们都刚才也说过了

在我们数据库里头有五种数据类型

我们有我们的字符串哈希表我们的列表里,list集合和有序集合

每一个这个对象没每一个数据类型都有一种编码方式

这种编码方式,对数据的存储,比如说我向我们的字符串

在很短的时间我们就直接换成一个字符串的结果

通过很长的时间,我们可以通过一个简介表来减少指针

还有对象存储的地方和其他的一些说明

主要是为了提高我们整个的查询效率

有了以后,我们来看一下对象结构的特点

一个我们每一个对象有编码,这个编码显示系统自动生成的

它实际上包括了系统的时间,对象的类型,还有相关的一些

程序的进程的一些id等等

就在对象编码,每一个对象是唯一的

另外一个,我们设置的对象的空转时长,实际上这个对象如果很久没有被人引用的话

我们就觉得他应该是不用了,我就要把他释放出去

另外一个当,如果对象引用计数失灵的话,就基本上没人用他的话

这个我没有把它内存回收

另外给共享对象时间,我们要设置一些共享,有些对象

很多个功能都在用它吧,它就一直保存在内存里头

这样子使我们很快乐,可以找到他

下面来看一下我们整个的实现的

电子数据库的实现的一些原则,这些原则实现,我们刚才已经说过了

还要包括相关的这些存储效率还有一些相应时间

我们可以通过字典来保护数据库的所有键值

实际上我们的刚才给出的字典的结构就是我们建工监理在

空间里的每一个键都是字符串

每一个字也是数据库的词,可以是我们

刚才说的五种类型的任何一种字符串列表

那些表集合有事集合可以是任何一种,我们可以通过我们添加删除更新

还有查找等等的操作这些,坚持读到一个建议后,我们对每一个

我们服务器会更新他的,最近一个读取时间,如果这个件很久没用了

我们始终觉得这件应该是把他

从内存里头移出去,如果

好,我们下面一个备件的管理,我们就要设置,我们见的生存时间和过期时间在我们的

爱建这数据库的时候,用不同的命令可以设置它的生存时间

如果他的生存时间为零的话,我们就可以删除

表示这个键不会被人用了,所以说另外一个我们还有过期字典

记录所有的过期时间的一些见我们,有一个过去吃点,因为这个实际上虽然现在过去,可能以后

还会用到,我们就可以把他的,所以记在这里以后用到的时间可以很快的找到他,完了程序可以通过过去吃点

给定一个键是否过期来检查

给丁健是否存在过期字典并进行判断,进行一些操作,过期以后我们可以把它放到过期字典表里头吹

可以把它放换导卫城外

买三车过去见,第一个策略就是我们定期删除

就是想定时删除,我们可以设置一个定时器,比如说五分钟

十分钟一个小时,我们可以来运行一下,把过去键把它删除,把它移到外存去

第二个是惰性,删除这个时间吧

我们来检查这个件

如果这个件是过期了,我们就把它删除,没用了,当然就不会发现它是不是过期了,这个就是惰性删除

第三种就是定期删除,这个就是每隔一段时间程序就对数据库进行检查,这个一段时间,这个时间和刚才那个定时

这个时间间隔要长一些,这个是根据系统的这种不同的这种要求来进行设置的

下面一个我们看一下,就这句说出的复制功能,它主要包括我们的

就是他一个就傻了

bb的复制和elf的复制,bb的方式就是快照的方式,就是我们定时把数据库的全貌做一个快照

这样子就每次复制的时间就把这个快照进行服务,l是通过

我们发送服务器写操作

命令记录下来,形成elf文件,这个就是实价,就是一个日志文件

空间里的每一个键都是字符串

把它记录下来,形成一个文件

如果我们需要重做复制这些信息的话

下面我们看一下rob,这个复试里头

每次我们就执行特定的命令,创建一个新的文件

那你就过期的键就不保存到我们这个文件,这个实际上是

要不要把整个数据库做一个快照记录下来

如果在载入时间如果我们过去见,就不用再入了

在我们的旅行方式下,我们过去点三出之后我们就

想elf追加一条删除命令

原来这个就是世上所有的,在我们复制的时间是像这种删除命令也就执行了

结果是,就是我们当前的一个

所以说到这儿我们看一下,我们在这个里头我们数据库的结构

我们对五种数据库数据结构呀

在我们的数据库里头,我们实现用字典结构来对这个数据进行存储

在字典结构上,我们只有设计不同的哈希表

对我们的数据库做一个字典,对我们的那个

哈希表做一个字典,对我们的数据内容做一个字典

做一个结构,这样子的存储相关的内容

最后我们的对象吴总,数据对象设置了一些对象的结构

用统一的方式来处理相关的

内容,然后我们的复制规则有两种,rob和aof盘是我们

通过这个故事来保存,恢复我们所有的数据操作

这个也是数据可靠性的体现

还有过期的规则,我们就可以通过数据过期

删除我们的过期数据来保持我们的容量

总量这样子就是为了提高无数的效率来进行的

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

第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.3.2 键值对数据库-2笔记与讨论

也许你还感兴趣的课程:

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