实时数据仓库怎么做?

3.1.1Lambda架构

Ververica.cn来自ApacheFlink中文学习网站的侵权通知被删除。

3.1.2卡帕架构

Ververica.cn来自ApacheFlink中文学习网站的侵权通知被删除。

3.1.3实时olap变体架构

Ververica.cn来自ApacheFlink中文学习网站的侵权通知被删除。

3.1.4常用架构对比

Ververica.cn来自ApacheFlink中文学习网站的侵权通知被删除。

Ps:lambda架构

培养一种分离感:

表格结构不同

不同的sql语法

资源浪费:

重复计算

重复存储

集群维护:

不同组件

不同的计算引擎

数据一致性

3.2实时仓库盘点架构

3.2.1方案一

优势:

便于数据回溯、重算和数据质量验证。

缺点:

通过批量重算,需要维护两套代码,开发维护成本高。

需要两组计算资源

适用场景:

非常大规模的历史数据计算,而且这种场景比较频繁。

它对数据质量要求极高,需要对实时和离线计算结果进行对比,甚至用离线对实时计算结果进行修正。

方案二

优势:

不需要维护两套代码,开发迭代速度快。

数据回溯重算方便,重算时间根据需求回溯的时间范围确定。

只需要流计算资源,资源占用小。

缺点:

ODSDWD的部分数据是“不可见”的,原始数据和中间数据不易查询(解决方法:通过重新消耗指定时间范围内的数据进行查询,或者将所需数据导入olap引擎)。

对业务反馈的依赖(解决方案:设计数据质量监控指标并实时监控警报)

适用场景:

ODSDWD查询不频繁等

方案三

与方案2相比:

通过增加一个ODS层hive,可以更方便的查看和分析原始数据。在恢复历史数据时,可以获取hive数据并写入kafka,然后按照原流处理的逻辑重新处理。把数据源改成历史数据对应的题目就行了。

需要加卡夫卡写蜂巢逻辑。

需要将从hive读取的数据添加到kafka。

需要添加对应于整个链接历史数据的主题。