新闻中心
专业的数据管理基础设施及服务供应商
湖+仓混合业务架构的四大痛点及湖仓一体五大核心能力
发布日期:
2023-12-29

为了满足数据类型存储、多场景分析以及新诞生的AIGC等业务诉求,企业的数据混合部署模式,数据湖、数据仓库、关系型数据库等多种架构并存,数据仓库和数据湖为两套独立的系统,数据仓库和数据湖之间通过ETL进行数据交换。这种架构一般如下图所示:


湖+仓混合业务架构的四大痛点及湖仓一体五大核心能力

仓+湖的混合架构    

来源:CCSA TA601


这种混合架构一般是在信息化建设过程中,随者业务需求的新增,逐步构建起来的混合架构,前期并没有统一的规划,这种混合架构虽然可以完成多种数据结构的存储、解决了传统数据仓库在海量数据下加载慢、数据查询效率低、难以融合多种异构数据源进行分析的问题,但也存在一些弊端。


01仓+湖的混合架构的主要问题

仓+湖的混合架构主要存在以下主要的问题:

一、数据冗余,增加存储成本。湖仓混合架构中,数据湖和数据仓库都需要进行数据冗余备份,同时,混合架构可能导致部分数据存储在Hadoop平台和MPP平台,进一步增加了数据冗余,增加了存储成本。例如为了满足数据分析师和数据科学家的需求,同一张表在MPP和hadoop系统都各自存储一份,由于两个系统都是分布式系统,分布式系统就意味着数据备份等一张表存储3份,如果在两个系统存储,就可能是一张表存储了6次,因此,数据冗余较大。 


二、是两个系统间额外的ETL流程导致时效性差。在湖仓混合架构中,数据通常先进入数据湖进行批处理,然后再进入数据仓库,最后为上层应用提供查询服务。整个数据链路过长,湖入仓的过程还需要进行一次ETL,这会影响查询的时效性。 


三、是数据一致性保障低,增加数据校验成本。在混合架构中,两个系统之间通过数据迁移来实现数据流动,但在迁移过程中容易出现数据不一致的问题,这增加了数据一致性校验的成本。虽然在现在kappa技术架构中也支持实时的数据处理,但是因为实时处理无法全量处理数据,因此在数据去重计算等存在问题,数据准确性存在问题,数据准确性以批处理为准。 


四、是混合架构复杂,开发运维难度大、成本高。由于混合架构采用了两种孤立的技术栈进行部署,导致数据架构复杂,平台的开发和运维难度也增加,相应的成本也会增加。由于当前混合架构,在不同的开发框架下不能实现DataOps的开发运维一体化技术理念。


02湖仓一体的核心能力”

随着云计算的广泛应用,2020年Databricks提出了“湖仓一体”概念。在这个概念的推动下,云原生技术(如容器、DataOps和微服务)与大数据技术进一步融合,采用了存算分离架构。同时,利用云原生的资源弹性扩缩容和按需分配的特点,实现了资源的集约化,降低了成本。这也促进了湖仓一体技术的发展。


湖仓一体将数据湖作为中心的数据存储层与数据仓库作为数据处理和分析层进行整合。数据湖作为一个存储原始和各式各样的数据的汇集地,提供了存储大量数据的能力,并且充分体现了数据的弹性和灵活性。而数据仓库则用于数据的加工、转换和聚合,以提供更高级别的查询和分析服务。通过湖仓一体的架构,企业可以更加灵活地管理和利用大量的数据。


它提供了更多的数据来源和数据类型,使得企业可以更全面地掌握数据,更好地支持决策和业务需求。同时,湖仓一体还能够提供更高的数据一致性和数据质量,避免了数据孤岛和冗余。此外,湖仓一体还借助先进的云原生技术,如容器、DataOps和微服务等,实现资源的高效利用和成本的降低。


湖+仓混合业务架构的四大痛点及湖仓一体五大核心能力


通过以上图可以了解,湖仓一体主要需要具备汇、存、算、管、服五种核心能力。


一、湖仓集成能力


1. 统一管理外部数据源:能够方便地管理各种外部数据源,包括关系型数据库、NoSQL数据库、分布式文件系统等。

