实时数仓选型

实时数仓选型

  • 实时数仓选型第一版
  • 实时数仓选型第二版

实时数仓选型第一版

实时数仓分层:

计算框架:Flink;存储框架:消息队列(可以实时读取&可以实时写入)

ODS:Kafka

使用场景:每过来一条数据,读取到并加工处理

DIM: HBase

使用场景:事实表会根据主键获取一行维表数据(1.永久存储、2.根据主键查询)
HBase:海量数据永久存储,根据主键快速查询 √
Redis:用户表数据量大,内存数据库 x
ClickHouse:并发不行,列存 x
ES:默认给所有字段创建索引 x
Mysql本身:压力太大,实在要用就使用从库 (mysql 要主从读写分离)v

DWD:Kafka

使用场景:每过来―条数据,读取到并分组累加处理

DWS:ClickHouse

Kafka 使用场景:每过来一条数据,实时读取到并重新分组、累加处理(聚合计算)(列存计算)(再次加工数据时,更有优势)
为什么不用 kafka flink?
DWS:用户、省份、商品  GMV (商品交易总和)
到
ADS:用户 GMV省份 GMV商品 GMV省份、商品 GMV(重复聚合计算)用kafak就要用flink计算,每计多算一个指标,就多一个实时任务(耗资源)

ADS:不落盘,不存储。实质上时接口模块,查询ClickHouse的SQL语句(SQL查ClickHouse)

使用场景:读取最终结果直接给大屏,进行数据展示

在这里插入图片描述

实时数仓选型第二版

ods:

kafka对应的主题topic_db topic_log

dwd:

保持数据流的形式进行下一步的聚合
存储到kafka ->主题名称对应不同的事实表

dim:

存储维度表等待数据聚合之后来进行维度关联join操作
-mysql:快  不适合海量数据的存储
-redis:更快  数据不是永久化存储的
hbase:一般  数据键值对存储   getKey()速度快一些   适合海量的数据     (最合适)
-doris:快   适合海量数据   使用成本较高   尽量不要将原始数据大量存储到doris(现在不需要,适合查询时使用)
-clickHouse: 列式存储   **列式数据聚合操作**(dim维度表里面不会进行列式数据的计算,但dwd dws 会)   速度非常快
hbase(数据存储 契合后续的数据使用 getKey读取) + redis(旁路缓存 提升速度)

dws:

读取dwd数据进行聚合->开窗聚合(10s)再进行维度关联
后续进行灵活的数据接口编写同时能够实现即席查询的功能
doris最适合(之前存储到clickHouse)

ads:

 spring boot编写数据接口读取doris数据

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641349.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb开发06-原理-Spring配置优先级-Bean管理-SpringBoot原理-Maven继承和聚合-私服

一、Spring配置优先级 不同配置文件,配置同一个属性谁有效 properties>yml>yaml 命令行参数>Java系统属性 项目打包后要改变属性: 红色是Java系统属性,绿色是命令行参数 ‘ 二、Bean管理 1.获取bean 获取IOC容器:ap…

Oracle EBS Interface/API(54)- GL日记账审批

背景: 客户化创建薪酬凭证或者银企付款入账日记账以后,用户希望自动提交审批流程,无需到系统标准功能点击审批,减少用户操作。 快速参考 参考点内容功能导航N: GL->日记账->输入并发请求None基表GL.GL_JE_BATCHESAPI参考下面介绍错误信息表None接口FormNone接口Reque…

记录一下flume中因为taildir_position.json因位置不对导致数据无法从kafka被采到hdfs上的问题

【背景说明】 我需要用flume将kafka上的数据采集到hdfs上,发现数据怎么到不了hdfs。 【问题排查】 1.kafka上已有相应的数据 2.我的flume配置文档(没问题), 3.时间拦截器(没问题), 4.JSONObje…

​可视化大屏C位图:​总揽全局的行政区划图

在可视化大屏设计中,放置行政区划图可以起到以下几个作用: 地理位置展示:行政区划图可以直观地展示各个区域的地理位置和边界,帮助用户了解不同区域的空间分布。这对于多地区或分布式生产的企业来说尤为重要,可以帮助…

git merge 和 git rebese的区别

git merge 和 git rebese的区别 拉取分支和合并代码会涉及两种选择,git merge 和 git rebase: rebase:变基,会有一个干净的分支,但是对于记录来源不够清楚merge:合并,git 分支看起来比较混乱&…

go语言实现心跳机制样例

1、服务端代码: package mainimport ("fmt""net" )func handleClient(conn net.Conn) {defer conn.Close()fmt.Println("Client connected:", conn.RemoteAddr())// 读取客户端的数据buffer : make([]byte, 1024)for {n, err : conn…

【linux】Bad owner or permissions on

在root用户下执行scp操作向另外一个节点拷贝文件时发生了如下错误: Bad owner or permissions on /etc/crypto-policies/back-ends/openssh.config 我们查看他的权限时发现它所链接的文件权限为777 解决方法就是: chmod 600 /etc/crypto-policies/back-e…

基于51单片机的宠物自动喂食语音播报,有实物

1. 51仿真: LCD第一屏显示食物重量,当前时间,温湿度。第二屏显示喂食时间,第三屏显示喂食重量。可通过点击查看喂食时间翻转屏幕显示。 点击查看喂食时间后,显示喂食时间,可以设置三个时间,再点…

zigbee cc2530的室内/矿井等定位系统RSSI原理

1. 定位节点软件设计流程 2. 硬件设计 cc2530 最小系统 3. 上位机 c# 设计上位机,通过串口连接协调器节点,传输数据到pc上位机,显示节点坐标信息 4. 实物效果 需要4个节点,其中一个协调器,两个路由器作为参考节点&a…

Nexus自定义健康检查地址

项目需要对Nexus进行健康检查,甲方自定义了接口返回的数据。基于此,准备在Nexus里面开发一个接口。在本项目中使用的Nexus版本号为3.63.0-01,通过查询资料以及对代码的拜读,明确需要修改nexus-base这个包。需要修改的文件截图如下…

2024统计建模:大数据与人工智能时代的统计研究

文章目录 题目解读你需要具备的知识点课题推荐视频分析 题目解读 主要做的是“大数据”与“人工智能”。 其中“大数据”所涉及的的第一个就是大量的数据,数据从哪里来?拿到数据后,我们需要做基本的数据分析,如何对大量的数据进…

大型网站系统架构演化实例_6.使用分布式文件系统和分布式数据库系统

1.使用分布式文件系统和分布式数据库系统 任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,这时需要使用分布式数据库。文件系统也一…