数据仓库架构详解

一、基本概念

数据仓库Data Warehouse)是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,为企业指定决策,帮助企业改进业务流程、提高产品数量

一般数仓分为离线数仓(spark)和实时数仓(flink)

二、核心框架

在这里插入图片描述
数据采集

数据通过DataX或者sqoop可以将业务数据等导入到数据仓库,通过Flume可以将用户行为数据等导入到数据仓库;

数据分析

数据通过处理获取有用的数据指标

  • ODS层:原始数据层,用来数据备份
  • DWD层:明细数据层,用来数据清洗
  • DWS层: 汇总数据层,用来数据预聚合
  • ADS层:数据应用层,用来数据统计和计算
  • DIM层:公共维度层,用来数据分类的

数据可视化

将处理好的数据指标用在各种模块中

  1. 可视化的报表
  2. 用户画像
  3. 推荐系统
  4. 机器学习

三、数仓大数据架构详解(流程)

流程图
在这里插入图片描述

数据采集

  1. 业务数据通过Nginx采集到业务服务器(Springboot)然后再写到mysql中,用户行为数据通过Nginx采集到日志服务器(Springboot)写入到日志文件中(注:主要由JavaWeb人员负责)
  2. 日志文件的用户行为数据通过Flume将数据先写入kafka(主要作用为消峰),再通过Flume将kafka的数据写入到hdfs
  3. Mysql的业务行为数据通过DataX(全量的同步)将数据写入到hdfs中,也可以使用Maxwell(增量同步)将数据写入到hdfs中

离线数仓

  1. 将HDFS中的数据进行建模 进行各种数据分层处理 如: ODS层、DIM层、DWD层、DWS层、ADS层等,(基本上都是Sql语句),所以需要DolphinScheduler进行任务调度管理
  2. 处理之后数据,通过DataX(每日同步)结果数据写入到MySQL中
  3. 然后再通过Superset的可视化工具进行数据的展示

实时数仓

  1. Flink读取kakfa中的数据,而kafka中主题数据即为ODS层
  2. Flink从kafka中读取的数据进行清洗即为DWD层,再次写回到kafka中
  3. Flink读取kafka中DWD层的数据,进行维数数据的处理,通过Hbase存储处理的数据,由于Flume和kafka会造成数据的重复,那么Flink在消费kafka数据的时候可以进行精准一次去重。如果数据量比较小可以不用Flink,而使用Redis旁路缓存去重,即为DIM层
  4. 维度的数据可以通过Redis或者Hbase进行查询
  5. Flink将上面数据写入到ClickHouse进行预聚合,即为DWS层
  6. 最后对ClickHouse数据进行查询,然后通过Springboot(JavaWeb)数据接口服务将查询数据写入到Sugar,进行实时数据的可视化
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Prometheus是一款开源的监控系统,被广泛应用于云原生和微服务架构中。它的架构可以分为四个部分:数据源、数据存储、查询语言、和用户界面。 1. 数据源: Prometheus支持多种数据源,包括自身的client library和exporter。client library是Prometheus提供的用于收集和暴露指标数据的库,它可以直接嵌入到应用程序中,将应用程序的性能指标收集到Prometheus中。exporter是一种独立的程序,它可以从其他系统中获取指标数据,并将其转换为Prometheus可识别的格式。 2. 数据存储: Prometheus使用一种称为TSDB(时间序列数据库)的数据存储方式,它可以存储大量的时间序列数据,并支持快速的查询和聚合操作。TSDB使用一种称为WAL(Write-Ahead Log)的机制来确保数据的完整性和可靠性。WAL会在写入数据时先将数据写入到一个缓存中,然后再异步地将数据持久化到磁盘上。 3. 查询语言: Prometheus使用一种称为PromQL的查询语言来查询和聚合时间序列数据。PromQL支持各种聚合操作,例如计数、求和、平均值和百分位数等。它还支持多种函数和操作符,可以用于过滤和转换数据。 4. 用户界面: Prometheus提供了一个Web界面,用于展示监控数据和查询结果。它支持各种图表和视图,可以帮助用户快速地发现和解决问题。 总的来说,Prometheus的架构具有高度的可扩展性和灵活性,可以方便地与各种系统集成,并支持多种查询和聚合操作,使得用户可以轻松地了解系统的运行情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王博1999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值