00:00
那接下来我们看一个也很常用的叫芒果DB啊,不是芒果啊,一说到这个就想到吃的是吧,芒果啊也可以啊果DB,那它呢是首先我们简单了解啊,它基底层是C加加语言编写啊,又是C加加啊,那么它是有一个重要特点是什么?基于分布式文件存储。那这个东西是HDFS吗?啊,并不是,它是自己有一个文件存储系统叫GRFS。那么它并不是关系型数据库啊,咱们之前讲的什么my circle Oracle啊,它都是一种关系型的数据库,但它就不是啊,它不是啊,它是为什么word应用。提供高性能的数据存储解决方案,怎么理解呢?你想想前端买点数据一般都是什么格式啊?是不是杰森那,包括其实很多前端,前后端交互的时候,他们传参也都是用的杰森那。
01:05
前端的产生的这种Jason数据就可以存在mango DB里面。啊,就很适合用到这种产品,所以一般是呃,前端的时候用的比较多啊。那么接下来一个概念,它将数据存储为一个文档,对吧?你什么文档什么乱七八糟,我看到这个一脸懵逼对吧?我简单一句话,一个文档等于一行数据。那它的数据结构由KV。对,组成废话嘛,杰森里面不都是KV队嘛,对吧?呃,这个很简单,来,我们看一个实际案例就懂了,这个呢,不是一个文档,同学们。来认识吧,这是不是一个Jason,然后Jason的k Jason的V对吧,然后有多个,那这个其实就是什么。你看这些值是不是都写死了,那是不是就等于一行数据啊?
02:04
你想想咱们在离线数仓采集的时候,呃,咱们是不是也是一个Jason串,进入到ods层的话,我们是不是用一个字段来存储啊,为什么?因为Jason它是属于什么半结构化。啊,就是一些名词,大家了解一下,这种叫半结构化的数据,它有一定的规范,但是又没有行列那么清晰,比如说呃,你嵌套怎么办,对吧,你嵌套了多层杰森。咱们怎么用一张表来表示啊,列怎么表示啊,如果我们有不考虑复杂类型对吧,是不是很麻烦对吧,所以我们一般这种精神,特别是复杂精神,我们一般入库的,入的时候一般是给一个。字段,而且类型一般给一个时均,那之后呢,我们对单独对这个Jason格式的字符串进行一个什么解析呀,把它的字段一个一个解析出来,所以你不要想着说,诶我这个嵌套节省怎么去做啊,其实这个扯远了啊,就想到这其实就是一行数据一行数据。
03:10
那其实它也有好几个概念啊,像咱们后面会提到的,呃,数据库集合文档,数据库呢,跟大家理解的一样,一个一个的库一和。多个文档组成一个集合,那所以集合应该是啥玩意儿,就是表嘛,集合就是对应一个表,文档就对应一行一行的数据,一个文档就是一行数据,你这么理解就完事了,它存什么存Jason啊,这就理解完了没了,它的安装跟使用也是特别的简单。来,我们聊一聊他的优缺点。那可能优缺点聊完大家也忘了,但大家一定要记住一点是什么,它是面向。文档。大,另外一个它是使用的内置的文件存储啊,并不依赖于什么HDFS这种东西啊,而且也可以是什么分布式的。
04:07
第三,他可以在任意地方设置索引,也就是说他本身自己就没有那么规范嘛,半结构化。那么它建索引都很方便,呃,支持各种编程语言,什么Ruby Python Java c加加phpcup,其实咱们比较熟的应该是他知道会。这家家你熟吗?熟熟的话。嗯,什么叫指针?对吧。然后什么叫内存怎么管理啊,怎么回收啊,这些问题你都得考虑C加加啊。那Python呢,就是一个比较简单的语言,纯粹就是一个工具啊。安装简单解压就行啊。
05:00
支持自动故障恢复,一般用于生产都得支持。Map reduce是支持复杂的聚合对吧?这什么MR啊,呃,它的缺点,你既然是Jason,他就没有所谓的什么事物不事物,它我们说它是属于no circle啊,No circle型的数据库啊,跟S一样的,呃,占用空间也比较大,但占用空间还好,对吧?你说磁盘贵还是内盘内存贵啊,那肯定是内存贵啊,磁盘一般,呃,占用大的话还好,不是那么难接受,只要你效率高就行。补血块呃,不能进行表关联啊,因为它这种就不是很规范的一种表嘛,所以你关联的话就不靠谱,你嵌套节省你怎么做嘛,对吧,这个大家可想而知。嗯,还是复杂操作什么的,对吧。删掉记录后不会真正回收,除非你删掉数据库,这就跟咱们电脑删掉东西一样,它是在回收站里面,回收站也要占用一定的存储的,除非咱们把数据库给删了啊。
06:12
这简单了解一下就行啊,这是它的一个优缺点,那下面有一些概念的类比,其实刚才都讲过了,这咱们传统circle口说的一些事儿,这个是mango TB特有的,首先数据库都一样,一个库,接下来咱们经常讲的一张表,对mango DB而言,它就是叫一个集合,它叫一个集合,那么咱们正常理解的表里面一行一行的数据,在mango里面它叫做文档。哎,这个就是咱们一直说的文档,你这么一个类比关系一看就很清晰了啊,那一列它叫一个字段,就是杰森里边的一个K嘛K嘛啊,那其他的索引这是一样的,那join引我们说了,他不行啊,他不行对吧,反正不能说不行。
07:01
呃,那这个关于组件,它有一个字段是自动生成的,叫下划线ID。它它是默认的自动生成的组件,不用咱们管啊。你看下面这个。这个有几个Jason串,是不是有两个,每一个Jason串都是一个啥呢?这是一个文档,下面是一个文档对吧,那我们说对应的就是两行。数据啊,我们只是做个类比对吧,那这个就是字段名,这个就字段值字段名字段值字段名字段值对吧?啊,你看一下就很清晰了啊,当然它这个结构比较简单,如果我这个东西是嵌套了多层阶层,你在这边就不好写。好。这个是咱们的一个基本了解啊呃,既然。嗯。
我来说两句