实时数据仓库

1 为什么选择kafka?

  ① 实时写入,实时读取

  ② 消息队列适合,其他数据库受不了

2 ods层

  1)存储原始数据

    埋点的行为数据 (topic :ods_base_log)

    业务数据 (topic :ods_base_db)

  2)业务数据的有序性: maxwell配置,指定生产者分区的key为 table

3 dwd+dim层

  ① 事实表存Kafka

  ② 维度表存Hbase,基于热存储加载维表的join方案:

    	随机查
    	长远考虑
    	适合实时读写

   DIM:事实数据根据维度ID查询相应的维度数据

		HBase:√
		Redis:用户表数据量大,内存使用量太大
		HDFS(Hive):太慢,效率低
		Mysql:维表数据属于业务库,实时计算查询MySQL会给业务库增加压力--从库 √
		ClickHouse:QPS高、列存     

3.1 动态分流

  将事实表写入kafka的dwd层,将维度表写入hbase。为了避免因表的变化而重启Flink任务,在mysql存一张表来动态配置。

  DIM层编程:

	1.消费Kafka topic_db主题数据(包含所有的业务表数据)
	2.过滤维表数据(根据表名做过滤)
	3.将数据写入Phoenix(每张维表对应一张Phoenix表)
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值