每天1分钟学SQL数据表存储。
上节讲完group by是不是意味这节会讲聚合函数,抱歉让大家失望了。讲完这个才是。因为用聚合函数,前提就是知道你查询的表是怎样的存储逻辑才便于使用,所以还是需要这节给大家打打基础。数据表存储,大概讲讲数据表是怎么生成出来的,放心还是一句既往的大白话保证你听得懂。
假设抖音是我开发的,每个使用安卓的人都知道安装抖音需要在应用商店下载APP包,这个APP包里面储存了很多代码,这些代码在有连接网络的时候就会不停往抖音公司的服务器发送,请求服务器也会返回内容给我们观看,发送的请求里面也会包含各种数据埋点。
数据埋点就是采集信息的一个点位,你就理解为你点击抖音里面每一个按钮,翻看每个页面的动作都是一个数据埋点,都会把这些记录发送到抖音服务器。例如当你点击支付这个按钮,按钮买点CLICK pay money就会发送到服务器,点击视频关注又会发送CLICK movie Focus按钮买点到服务器,点击视频喜欢又会发送CLICK movie Focus按钮埋点到服务器。
假如我按上述3个买点来展开说明,在抖音的数据库里面就会有3张不同的埋点表,一张是支付买点表,一张是关注买点表,一张是喜欢买点表。假如每张表里面的MID就是代表每个手机设备,a就是某手机设备,b就是某手机设备,b就是某手机设备。
·c用计算机喜欢的二进制标识,一就是有点击,零就是没点击,第一张表就a这个设备点击了支付买点,设备b也点击了设备c没有。如此类推这三张表都是记录着很细碎很细节的数据。注意这是数据并不是信息。然后抖音还会把这三张表清洗成对应三份数据。
这三份数据很特别,不再是ABC的视觉,而是有点击支付的人有两个,没点击支付的人有一个。同样的有点击关注的人有一个,没点击关注的人有两个。看到没关注的对象一下子变了,之前关注是某个设备的情况,数据清洗之后变成关注埋点的情况。最后一层数据清洗,就是把3张表中有发生行为的数又拼在一起。
说到这里大家可能听闻了,说这些是干什么来着?其实你会发现每一次数据清洗的过程都是不停把数据做聚合,从一张大大的明细表聚合成一条记录,不停在压缩数据,不停在统计汇总数据。我们把没统计之前的数据表叫做明细表,把统计之后的表叫做统计表。
当然因为会不同压缩,所以此时的统计表也有可能变成下一层的明细表,什么你还是听不懂。再举个简单的例子,假如现在开始我要求你每天都要给我记账,记录你每天的支出,你会怎么记?有些人肯定会这么做:6月23日支出了200元6月24日支出了100元。这是一种统计表的逻辑的记录。按天来会总统计,肯定又会有另外一群人是按每一笔支出明细来记录。
6月23日跟朋友吃饭50元逛公园,50元等等。这是一种明细表的逻辑的记录,按每一笔明细来记录。说到这里应该听懂了吧,这么哆嗦,主要想告诉大家表存储的基本逻辑。
至于明细表与统计表的区别,大体就是相互辅助。明细表的优点就是统计表的缺点,统计表的缺点就是明细表的优点。明细表好处可以做各种变换,统计想分析汇总什么就汇总什么,更加灵活。坏处存储量大。统计表好处存储量小,直接出结果。坏处不够灵活,就一个数字无法深层次再做分析。
讲完了做到小调研,评论区告诉我你是怎么找到这个抖音号的。这节先到这里,关注我收藏我,评论我一个免费帮你上技能的6000铁粉抖音博主。