网站流量日志分析--数仓设计--本项目中数据仓库的设计(星型模型)|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 快速学习网站流量日志分析--数仓设计--本项目中数据仓库的设计(星型模型)

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第三阶段)网站流量日志分析--数仓设计--本项目中数据仓库的设计(星型模型)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/695/detail/12199


网站流量日志分析--数仓设计--本项目中数据仓库的设计(星型模型)


分析的主题只有一个,叫做网站的流量日志,所以事实表只有一个,对应网站的流量数据,这时候肯定要有星座模型,剩下的星型、雪花。星型和雪花的区别在于雪花是在星型的模式上继续扩展,这里采用的是星型模型。

星型模型是一个事实表加多个维度表,维度表之间没有关联。确定模型之后,再确定维度表和事实表的数据从哪里来,首先第一个,事实表分析主题的度量,分析网站上面的日志,事实表就是网站上的数据,这时候对应着买点收集的原始数据,这时候会有一个小插曲,打开本地的目录,这里有收集到买点数据,

image.png

另外一个经过预处理之后得到另外一个数据

image.png

这里所说的网站原始数据到底指的是原来非常原始搜集的数据还是指清晰处理完的数据,从经过预处理那一刻,成功开始可以说第一个图的数据可以把它称之为原始数据,未处理之前的,告别历史舞台。因此事实表的数据所对应的清晰完之后原始网站数据,事实表确定之后,维度表在企业当中往往是根据业务相关的,从哪些角度分析,哪些维度分析,是不是跟业务相关,要分析 A ,还是要分析 B ,还是要分析 C,要结合事实表的情况根据业务决定。

image.png

比如在项目当中,网站当中数据有一些字段,里面有 IP 、用户的信息、时间、请求的页面,响应码、来源终端信息等等。要分析哪些维度应该是要涵盖事实表当中,比如分析当天网站访问情况天气情况,天气晴朗是多少,温度是多少,肯定分析不出来,因为没有关联。维度表在企业当中往往跟业务直接相关。

时间维度怎么分析,网站访问情况,分析一下一天是上午来的多还是下午来得多还是晚上来的多,每个小时的访问情况怎么样,一个月当中哪个星期来得多,什么阶段来的多,这些完全是跟时间相关的;再比如说分析访问的地域维度,大家都来访问,到底北京来得多还是上海来得多,还是哪里来的多,完全与访问地域相关,怎样去判断访客来自哪里,数据当中有 IP ,IP 如果说对方不是用代理,可以用 IP 去查相关的地域信息,所以说低维度也是分析的角度。

还有按照终端类型分析,终端分析搜索网站通过手机或者电脑,再或者安卓或 ios ,通过谷歌浏览器,360浏览器或者其他浏览器,这些都是跟终端相关的,在数据当中恰好也有终端字段叫做 use agent,使用谷歌浏览器版本还有网站的栏目

因此要明确一点维度表是从哪些维度开展的,往往跟右相关,但是有前提,维度表一定要跟事实表相关联,包含它。

本项目模式设计:

直接确定项目当中,本项目中模块设计,因为项目中只有一个分析主题:网站的流量日志情况,因此对应的事实表只有一个:网站流量日志。

本项目采用星型模型,有了星型模型之后确定事实表和维度表,第一个事实表就对应着数据预处理完之后的原始网站访问情况,维度表通常要结合业务去分析维度,但是确定分析的维度要严谨确定,事实表中就这些字段,分析下订单的一天或者访问网站天气预报,就没有天气的记录,所以说要根据业务分析维度,但要求要和事实表关联上,如果不能关联上分析将没有意义,要以能够涵盖事实表为基本标准,

举例,给事实表是过去半年的数据,时间恰好就在一月到六月范围内,

如说接下来给时间2017到2018,因为它们两之间没有关系,分析肯定分析不出来,想一个场景给19年的数据拿18年的数据关联,肯定分析不出来,第二个如果说只涵盖一点也是有问题,虽然它们产生了交集,这只能分析出来交集的部分,其他数据没有交集还是分析不出来,给予这样一个分析的标准才能够涵盖事实表为基本标准,不要求大于,至少两边要相等,所以维度表很灵活,通常跟业务决定,不是随便决定,要跟事实表相关。

image.png

接下来以时间维度为例,确定了表当中的模型之后直接导入即可,还有一个问题,在数据预选当中还有个点击流模型,这里会产生局部的小问题:点击流模型数据算什么类型的表?

是事实表还是维度表,点击流模型数据把用户的访问行为按时间先后顺序算成一条线,构成持续访问的轨迹,说是事实表有点勉强,说是维度表更加勉强,因此在这里特别强调一点叫做点击流模型既不是事实表也不是维度表,而是一个业务模型数据,可以称之为事实表的业务延伸。点击流模型是为了分析一些指标业务的方便而扩展出来的业务模型

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
17天前
|
1月前
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
105 6
|
18天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
33 1
|
1月前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
64 3
|
4月前
|
存储 数据挖掘 BI
数据仓库深度解析与实时数仓应用案例探析
随着数据量的不断增长和数据应用的广泛深入,数据治理和隐私保护将成为数据仓库建设的重要议题。企业需要建立完善的数据治理体系,确保数据的准确性、一致性和完整性;同时加强隐私保护机制建设,确保敏感数据的安全性和合规性。
520 55
|
3月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
131 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
3月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
3月前
|
BI
数仓项目总结--持续更新中
数仓项目总结--持续更新中
54 2
|
3月前
|
XML Java Maven
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
这篇文章详细介绍了如何在Spring Boot项目中使用logback进行日志记录,包括Maven依赖配置、logback配置文件的编写,以及实现的日志持久化和控制台输出效果。
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
|
3月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
138 1

热门文章

最新文章