00:01
各位同学大家好,咱们继续来学习RED6,刚才呢给大家引出了no circle这么一个基础概念,那下面呢给大家详细介绍一下no搜数据库到底是什么,它有什么特点,以及一些常见的no so数据库有哪些?那下面给各位来说一下,咱们首先看一下什么是no circle,我这里写到no circle,大家不要理解错,它不是说没有circle,而它翻译过来叫做not only circle不仅仅是circle,它里边就是既有circle还有circle不能解决的这个问题,那我们用no circle都可以做到,叫不仅仅是circle,然而这个no circle咱一般泛指叫做非关键数据库,什么叫非关系数据库呢?各位同学应该学过。关系性数据库,就咱们通俗说的my circlele Oracle等等,关系性数据库里边存的是什么?是不是按照我们的业务逻辑存储有关联的数据啊?而这个非关性数据库里边并不是按照业务逻辑方式进行存储,而是以简单的k value6就是建筑对方式进行存储,而这么做好处是什么?大大增加了数据库的扩展能力,因为它里边就是K和value t value根据K直接取value,提高它的这么一个扩展能力。而这个no circle里边有这么几个特点,大家看一下啊,首先第一个它并不遵循circle的标准,就是它有自己的一套操作,并不是按照咱们的标准的方式进行操作。然后第二个它不支持a cid,这acid不知各位是否知道啊,咱之前说过,事物是不是有四个特性啊?原子性、一致性、隔离性、持久性,就是通俗说的ACD,而我们的no circle并不支持。
01:52
T cid,但是注意这句话不要理解错啊,不是说no circle不支持事物,是它不支持a cid。然后第三个就是用no circle远超于circle的性能,因为它就是KY,不是按照业务逻辑方式存储,所以它的查询效率更高。这是我们提到的no circle一个基本概述。
02:14
然后no circle呢,它有自己的应用场景,因为它不是按照业务逻辑方式进行存储的,所以它的场景跟我们的惯性数据库也有很大的区别,那我们看一下,首先第一个,如果你对于数据啊,做这种高并发的读写,那用no circle是很合适的,第二个如果你做一些海量数据读写,包括对数据的高可扩展性,那这些都是no circle适用的场景。比如说举个例子,比如说我们知道在咱们电商中有一个典型功能是不是叫秒杀功能了,而秒杀功能是不是就是一个高并发的操作,那这个时候用no circle就特别合适,然后这里写到说no circle又有它不适用的场景,比如说你需要事物的支持,另外你这里边需要一些结构化的存储,也是处理一些复杂的关系,那这些用no circle并不合适。然后最终总结就是一句话,这里写的很明确,如果说你在操作中用不着circle,或者说用了circle口也不行的情况,那这个时候请考虑no circle口,就是你用circle解决不了,包括用它也不能解决,这个时候考虑no circle。所以这是我们关于no circle里边一个场景,也如它主要适用于这种高并发或者海量数据操作这些场景,这是我们做个说明。
03:40
然后下面呢,我这里边列出了几种常见的no so数据库,刚才我提到no circle呢,列为是一种总称,而这里边有很多具体的数据库,比如我们学到就是一个典型的no搜数据库,然后这里写到大家看第一个啊,叫做ma catch。Ma是什么呢?就是这个数据库啊,是很早出现一个no缩数据库,它的数据都存到内存中,但是它有一个缺点。
04:09
不能持久化,就是它不能直接存到你的硬盘或者存到文件中,这些都是存到内存中,当你内存比如说这里边,比如你关电脑了,关机了,内存里边数据就不存在了。它也是支持简单的k value6,但是它支持类型比较单一,只支持字母串,别的类型不支持。另外一般作缓的数据库辅助智有化数据库使用,就是它一般要跟我们的my circleq等等惯性数据库一起进行使用,完成它的功能。这是一种比较早期的no数据库,叫ma,但是后来随着发展ma catch呢,这个用的并不多了,后来就出现了red,因为red呢可以这么说,几乎覆盖了ma开里边的绝大部分功能,另外有自己特有功能。跟ma开始相比,它的第一大特点就是支持持久化,比如说咱们可以把数据存到硬盘中,当你关了电脑之后,我数据还存在。另外第二个reddi,除了。
05:09
支持自符串之外,还支持各种数据类型,比如说各位熟悉的list site、哈希等等。另外它也是和我们的惯性数据库一起使用,然后完成一些这样的功能,这叫red。另外还有第三个也很常见,叫做Mo DB。猫DB是什么呢?它是一种叫文档型数据库,什么叫文档型?举个例子啊,各位同学应该知道JA森吧,是不是一种数据格式,而我们这个猫DB它的存储结构跟Jason类似,它是类似于JASON1种格式,所以它里面叫文档数据库,也就是说的通俗点,里边存的数据形式更加的多样,它存的结构可以更加的复杂。另外在猫DB中它也支持二进制数据以及大型对象的存储,所以这个功能也很强大,是一种文档型数据库,所以这些呢,都是一些常见的no数据库,各位给他知道,而我们课程中重点学的就是red这个数据库。
06:14
然后除了他之外,我们继续往下看啊,就是在我们目前呢,我们强调都叫大数据时代嘛,因为目前我们随便一个互联网项目,数据量肯定都是巨大的,那这个时候呢,在大数据时代呢,有这么几种常见的存储方式,我这里列出来的一个叫行式数据库,一个叫做列式数据库,那这两什么意思呢?我们来看一下啊,大家看这张图上,就这张图,首先你看这个地方。这是一种呢,比较传统的存储,就是我们说的字段,然后每行每行有它的那种,那这种存储呢,如果咱们用我们的大数据的这种进行操作的时候,它肯定会有很大的性能问题,所以大家可以把它做一些其他方式存储,比如说进行行式存储,那什么叫行式存储,大家看一下,比如我现在啊把这里边的就是。
07:09
第一行存成一部分,把第二行存一部分,把第三行存成一部分,把每行作为一部分数据结构进行存储,那里面存的就是比如第一个王五,哈尔滨30,张三北京20,李四上海45,那政存有什么好处呢?比如我现在我想做一个查询,大家看啊,第一个查询我就想查询ID等于三的这个数据,那这么查的话,在咱们行式数据库存储中,效率是不是很高啊,但是它有缺点,比如现在你要统计你这里边,比如它的年龄的平均数,那你统计的话是不是要找所有区域进行统计,所以它各有利弊,看你根据什么方式进行操作。另外还一个角劣势数据库,这好理解了,就是里边啊,比如你看啊,我这是一列。这是一列,是不是有很多列呀,咱把这个列就存储,然后结果就是123是一部分数据,张三李四王五是一份数据。
08:09
那这么查的话有一个好处,比如说现在我想做件事情,我想查询所有年龄的平均值,那咱查的话只需要查这块区域是不是就可以了,特别方便,但是有缺点,比如现在我还是查这个ID等于三的这些数据,那咱是不是要查多问数据,最终才能得到你最终的结果,所以它各有利弊,但是根据实际也是进行行或者列存储,它的目的就是为了提高我们的访问的效率,这些都是大数据时代产生的方式。然后除了这个之外,还有一些比较常见的也是note数据库,那我们来看一下啊,比如里边这个hi bases是哈豆中的这么一个,进行大量的数据进行操作一个数据库,包括里边还有其他数据库,就是进行这个操作,比如你看这个数据库啊,是阿帕奇旗下一个开源免费的no缩主据库,然后它提供就是庞大的数据,这么一个量的支持,可以达到什么?就是PB的这么一个级别,就是G别量是很高的。另外里边比如大家看里边还有一个叫图观液数据库,就这个数据库,然后你看啊这张图大家看一下啊。
09:21
比如说这里边有个人,然后它里面是不是有些相关的关系,而这些主要用在什么地方,比如说社会关系,假如咱们现在各位应该知道有一个系统啊,叫做好友推荐,比如说你的好友和你好友的好友最终推荐成你都成为你的好友,就是好友推荐,另外里边比如这个公共交通网络地图等等这些用这个图惯性数据库更方便进行存储,所以这些呢,都是一些no serve数据库,所以总之一点希望各位同学记住啊。我们用这个no搜数据库呢,是打破了传统的惯性数据库,以业务逻辑为依据进行存储模式,而是针对你不同数据结构的类型,改变以性能为最优先的存储方式,它的目的都是为了提高我们的性能而产生的这么一个东西,这各位知道啊,然后最后呢,在我这个笔记中有一个就是最新的数据库的排名,大家看一下啊,你看啊,我们的要学的red排名在第七位,包括里边比如第一个奥Le,第二个MYSQ等等,而red排名也是比较靠前的,也是目前比较主流的数据库,包括目前在很多的互联网工作中,基本上都在用red数据库实现它的各种功能。
10:43
所以这就是关于no circle数据库的一个介不介绍。我们要学到red就是一个典型的notes数据库,那下面的我就带着各位咱们一起来详细安装这个red,然后学习它里边的其他的内容。
我来说两句