实时数仓&流批一体技术发展趋势
随着大数据发展和各种应用场景的涌现,大数据平台出现实时数仓和流体一体的技术,这些技术主要是针对OLAP技术。
实时数仓是一种数据仓库,它可以及时地反映出源系统中的最新数据,并使业务用户能够通过查询和分析实时数据来做出决策。与传统的数据仓库相比,实时数仓的最大不同之处在于,它可以实现近乎实时的数据处理和反馈,使企业能够更敏捷地对业务活动做出反应,并更快速地获取新的商业机会。实时数仓是企业数字化转型过程中非常重要的一部分。
流批一体技术,又称为流批一体化处理技术,是一种新型的数据处理方法。它可以同时支持传统的批处理和实时流处理,并将两种处理方式无缝地融合在一起,实现深度交互和协同操作。在流批一体化技术下,数据可以在流动过程中被实时处理,同时也可以在固定的时间间隔内进行批量处理,确保数据的处理效率和准确性。 流批一体技术的应用场景非常广泛,比如在电商中,用户在购物过程中的各种操作行为可以通过流处理进行实时分析来做出个性化推荐,同时用户历史购买数据也可以通过批处理进行分析存储。又比如在工业生产领域,实时监控设备参数可以使用流处理来进行,而历史数据分析则可以使用批处理来实现。使用流批一体技术可以提高数据处理效率和精度,让企业更好地适应数字化时代的发展趋势。
实时数据仓库通过流批一体技术实现实时数据处理,当前有三种实时数仓,lamdba、kappa和基于hudi或者iceberg的数据湖流批一体模型,主要的架构模型如下:
主要的问题是:
lambda架构需要维护离线和实时两套代码,且两套代码运行的结果存在差异,一般是显示实时结果,以前一天的批量结果为准,更新实时数据,会存在今天看的数据到明天变了的问题。
基于hudi/iceberg的数据湖批流一体架构提升了中间层数据存储和计算能力,但是数据时延无法达到秒级或者亚秒级,对于时延要求不高的报表或者分析,这种架构可以应对,对于IOT级别的设备监控和自动驾驶等需要实时反应的情况下,数据湖的流批一体时延无法达到。
另外传统的流批一体解决了实时计算问题,但是解决高并发问题,需要依赖多种数据库组合进行解决,例如hbase和es组合,hbase和mysql。存在数据协同的问题。
新的流批一体的技术架构的发展,一般采用HTAP 数据库、flink、kafka进行实时数仓的建设。
该架构主要优势是流批一体,TiCDC 是Tidb的自身的工具,可以监听数据库的实时变更,通过flink和kafka 可以进行流批一体的数据处理,且流批一体的数据处理的结果一致,最后的数据存储在Tidb 数据库。
HTAP数据库是"Hybrid Transactional and Analytical Processing"的缩写。它是一种新型数据库,可以同时支持在线交易处理(OLTP)和在线分析处理(OLAP)。传统的数据库一般只能处理特定场景的任务,例如,OLTP数据库可以支持高并发的事务处理,但通常需要牺牲一些分析能力,而OLAP数据库则可以支持复杂的查询和分析,但在高并发的事务处理时通常表现不佳。HTAP数据库采用了一种新的架构,将OLTP和OLAP功能融合在一起,在高并发的事务处理同时也能够支持高效的查询和分析,具有非常高的性能和灵活性。
是否采用Tidb 可以根据当前的业务需求,也可以采用OLAP的相关数据库,只要是能够监听到数据变更,且满足分析需求即可。
附录一下相关laop 数据库或者引擎的优缺点: