System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理的,尤其涉及一种数据分层存储方法。
技术介绍
1、随着业务规模的扩大,企业产生的数据量呈指数级增长。多数企业数据存储是由mysql、postgresql等事务型业务数据库系统开始,这类数据库通常采用单一的数据存储模式,即所有数据统一存储在同一位置。这种做法虽然简单易行,但随着业务和数据规模扩大存在诸多问题:
2、第一、资源利用率低:大量不活跃或历史数据占据了宝贵的计算和存储资源。
3、第二、查询性能下降:随着数据量的增加,实时查询速度加剧变慢,影响用户体验。
4、第三、运维操作困难: 数据积累到一定数量后,数据库表结构变更和索引增删将及其缓慢。在业务连续性要求的场景,这样的运维操作不可接受。
5、第四、存储成本高昂:存储大量级的数据,数据库要求更高的cpu和内存,同时占用巨大磁盘空间。
6、为了解决上述问题, 业界提出了按数据的冷热特性分层存储的方案。即根据数据的访问频率、更新频率、业务重要性和使用场景,将数据划分为两类:热数据和冷数据。热数据在业务系统中访问频率高、需要实时或快速响应,适合存储于高性能业务数据库和缓存中。冷数据在业务系统中访问频率低,但需要长期保存,适合以数据文件的形式存储在冷存储系统。同时数据冷热分层存储的实施,依赖于elt技术组件,对业务源数据进行摄取、加载和转换,最终形成符合目标格式的数据进行存储。然而,现有的技术方案往往使用传统elt或采用复杂的技术组合,具有复杂度高、资源利用率低、实时查询性能不足、成本高昂等问题。
>技术实现思路
1、本专利技术的目的在于提供一种数据分层存储方法,其旨在解决现有的数据存储方案存在复杂度高、资源利用率低、实时查询性能不足、成本高昂的技术问题。
2、为解决上述技术问题,提供一种数据分层存储方法,包括:
3、将数据存储架构分层为热数据层、温数据层和冷数据层;
4、热数据摄取和加载任务:从所述热数据层定时摄取数据,并加载到所述温数据层的duckdb内表;
5、温数据转换任务:在duckdb中对所述温数据层中的数据进行转换处理,形成冷备目标数据;
6、数据冷备任务:将所述冷备目标数据转移到所述冷数据层;
7、其中,所述热数据摄取和加载任务、所述温数据转换任务和所述数据冷备任务依据dagster任务框架完成编码,将代码构建发布为容器镜像,并进行任务调度配置、任务触发与任务执行。
8、进一步地,所述任务调度配置包括:配置所述热数据摄取和加载任务的触发时间条件,以及将数据加载到所述温数据层的过程;配置所述温数据转换任务的触发条件,对温数据进行转换处理,形成parquet数据文件;配置所述数据冷备任务的触发条件,将parquet数据文件从温数据层转移到所述冷数据层。
9、进一步地,设置协调节点统一管理数据任务的调度和分发,任务触发时,所述协调节点按需选择任务执行代码所对应的镜像启动kubernetes job。
10、进一步地,所述任务触发包括:通过ui发起的webserver请求。
11、进一步地,所述任务触发包括:通过设置好的定时调度规则按周期发起。
12、进一步地,配置所述热数据摄取和加载任务触发时间条件为第一时间节点开始,将第一时间段内的数据摄取加载到温数据层,并将所述温数据层的数据按月分区存储。
13、进一步地,配置所述温数据转换任务触发条件为每个数据分区摄取完成,将温数据层摄取到的原始数据加工处理和轻度汇总,形成冷备目标数据,并将所述冷备目标数据按月分区存储。
14、进一步地,配置所述数据冷备任务触发条件为第二时间节点开始,将所述温数据层的冷备目标数据通过duckdb copy到对象存储。
15、进一步地,使用duckdb作为所述温数据层的存储引擎。
16、进一步地,所述将所述冷备目标数据转移到所述冷数据层包括:所述温数据层的数据经过聚合汇总,并在温数据层保留预设时间,用于对所述温数据加工和查询,在保留预设时间后,若所述温数据满足冷备条件,将该温数据转移到所述冷数据层。
17、实施本专利技术实施例,将具有如下有益效果:
18、本实施例中的数据分层存储方法,将数据存储架构分层为热数据层、温数据层和冷数据层。热数据层主要用于实时访问和事务处理,确保企业核心业务的高效运行;温数据层作为热数据与冷数据的缓冲区,利用duckdb进行数据转换和低频查询;冷数据层则通过对象存储以parquet格式存储历史数据,适配低成本、高效分析的需求。此数据存储架构能够显著优化数据访问性能,同时降低存储成本。
19、本实施例中的数据分层存储方法采用dagster作为数据任务调度框架,通过在kubernetes上部署动态任务分配机制,实现任务资源的弹性管理和隔离。具体方式为:协调节点统一调度任务并启动独立的kubernetes job pod,确保资源高效利用和任务状态同步。此方法兼具灵活性和安全性,并通过容器化交付实现了快速迭代和自动化运维。
20、通过使用列式存储格式(如parquet)和轻量级查询引擎(如duckdb),冷数据能够直接从对象存储中执行高效复杂查询,显著降低了分析成本和响应时间。与传统的存储方案相比,本实施例中的数据分层存储方法突破了冷数据查询的性能瓶颈,同时提升了历史数据的可用性和管理经济性。
本文档来自技高网...【技术保护点】
1.一种数据分层存储方法,其特征在于,包括:
2.根据权利要求1所述的数据分层存储方法,其特征在于,所述任务调度配置包括:配置所述热数据摄取和加载任务的触发时间条件,以及将数据加载到所述温数据层的过程;配置所述温数据转换任务的触发条件,对温数据进行转换处理,形成Parquet数据文件;配置所述数据冷备任务的触发条件,将Parquet数据文件从温数据层转移到所述冷数据层。
3.根据权利要求2所述的数据分层存储方法,其特征在于,设置协调节点统一管理数据任务的调度和分发,任务触发时,所述协调节点按需选择任务执行代码所对应的镜像启动Kubernetes Job。
4.根据权利要求3所述的数据分层存储方法,其特征在于,所述任务触发包括:通过UI发起的webserver请求。
5.根据权利要求3所述的数据分层存储方法,其特征在于,所述任务触发包括:通过设置好的定时调度规则按周期发起。
6.根据权利要求2所述的数据分层存储方法,其特征在于,配置所述热数据摄取和加载任务触发时间条件为第一时间节点开始,将第一时间段内的数据摄取加载到温数据
7.根据权利要求6所述的数据分层存储方法,其特征在于,配置所述温数据转换任务触发条件为每个数据分区摄取完成,将温数据层摄取到的原始数据加工处理和轻度汇总,形成冷备目标数据,并将所述冷备目标数据按月分区存储。
8.根据权利要求7所述的数据分层存储方法,其特征在于,配置所述数据冷备任务触发条件为第二时间节点开始,将所述温数据层的冷备目标数据通过DuckDB Copy到对象存储。
9.根据权利要求1所述的数据分层存储方法,其特征在于,使用DuckDB作为所述温数据层的存储引擎。
10.根据权利要求1所述的数据分层存储方法,其特征在于,所述将所述冷备目标数据转移到所述冷数据层包括:所述温数据层的数据经过聚合汇总,并在温数据层保留预设时间,用于对所述温数据加工和查询,在保留预设时间后,若所述温数据满足冷备条件,将该温数据转移到所述冷数据层。
...【技术特征摘要】
1.一种数据分层存储方法,其特征在于,包括:
2.根据权利要求1所述的数据分层存储方法,其特征在于,所述任务调度配置包括:配置所述热数据摄取和加载任务的触发时间条件,以及将数据加载到所述温数据层的过程;配置所述温数据转换任务的触发条件,对温数据进行转换处理,形成parquet数据文件;配置所述数据冷备任务的触发条件,将parquet数据文件从温数据层转移到所述冷数据层。
3.根据权利要求2所述的数据分层存储方法,其特征在于,设置协调节点统一管理数据任务的调度和分发,任务触发时,所述协调节点按需选择任务执行代码所对应的镜像启动kubernetes job。
4.根据权利要求3所述的数据分层存储方法,其特征在于,所述任务触发包括:通过ui发起的webserver请求。
5.根据权利要求3所述的数据分层存储方法,其特征在于,所述任务触发包括:通过设置好的定时调度规则按周期发起。
6.根据权利要求2所述的数据分层存储方法,其特征在于,配置所述热数据...
【专利技术属性】
技术研发人员:罗喻夫,杨威,
申请(专利权)人:深圳市观麦网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。