00:00
内容之前我们回顾一下,我们入门的时候是不是说过这么三个东西,一个叫预扩展,一个叫大数据量的高性能,一个叫什么多样灵活的数据模型哈,尤其是易扩展这三个字,因为昨天下午的入门讲解的话,那么呢,可能平铺直叙的,或者就是说第一次跟同学们这么讲起来,是不是体会的还不是特别深刻啊,我们现在呢,到后续的话,这四块将会对前面这些简简单单的理论做一个深入的拓展,那么呢,请同学们呢,体会一下,到你们noq的时候,你们会看到为什么它有过人之处,可以和myq Oracle,也就是传统的关系性数据库分庭看你争得一席之地,好,这个是第一个问题,第二个问题,昨天我们是不是说过,对于我们而言,在当下,MYSQL的经典。
01:00
用的时候我们呢,是不是明白了,对于一个网页,从他的淘宝购物,从一个买家的一个店铺,所有信息,包括是音频、视频、文字,交易流水记录等等一系列的话,是不是给同学们明白了这么多内容是不是分别存在于不同的数据源啊,然后的话,我们呢,也说过,在这儿又是我们的第二个难点,以前或者说以同学们目前而言,你们的数据源是不是only one一半,说白了也就是连一个MYQ对吧,还没有说连red啊,DB啊,门啊这些过来,那么呢,也就说数据类型的多样性这块是不是还没有体会到啊,那么尤其我们说过对于UDSL统一数据平台这块的话,像淘宝的中间。
02:00
这一层上面是应有,那么呢,如果没有统一数据服务平台的u dcel这一层,那么对于原来传统淘宝的业务,是不是咱们的Java APP直接要连下面底层这么多数据库啊,那么呢,就像我们说的,中间你连的越多,对开发工程师的技能要求越复杂,先不说人员的这个跳槽或者说是变更,就说这么多数据库,任何一个数据库出了问题重构也好,或者今天比如说我们的什么文档数据库mango DB挂了,那么大家都知道这样的话,那些评论信息看不到的话,那是不是非常糟心的一件事情啊,那么好,这样的话呢,限于这些业务了以后,我们呢,继续往下看,为什么呢?针对于这么复杂的业务,我们的no来承担和扮演相应的角色,好,那么呢?
03:00
下面呢,我们进入到今天的新讲的内容,No q的数据模型简介,好,数据库的数据类型,那么大家都知道最传统的是不是有些char in呀,Data datatime等等,没问题吧,简单来说字符串的,字符的,时间的,还有number数字金额的,没问题吧?好,那么呢,No q呢,商维呢和这个呢就不一样了,我们来看看哈,我们以一个网络上像淘宝这样一个经典的电商模型哈,那么这边呢,也是一道面试题啊,我也是拿前几个班的同学的反馈来抽取一些case给大家呢,一方面是复习传统的关系数据库,另外一方面呢,以它来对比讲解一下。Q什么意思呢?这个题目呢,就是一句话。
04:00
他说如果说我们现在要做一个电商系统,要有电商的客户customer订单,我订购,订购的明细地址的收货,所谓的收货地址的模型,类似于这样一个业务,烦请你现在用关系型数据库建几张表,想一想你要建哪些表,以及表和表之间的关系会有一些什么样的内容,OK,那么呢,课堂上的这个思考时间,我给大家三分,三分到五分钟的时间,我不要求大家现在完全的给我设计出来,一一口气拉干了,就是100%的正确,但是起码我现在就给你这么一句话,就是客货订单账支,收货地址,订单明细等等这样一个普通的,你就是下个单,买个东西,想想买家和卖家系统之间应该有几张表,第一个线上。
05:00
有哪些表,比如说咱们是不是不用说,是不是应该有一张customer的表啊,哎,然后你顺着这个思路,自己现在不要发出声,每位同学课堂上花三五分钟你想一下,然后再想想这一张表有哪些样的主外卷关系,第三一个我们恢复课堂的讲解以后,你看看现在我们的设计,然后第四步我们要看看传统的关系数据库,变成我们no搜Q设计又会是什么样,大家呢,来体会一下,所以说第一步课堂思考时间交给大家,请同学们呢,思考一下应该这样的一个模型有几张表,OK,好,我们呢,简单的呢来分析一下,依照我们传统的关系数据库,大家都知道,那么customer和订单肯定是一个,要有一个什么一对多的关系吗?一个客户你今天登录淘宝三次,早中晚各下一次订单,都是你的,好理解吧,好。
06:00
那么呢,这个订单order,那么有订单了以后同学们是不是应该有order detail订单明细项的选择呀?你每下一张订单,早上你买了一本书,一双鞋,17号订单,八号订单,你买了鲜花、巧克力、毛毛熊,三号订单你买了一件衣服,又买了一个笔记本,那么请问就像是你去任何一家餐厅吃饭一样,你本次消费128,人家是不是这张单据上会给你罗列宫保鸡丁一份,水煮肉片一份等等,是不是要有个订单明细啊?凡订单必有订单明细,好理解吧?好,第三第四站,那么现在就是customer订单,订单明细就是order,没问题吧,当然有些模型的话是叫order item,这张订单上的每一项商品项啊啊,或者是item,这个一基本上是什么业内通用的了。好,那么第四张表,请问你是不是应该有收货地址啊,那一般而言,各位同学起码。
07:00
以后你们下个月上班了以后是不是应该会有至少是两个地址啊,一个是你的收件地址是公司,一个是不是你住宿的地方啊,OK,那么诸如此类,那么再来是不是也还会有支付的这么一张表啊,Payment这么一类似,当然哈,每每个业务的不一样,你甚至呢,还可以说是什么,还有一些什么库存表啊,模型表啊等等等等,能理解吗?你如果你要往前面要继续深入下去和复杂的话,那比如说我下一张订单,我order里面有了一条记录,假设这张订单的order detail里面一张单子,请问我可不可以一张单子一口细,就像我们淘宝的购物车,天猫购物车一样,我一口气买十个东西,那么好,请问如果我这张订单明细有十项,请问假设你要往复杂,往细往深了说,我们那个库存表,是不是每张库存表要有十条记录一样的被锁定,或者那个数量减一个一。
08:00
或者被锁定啊,OK哈,那么当然等你真正比如说现在库存有100件,那么现在实那个你应有100个商品,但是你下订单的时候你买了一部,那么是不是有这个东西应该被锁定了,那么这个时候是不是就一个冻结的状态,但是请问这个库存有没有变化,现在因为你是不是还没支付一句话,所有的买卖是不是得一手交钱一手交货呀,诶那么等你支付那张表有记录了,那个状态变了,那么我是不是从锁定的预站的那个状态数量来减一个一啊嗯,好,那么呢,大体这样了,以后我们呢,可以看看哈,我们传统的关系数据库是不是就是我们的实体关系模型图一二图啊,那么这边是不是也就是咱们的一对一,一对多和多对多三大关系啊,那么换句话说,无非就是传统的关系型数据库范式外价一对一。
09:00
一对多和多对多的三个关系还有没问题吧?那么好,这样的话,三大关系结合范式,结合主外键的话,那么呢,我们这个模型是不是可以简单的把它概述为这样,Customer是不是要下一个订单,一个一对多的关系,那么每一个customer是不是有多个收货地址啊,那么好,每一张订单我们大家可以看到order,或者叫order detail是不是有订单明细啊,那么好,这个时候我们看每一个订单明细,就像我们说的,你买的是书是不是书籍类,你买的是饮料,是不是软饮料的饮品类啊,那么是不是有每一个订单,假设你买了三亚这儿是不是有三种产品对应啊,那么再来这儿我们说过,这张订单最终你是不是还要支付啊?那么还有如果你还要过来的话,每张订单是不是要是吗?占库存呐等等,要是往复杂的方面说清楚吗?
10:00
那么像这我们就概述一下呢,就是说如果说按照同学们,假如说因为你们现在这种题目呢,是很常见,现在外面的招聘的公司呢,他为了考察你有没有相应的这个开发经验,他就是这样给你一个简单的系统,比如说请你设计一个登录权限系统,因为大家都知道一份卷子下来,前面是不是加YC的语法基础试题,选择题,呃,不,那个填空题和选择题啊,中间这一份的话怎么着,是不是就是一些什么简答题,然后最后的话,是不是就是一些编程题,设计题和数据库的题目呀,尤其数据库基本上各大公司少说要占多少20~30分吧,那么最后第三章,因为就像是高考的数学那个大题一样,无非也就是我不知道现在你们的高考数学应该还是150分吧,那无非也就是选择填空,最后面是不是那些大题应用题啊,那么到后面压证的产生这个层次分数的,那么。
11:00
他可能会说那么好,我因为现在呃,互联网的话,电商啊O啊这些的话是不是非常多呀,那么像如我们去反馈回来,回来那些同学去电商那些面试,人家就是给一个设计体,就说你要过来做电商,好,你也说过,你也说你做过CRM,其实大家都明白,电商里面涵不涵盖这么一个CRM系统,肯定涵盖,你想哈,你觉得淘宝的话,它是不是要钻经营红蓝,包括腾讯的红钻、蓝钻、绿钻、金钻那些,那么这些常用的,就像我们昨天说过热点高频的词汇,我们是不是要单独从数据库提出来放到里面,那么这些活跃热点、高频,交易量大的精品客户,我是不是要摘出来,要把它标个黄钻绿钻啊,或者新钻啊什么的,干嘛重点维护啊,能理解吗?坦白讲,如果有各位同学,现在你们是银牌的京东会员和钻的一一钻二钻三钻哈,假设哈,我现在记不住。
12:00
多少了,反正钻的和那个银牌的会员,你买同一个商品打折是不是也不一样啊,是不是啊,那么像这些情况类似的话,内部是不是也会针对于这个买家,你在座各位同学肯定每个人每一年你们是不是都会有收到一份什么京东啊淘宝啊,天猫或者支付宝的年度账单啊啊,有可能你今年什么都没买,是个零,那有可能的话呢,你来这做过手机族是吧?买买买是吧,买了一堆,那么可能你的账户上的话,可能是你今年假设你今天你买了4万,那么好积分到了以后,京东啊天猫淘宝是不是给你自动升级啊,那么请问他后台是不是肯定会有这么一套CRM来维系着这个管理啊,他坦白讲,他推送这个广告,现在大家都怕被垃圾邮件干扰,或者是被投诉,那假设现在这两排同学十位我认十进二,我跳出来两个精品客户,我就维护好这两个,剩下那八个我不打扰大家都是你好我好家。
13:00
好啊,能理解了吗?嗯,甚至就是说包包括到后面开玩笑的说一句那些什么大计,那个云计算啊,大数据分析分析分析分析啥呀,其实说实话就个这个是我们原来已经很崩溃的话,就注意,如果进到项目组的时候,千万千万不要去分析女性顾客,明白吗?严哥是受到深深的伤害,这个是没有逻辑可以讲的一个东西,因为所谓的女人心海底针,这个是我们在计算机系统里面深深的体会到了,是吧,这个是牵扯到哲学了,我跟大家说说一个开玩笑的看说法,原来我们的跟不是可以假设这个客户进来以后,我们锁定以后,我是不是可以知道他在页面上点的每一个操作日志的记录啊,很简单,我们大家都知道你在系统上没点一下,其实说白了,我们是不是都在后面记录的话,你到底一个搜索的一个轨迹吧,那么当时的时候,各种搜索的话,他找的话,基本上然后我们在想,然后我们是一种强维护关系什么概念,比如说我们的话费,我们的电订。
14:00
啊好,假设这个女生某个时间段长期和另外一个号码打电话,那么有可能不是她老公,是就是她男朋友啊,那么好,这个时候我们当然这个分析不是一天哈,是我们紧盯每一个手机号码,紧盯每一个顾客,那是长久的分析清楚吗?都是都是后面这些数据呢,自动的数据挖掘了以后来分析,那干嘛呢?假设,但是那次我们在分析,他在那儿细心认真的去搜索这个体育类的用品东西,我们那是不是跟另外的友善合作,这女的要准备买,比如说一双耐克鞋要给她男朋友了,你懂我的意思吧,我们后面是不是开始准备了,那么呢,然后呢,他又看了这个剃须刀等等,我们在,然后呢,看看他们的身份证,诶,她这个男朋友的生日刚好也要到了,那么这样的话,我们后面慢慢的这个用户画像是不是就出来了,我们呢,全部的人在那后面看着那个后台的日志,点了哪些,点了哪些,他搜了哪些,然后我们认为诶准备要通知电商的兄弟,是不是准备准备礼物推送广告过去。
15:00
给他买这款飞利浦的剃须刀又怎么怎么的精品价怎么打折的话,都把它算好了,那到最后的话是吗?我们全部的话,所有的人的话,哇,靠拍桌子走人,为啥他买那个加湿器就跑了,所以说他看了一一后我们才明白,就是女生可能她罐和他最后买的完全是两种东西,但男的是不是就比较准确啊,直奔目标是不是啊,我要买篮球绝对不会去买个乒乓球,但女生有可能我逛了巧克力放了两本书的话,最后的话买一块麻辣烫就跑了是吧?所以这个是难以分析的,你明白吧,当时我们全部在那,靠,全部你看要下单了,要下单了很兴奋的看着,哇,靠,脑袋全部偏了,最后看他下来单买一个别的东西就跑了啊,所以说这个是很难一个分析的哈,那么到最后大家我相信以及各位同学现在你们都会有这种感觉哈,其实互联网搞云计算和大数据呢,你不要说那么炫啊,感觉好像我就很高大上,关键还是那句话,你能不能变现对不对,风投有没有理你啊。
16:00
那么干嘛呢?我为什么要去分析啊,同学们,我相信各位同学现在你们在上网的时候一定会用,碰到这种情况就是什么呢?你昨天浏览过的网页,今天那些弹出广告是不是全是你昨天相关的内容啊,哎,这就是什么?往底层来说,是不是你们的cookie没上干净啊,往高的来说的话,是不是这些Java后端的这些云计算的分析的工程师他干嘛?互联网行业里面有一个叫什么,是不是有互联网广告推送算法工程师啊,能理解了吗?就是我们后端的Java程序啊,就是把这些日志成摘出来,那么云计算的那些就来数据挖掘一样的来进行分析,OK,这哥们浏览过看过这些,那么呢,结合我们的来,我这儿整了个平台,就跟滴滴打车一样,我线上这个平台是不是下面就跟出租车的师傅就联系了,那么我们这边呢,就那么一条龙的话,那比如说我这个。
17:00
系统我收集到了这位女性顾客,或者这位先生,她呢,最近可能有购买剃须刀,或者有可能购买玩具毛毛熊,或者是购买一套母婴产品系列的奶粉尿布的这种趋势,那么这个请跟我讲,推送广告的那些是不是开始就狂推的,然后OK,那么呢,迅速联系下面线下的某家实体店,那么实体店呢,迅速联系某家快递公司,那么快递公司呢,迅速联系下面一家仓储物流配送公司,那是不是一条龙就整合了,那说白是不是我们生活入口就这么从一个鼠标就开始了,所谓一生活不就这么一点点慢慢来的嘛,OK,那么这样的话,也就是说我们的系统如果你们知道,就像我们昨天我们介绍美团一样,为什么那些工程师会真的是像打了鸡血一样的拼命的干呢?因为有一种情怀的东西叫什么呢?一方面肯定你薪水会很高,另外一方面就觉得你会感觉你做的系统,你做的软件真的是在点点滴滴的把我们的世界变得更美好一点点。
18:00
这个就是我们作为九零后,你们这一代软件it工程师,你们对这个社会进步也好哈,咱们说大一点哈,那大家大家是不是,而且更有一个爽的是,如果你真是那种技术狂人,非常狂热那种分子,我真是见过那样,那真的真的就是我们说的那很兴奋,就是他用他的感觉,我的算法,我的程序让这个系统变得了更美好一点点,我的做的工东西影响到了千千万万的人,那是不是很兴奋很刺激的一种感觉啊,哎,所以说那个时候等你们去到那样的环境,周围都是这样的小伙伴,就会体会到我说的聚着聚着餐是吧,在海底捞他超出电那个笔记本的话,又开始在那编码,把人家送餐人都吓的,哇,这群疯子是吧?啊,但是正是这种痴狂,这种痴迷,对技术的这种追求和热爱,慢慢的真的是你们的薪酬啊,或者是软件啊,都会越来越好,好好,那么就不多说了,我们这边呢,简单的呢,看到了我们是不是传统的模型啊,好,那么同学们两个问题,第一个。
19:00
Noq,你怎么设计?第二个我现在想问,对于针对于这个模型跟我讲,同学们,如果我这套模型已经差不多上线了,已经固定好了,我再要增加其他模块,你们觉得难不难啊?就好比现在大家都是规规矩矩做稳的一个状态了,假设我现在要增加仓储,增加物流,增加渠道,增加酬金结算,增加客户的活跃程度分析,是不是越来越这个电商系统复杂呀,那么大家也知道,那么从这儿一个客户,那么这边还是他的购物趋势分析,假设左上角还有一大块就是它的各种积分,那比如说我天天买我的活跃,就像你们打游戏一样,有些游戏是不是只要你来了在线我就送积分呢?你玩过这个吧,只是要你只要你登,今天你登录什么签到啊,领奖啊什么的,还有印象吧,那么这样的话,我们加和增改。
20:00
那同学们跟我讲复不复杂,而且系统大了以后是不是不好改呀,那么最简单的就比如说就像我现在有个同学,你们桌子上的电脑,你们最希望的系统是不是解耦了以后干嘛,就像一个U盘一样可拔叉呀,同不同意啊,假设现在这个现在你们的笔记本,你说你CPU不够了,你说我找把起子自己开个槽加块CPU,我估计你们没这个能耐吧,一把起子搞定一块CPU是吧,那么好,那么现在这个问题就是我们能不能想想就有什么特别方便的地方给我们,有点像类似于机插机用,易扩展,而且多种数据类型都能够支持呢?并且还是在什么,昨天我们是不是介绍过3V和三高啊,好,这个时候我们来看看我们的no s,你如何设计好我们呢?可以尝试着用一种什么Bo这种东西呢?
21:00
来进行描述和体验,好,杰森学过了吧,那么你可以粗糙的理解一点,这两个一回事,因为bos的话是在mango DB里面的话,常用这种数据模型状态哈,那么呢,我们大家请看,没问题吧,什么概念呢?内嵌的文档对象和速组对象,好同学们,我们这儿说一下哈,那么注意包括到后面我要给大家哈,我们呢,我们呢,画出我们的bos数据模型的话会是什么样,大家请看,再次会强调这个是不是我们的中规中矩的传统的关系数据库my Oracle建表啊,那么呢,No呢,没这些事,大家请看我现在是不是个customer,那么customer还有是不是可以ID名字啊。
22:00
付款账单或者也叫收货地址啊,那么我们说过我们收货地址,比如说是这个里面是不是接算串里面又可以含复杂的结算串啊,好的,那么一个客户按照我们传统的关系数据库模型是不是要一个一对多呀,那么好,这边的话,我如果按照传统的话,是不是咖里面单向双向的关系不是有个set order这么一个哈,Set一个订单列表啊,那么好在这大家请看杰son这什么是不是就一个数组啊,那么请问一下这种是不是有点类似于什么,只要你符合杰森的语法格式的话,完全说到底是就是一个变成一个字符串的一个解析啊好,这是其一,其二,再来同学们,如果我现在跟你说哥们,你现在呢,是一个计算串,二就给我描述了整个电商模型,这是和好,我要你分,请问我可不可以把这个里面的orders单独拿出来,又重新写一个阶算串。那么这。
23:00
块是不是又可以是customer结算串,然后是什么order结算串,既可以合并,是不是也可以分开呀?那么大家请看no数据模型,比起传统的关系模型,表达上对于这种前面我们所说的多数据源多样的灵活性处理支持度是不是更好更高?能理解这个意思吗?好,就说简单的话来说哈,就是以前你是不是要非要写create table customer create table order,规规矩矩的两个正方形一对一的这种表结构,但是现在变成是不是一个字符串,而且我经常说过customer order的话,你和和分容易吗?传统的关系数据库不容易吧,起码你说要建order和CUSTOMER2张表,但是对于我们这个阶层串,就像我刚才所说一样的,我们现在把这个东西,我们把它呢,拿出来,好,大家请看这个是不是一个对象啊。
24:00
好,那么现在我如果说我现在呢,跟你说我呢把这个拿走好,那么现在是不是上面就是一个customer,那么我在这儿是不是我可以定义一个单独的orders啊,那么请问如果你要有Jason串表示,换句话说,这个是不是就是对应着我们的一个order customer1张表,这个是不是就是orders的一表,这是分的一种说法,那么和的说法是不是也可以把它弄进去啊,那么你当时两种还是一种,是不是任均选择啊,好,这个呢就是我们的一种是么?No q的一种处理这种多样数据类型的一种拓展,那么再来,这是我们传统的关系,现在还有一个问题是什么呢?在分布式的互联网的这种情况下,我们呢,当然现在先提一嘴那个Q的话,这些是不是叫聚合模型啊,那么好,同学们都知道,如果说我一个客户登录了以后,我要查询出我的订单。
25:00
是不是需要写join啊,你们学orac学是不是学过是吧?Joinner join join啊,类表关联查询,关联查询没问题吧,那么好跟我讲,这个时候你们现在以各位同学在当前这个环节是不是最多也就是两三张表,一到两张表的这种就命关联查询啊,但是去到企业里面的话,有可能是那些传统的老系统哈,有可能是五六张七八张表关联好你所要的结果,比如说你要做一个报表,日报周报报表统计,有可能七八张表关联了以后,你查出来那个SQ是不是写的大段大段的呀,好,传统的集中式的可以这么写,但是分布式的系统是非常忌讳这个多表关联就用查询的,那么呢,现在我们大家来看一下,第一个高并发的操作,不太建议有关联查询,能理解。
26:00
啊,即便你要有也最好是表越小越少,就说以前你觉得能够join援就援,就很多张表,一条SQL搞定我想要的数据,结果那个SQ写的精妙无比,复杂无比,但是这种技能在2010年以前非常的迫切,但是二六年以后,2016年的化,对于这种分布式,因为我们是不是前面讲过集中式到分布式架构的演话,我们的数据库实力是不是有多个了,有可能你这个表什么,你要旧印的表的话,它在一号库,其中有些表分别散落在一号库,二号库,三号库,能理解吗?那么这个时候这种旧印跨库的话,是不是一件很痛苦的事情啊,这是第一点,第二点的话,我们大家知道分你们所有的这个CRM系统,OA系统,这种传统的系统的话,是不是都需要有强事物的统一和支持啊?就比如说什么叫强事物,就是假设一套OA系统或者CRM系。
27:00
啊,这个员工OA系统里面来上班,到底他今天有没有打卡,是算早退,缺勤还是迟到,你是不是刷就是刷了,没刷就是没刷呀,那么这样的话,你就相当于说这个数据是不是要强一致性啊,那么你每次的话,这个数物的提交是不是要非常的迅速及时快捷,否则你最后是不是牵扯到别人到底是旷工还是早退的一个影响了,那么对于这个分布式的系统呢,那么就麻烦了,还是我们说的,现在我们是不是多个库了,那么这个时候是不是实实到分布式事物数据库事务的提交啊,那么它跟传统的就不一样,那么所以说我们像现在这样的话呢,对于前面的这样,大家请看如同你们所学的经典的什么员工和部门模型,是不是需要在员工表挂着一个department部门ID有个这么一个外键啊,但是如果我们切换回什么no这个这个模型。
28:00
你跟我讲,对于那个主外线的这种强连接,它还需要依赖性那么强嘛,一个阶层串是不是很简单的拼啊,所以说它是从这个侧面就避开或者绕开了这个问题,那么呢,你在传统的关系数据模型,你是是不是用join查啊,那么到按照我的包存设计的话,那么这个一查询起来,你只要有这个customer,说白了KV键值,对,就是我们的分布式缓存red的雏形,这个key是不是customer,这就是个customer ID,但是一查出来以后,我还需不需要有这么多蚯蚓,为什么对我而言,我查出来以后是不是就这么一个串啊,假如说我现在red里面就跟哈希ma一样,这个P就是1136,一查出来以后是不是可以把整个串提出来,那么整个串提出来这个客户的信息,以及他的订单以及配送地址,整个串儿我都可以拿到,我给解析一下这个接算串是不是他所有的关系我都明白了,我还。
29:00
需不需要像传统的关系型数据库有这么多join join join join,还有left out,然后又是一个什么group分组啊,什么乱七八糟,是不是相对来言这个难度被大大的简化和降低啊?哎,所以说呢,回头我们大家会看到redis它的优秀的地方真是就是这样,我们在查的时候可以把很多高频热点数据放到里面,就查这么一个ID,那是非常爽的一件事情,清楚了吗?说白了,咱们是不是就是一个什么select数据,From customer while ID等于多少啊?这种东西你通过no这个计算串提出来就可以查到,以前数据库里面需要写多种就语能查出来的东西,能理解了吗?好,这边我们大家呢,继续往下找,那么呢,来看看,既然说我们的数据库里面有什么what data number等等的这些数据类型,那么这是传统的关系数据库。那么对于我们的。
30:00
No,非关系型数据库,我们是不是也会有我们的数据类型啊,这个时候呢,就是一种什么聚合模型,首先K建制队我们是不是见过了,好,再来bos是不是我们的类似于杰森串的一种数据表达和描述啊,第三种是列足,什么意思呢?就是比如说你们现在哈,从左到右是不是ID name,性别年龄这个表头是不是都是从左到右这张这个表越来越长啊,那么这个是横向的,那么我们现在试试能不能把它变成纵向,就是两列一样像KVKV这样的呢?那么大家请看,我们大家看哈,如果说函件大家看,只要我这一行以前假设这个是ID1234 name从左到右是不是成长的一排啊,现在大家请看,只要我这一行,我就放一个列错,然后这一堆从上。
31:00
到下你看我是不是不再往右边扩展了,我是不是从上到下的扩展,这样是不是一种裂剑和列值的形式给它存进去啊?好,这是第三种,最后一种就是图什么概念呢?就跟我们昨天说的,我们中国人的那个复杂的亲戚关系好再说白一点,请问现在大家用推特,Facebook或者说是微博的话,是不是有很多,比如说你的好友列表分类,然后你的悄悄关注,然后他还会推送什么呢?你跟我共同有这些好友,是不是希望你们能够强耦合在一块,增强这个社交啊?那么请问这种的话,复杂的人际关系,网状的人际关系和社交网络图形关系,你再用传统的行列的,传统的关系数据库模型来表示,是不是特别的费劲啊?那么no s,以前大家对于表结构的影响。
32:00
或者是概念是不是就是一张Excel表行列呀,换句话说什么来开头,就像我们一个数学里面的数轴X轴和Y轴一样,是不是就是一种二维的关系啊,但是现在我们大家知道朋友关系哈,他是我的朋友的老师的同学的哥哥的叔叔阿姨啊,那么请问如果这种关系你要套到传统的行列,像Excel表格MYQL这样一张表来描述,是不是你会觉得我靠光系就会就会各种是吧?但是同学们,如果我们以这样来写的话,一种图,注意这个是那个,不是一张图片,还是那种图,图论图形,那一种图的模型概念和数据能理解吗?哎,那么所以说大家看,比如说这哥们受雇于他,这个两个又互为朋友,这个又喜欢谁?那么这个作者又是谁?那么这种复杂的社交网络描述,那么传统的关系数据库是不是有点力不从心了?所以说正式向是吗?Twitter和Facebook就大力的推出了,昨天包括我们看那个希腊那个case上面,下面写Facebook是。
33:00
不不,所有的内容是in memory那张图片哈,那么好,这边的话呢,我们就可以看到,这样的话,对于我们的了解起到一个什么作用呢?传统的光数据库是不是叉number data,但是非光性数据库到咱们的no这边TV列簇图形,当然还有其他那么常用的是不是也就这四种了,那么大家请看它的数字类型,是不是以前是叫字符型,日期型,Number数字型,现在是不是都统一叫聚合模型了?好,那么随着这种变化的话,我们的no的数据模型呢,也将会展开,那么OK,明白了这个以后,对于我们而言,百分之七八十的工作主要还是前两者,能理解吗?这两个是最重要的,在我们后续的讲解里面呢,也会和大家呢详述,那么专门是不是有一章把这个K会给大家。
34:00
进行详细的拆解啊,OK,好,我们早上的第一节课呢,就站到这儿,大家呢先休息一下。
我来说两句