数仓技术路线选型

对于已有的hive数据仓,怎样改造成实时数仓的要求呢?

2.关于实时数仓的选型

  • 如果选择hbase,建议选择kudu
  • 如果选择kudu, 还可以选择doris
  • 如果选择doris,建议选择iceberg

以上三种选择,要配合具体的场景;

技术选型方案

方案一:doris作为实时数仓,hive作为离线数仓

其中doris作为实时数仓,可以设计存储n天的(doris紫自身能够自动就行数据生命周期的管理);然后hive数据仓仍然作为T+1的离线数仓使用;

优点:继承以往的hadoop生态的hive遗产,只用新加入doris一个组件即可,满足实时性数仓的要求;

缺点:该架构缺点也很明显,早期的lamda架构;1.数据重复存储2份,导致存储资源的浪费;2.两套架构需要两套维护系统,需要跟多的人员和经理投入;

方案二:以doris构建实时数仓

doris完全取代hive数仓,作为离线和实时统一的数仓使用;一般常常和clickhouse对比;

doris自身是一个存算一体的mpp架构的olap引擎,PB 级别大数据集,秒级/毫秒级查询,对标准sql的支持很好;能够应付大规模数据数据的实时和离线数据查询;现实中有许多公司将doris作为事实的实时实仓工具;显示中对多维分析和报表查询都有良好的支持;

优点:

1. 使用更简单,如建表更简单,SQL标准支持更好, Join性能更好,导数功能更强大

2. 运维更简单,如灵活的扩缩容能力,故障节点自动恢复,社区提供的支持更好

3. 分布式更强,支持事务和幂等性导入数据,物化视图自动聚合,查询自动路由,全面元数据管理;百度研发开源,有小米、美团、好未来等企业使用经验;

缺点:

方案三:以iceberg为核心构建实时数仓

使用数据湖技术iceberg,作为统一离线和实时数仓的中间层

iceberg可以直接对接上层各种计算引擎,实现真正的离线和实时一体存储,所有的关键数据只保留一份;

iceberg可以对接上层各种数据源

[选型] 实时数仓之技术选型_数据

总 结

因为hive本身只能作为离线数仓来使用,有T+1的时间延迟,无法保证查询实时性的要求,因此构建实时数仓就显得十分必要,也是行业发展的趋势;

综合考虑如下:

  • 第一阶段,先完成离线数仓的构建,实时数据展示仍然使用以往的实时方案;
  • 第二阶段,引入doris或者iceberg构建实时数仓;