查看原文
其他

数据平台:湖仓一体、流批一体、存算分离的核心问题及原因解析

ruby ruby的数据漫谈
2024-09-27

1、为什么出现湖仓一体的技术架构?

目前数据仓库存储的数据结构单一,只能存储结构化的数据,对于非结构化数据的存储的存储需求,以及存储成本的是数据仓库的主要问题,而非结构化数据存储在业务库,也造成数据不能相融和利用,为了解决非结构化数据的低成本的存储诞生了湖仓一体的技术架构。‍‍‍‍‍

湖仓一体的技术架构是指将数据湖(Data Lake)和数据仓库(Data Warehouse)结合在一起,实现对各种类型的数据进行存储、管理和分析的一体化解决方案。湖仓一体的技术架构出现的原因主要有以下几点: 

1. 数据多样性:随着大数据时代的到来,数据的种类和来源越来越多样化,包括结构化数据、半结构化数据和非结构化数据。数据湖可以灵活地存储各类数据,而数据仓库则更适合结构化数据的处理和分析。湖仓一体的架构能够同时满足不同类型数据的存储和处理需求。 

2. 数据实时性:湖仓一体的技术架构可以实现实时数据的处理和分析。数据湖可以接收和存储实时数据流,而数据仓库则可以实现对实时数据的快速查询和分析。通过湖仓一体的架构,可以将实时数据流和离线数据在同一个平台上进行统一管理和分析,提高数据实时性。 

3. 数据一致性:湖仓一体的技术架构可以保证数据一致性。数据湖可以作为中心化的数据存储和管理平台,将不同数据源的数据集中存储在一起。通过数据湖和数据仓库之间的数据同步与集成,可以保证数据的一致性和准确性,避免了数据冗余和不一致的问题。 

4. 数据成本控制:湖仓一体的架构可以降低数据存储和处理的成本。数据湖可以使用成本相对较低的存储设备来存储各类数据,而数据仓库则可以使用高性能的计算设备来进行数据分析。通过将数据按照不同的存储需求进行分类,可以实现成本和资源的优化控制,提高数据存储和处理的效率。 

总的来说,湖仓一体的技术架构出现是为了满足数据多样性、数据实时性和数据一致性的需求,同时降低数据存储和处理的成本。通过将数据湖和数据仓库结合在一起,可以实现对各类数据的统一管理和分析,提高数据的价值和利用效率。

2、为什么会出现流批一体的技术架构?

流批一体的技术架构是指将流式计算和批量计算结合在一起,通过统一的编程模型和执行引擎,实现对实时和离线数据处理的统一管理和运行。出现流批一体的技术架构主要有以下几点原因: 

1. 实时需求:随着互联网和物联网的发展,越来越多的业务场景需要实时处理大量的数据流。例如,实时监控、实时分析、事件处理等。传统的批量处理方式无法满足实时性的要求,而流式计算可以实时地对数据流进行处理和分析,及时生成结果。提高数据处理的时效性。 

2. 数据融合:流批一体的技术架构可以更好地实现实时和离线数据的融合。往往实时数据处理和离线数据处理需要对同一份数据进行不同的计算和分析,而流批一体的架构可以统一管理和处理这些数据,避免了重复的数据读取和计算,提高了数据处理的效率。 统一的引擎和表,降低业务架构的复杂度,存储形态上可以看成是一体的。‍‍‍‍‍

3. 统一开发和管理:流批一体的技术架构提供了统一的编程模型和执行引擎,简化了开发和管理的复杂性。开发人员只需要掌握一种编程模型和工具,就可以同时进行实时和离线计算的开发和调试,提高了开发的效率和灵活性。 

4. 资源共享和优化:将流式计算和批量计算结合在一起,可以更好地管理和优化计算资源。流批一体的架构可以根据实际需要动态调整计算资源的分配和使用,使资源得到更好的共享和利用,提高系统的性能和资源利用率。 

总的来说,流批一体的技术架构出现是为了满足实时数据处理的需求,实现对实时和离线数据的统一管理和处理,简化开发和管理的复杂性,提高计算资源的利用效率。

3、为什么需要存算分离?

存算分离是指将存储和计算分离开来,存储和计算分别部署在不同的硬件设备或系统中。出现存算分离的原因主要有以下几点: 

1. 数据量大:随着大数据时代的到来,数据量不断增长,传输和处理大数据需要消耗大量的计算资源,这就需要将计算与存储分开来进行,以提高数据处理的效率和速度。 

2. 弹性伸缩:存算分离可以实现资源的弹性伸缩,根据实际需求动态调整计算和存储资源,以满足不同业务场景下的需求变化。通过将计算和存储分离,可以有针对性地对存储和计算资源进行独立的扩展和调整,提高资源利用效率。 

3. 维护和管理成本:存算分离可以降低维护和管理的成本。由于计算和存储分离开来,可以独立进行维护和管理,降低系统维护的复杂性。同时,不同的硬件设备可以按照各自的特点进行专门的管理,提高系统的稳定性和可靠性。 

4. 数据隔离和安全:存算分离可以实现数据的隔离和安全。通过将计算和存储分开,可以将存储设备放置在专门的数据中心或存储系统中,加强数据的保护和隐私安全,降低数据被攻击和泄露的风险。 

总的来说,存算分离的出现是为了提高数据处理的效率和性能,降低成本和管理复杂性,保护数据安全和隐私。

综上所述数据平台的湖仓架构,流批一体和存算分离等技术架构主要在平台上做的改进体现在以下几个方面:

1、存算分离提高了平台的可扩展行,当数据量大到普通hadoop集群难以支撑的情况下,存算分离的技术架构可以继续依赖云原生的资源扩展性继续扩大集群管理的范围。‍‍‍‍‍

2、存算分离本质上是提升资源利用率,降低存储的成本,让不同的服务器处理不同的工作。所以计算引擎需要资源管理机制可以动态分配计算资源,无任务跑的计算资源需要重新被分配,存储引擎需要自动的优化存储的策略,主要包括:自动重分布优化、自动索引技术、小文件自动合并等技术,提高存储的效率和数据检索和访问的效率。存算分离不是简单的将计算服务器和存储服务器分离,而是有一套自动优化的机制,并且是能够将计算引擎经常访问的任务的数据和分布式存储之间进行匹配,否则会出现计算引擎访问分布式存储的数据,有很大的数据时延。

3、流批一体技术架构是为了降低开发的复杂性和提升了数据处理的时效性。

4、湖仓一体解决数据仓库的数据存储的多样性和数据融合处理的问题。‍‍‍‍‍‍

修改于
继续滑动看下一个
ruby的数据漫谈
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存