2. 数据对象转换与管理:数据仓库能够将数据湖中的数据对象转换为数据仓库的数据对象,并进行数据和权限管理(即升仓)。同时,还支持将数据仓库中价值密度较低的数据进行入湖操作。 

3. 实时与批量数据入湖与入仓:湖仓一体具备实时和批量数据的入湖和入仓能力,能够满足不同场景下的数据处理需求。同时,还能够对入湖任务进行配置和管理,提供灵活性和可控性。


二、湖仓存储能力


1. 存算分离和资源扩缩容:湖仓一体允许独立部署数据存储和计算资源,同时支持动态扩展和缩减存储和计算资源的能力,实现了存算分离。 

2. 存储分级:湖仓一体支持对数据进行冷热分级存储,以便更好地管理和利用不同类型的数据。例如可以将数据存储分成:热数据、标准数据、低频、归档、冷归档等不同数据层次。

3. 数据湖格式和事务支持:湖仓一体支持多种数据存储引擎以及数据湖存储格式,并具备事务支持处理能力,同时还能够在线调整数据模式(schema)。 

4. 数据缓存加速:湖仓一体具备数据缓存加速能力,支持配置多种缓存策略,以提高存储和访问数据的速度。 

5. 存储加密:湖仓一体还支持数据加密的存储能力,保障敏感数据的安全性。

6. 数据生命周期管理:湖仓一体还支持数据通过监控数据访问频次,将存储到数据湖中的数据自动分层的能力。


三、湖仓计算能力


1. 存储生态能力:湖仓一体允许数仓引擎对数据湖数据进行读写操作,同时数据湖引擎也可以对数仓数据进行读写操作。

2. 兼容常见的计算引擎:湖仓一体配置方式兼容常见的计算引擎。计算引擎可以使用计算资源。

3. 统一开发平台:湖仓一体提供统一的开发平台,支持流批一体的开发模式、用于湖仓数据的开发、作业调度和任务运维监控。 

4. 支持常见的数据开发:湖仓一体常见的数据开发应用场景,例如批量开发、流式开发、指标计算等。

5. 计算资源弹性扩缩容:湖仓一体支持计算资源的弹性扩缩容,并且能够监控弹性资源。

6. 数据处理的事务性:湖仓一体支持数据更新,实现支持事务的存储层。


四、湖仓管理能力


1. 元数据管理能力:能够自动发现、识别和采集元数据,并进行统一存储管理。 

2. 数据权限管理能力:对湖仓内的数据实现统一的权限管理。 

3. 数据评估能力:可以评估数据的访问频次、时间、数据量等维度。通过数据频次监控能力,可以自动将数据分到不同的数据层次种

4. 统一湖仓血缘能力:能够清晰描述数据的流转和生命周期。 

5. 数据质量管理能力:支持设置数据质量规则、进行校验以及质量管理。 

6. 数据加密能力:在湖仓异构访问过程中支持对敏感数据进行加密。 

7. 统一数据建模能力:提供逻辑模型和物理模型,并提供数据模型的生命周期管理。


五、湖仓服务能力


1. 统一的认证和授权体系:湖仓一体提供统一的认证和授权体系,确保数据的安全访问和权限控制。 

2. 统一的数据服务能力:湖仓一体提供统一的数据发布服务的能力,确保应用层可以通过数据服务使用湖仓的数据。

3. 统一的数据分析能力:湖仓一体提供统一的数据分析的能力例如科学计算、向量计算、机器学习等多场景融合分析,可以基于湖仓统一数据集进行在线的数据分析。


湖仓一体技术作为新一代数据架构,仍面临着许多技术难题等待解决。其中,如何实现数据的高效存储和访问、如何保障数据的安全性和隐私性、如何实现数据质量的提升和管理,以及如何处理不同数据源的异构性等问题都是挑战着湖仓一体技术的发展。


此外,如何实现灵活的数据集成和数据协同,以及如何应对不断增长的数据量和不断变化的业务需求也是需要解决的关键问题。面对这些挑战,湖仓一体技术需要不断创新和改进,引入先进的技术手段和方法,与业界合作共同解决这些难题,以实现数据治理的全面、高效和可持续发展。


来源:ruby的数据漫谈。版权归作者及源出处所有,仅代表作者个人观点,与本号立场无关。若所引用的内容来源标注有误或涉及侵权,请及时联系处理。