时间序列数据库的数据集成方法
发布时间:2023-12-18 21:30:06 所属栏目:大数据 来源:DaWei
导读: 随着数据密集型的数字化转型需求进入更多垂直细分行业,从业人员产生的数据量肯定会呈指数级增长。因此,以不同的格式和结构,从不同来源收集如此大量数据的数据​​集成​&
随着数据密集型的数字化转型需求进入更多垂直细分行业,从业人员产生的数据量肯定会呈指数级增长。因此,以不同的格式和结构,从不同来源收集如此大量数据的数据集成策略,是当今数据工程团队的主要关注点。传统的数据集成方法主要侧重于将高度结构化的数据整理到数据仓库中,难以处理新数据集的数量和异构性。 另一方面,时序数据带来了额外的复杂性。从本质上讲,每个时序数据点的值会随着时间的推移而减少,因为数据的粒度会随着数据过时而失去相关性。因此,团队必须仔细规划将数据集成到时间序列数据库 (TSDB) 中的策略,以确保分析近乎实时地反映趋势和情况。 在本文中,我们将研究一些最流行的 TSDB 数据集成方法: 鉴于对时间序列数据的实时洞察需求,大多数现代事件驱动架构都使用 CDC 实现数据流。为了说明它在实践中是如何工作的,我们将通过QuestDB(快速TSDB)的参考视像来展示CDC如何灵活地处理时间序列数据的需求。 ETL 的主要优点之一是它提供了最高程度的定制。由于数据首先被提取到暂存区域,在那里它被转换为干净的标准化格式,ETL 系统可以处理各种格式和结构。此外,将数据加载到数据仓库后,数据科学团队可以进行高效的查询和分析。最后,鉴于ETL生态系统的成熟,有大量的企业级工具可供选择。 另一方面,ETL 的维护需要大量资源和时间。清理和转换数据的逻辑可能很复杂,计算成本很高。这就是为什么大多数ETL系统通常是面向批处理的,只定期将数据加载到仓库中。。随着数据量和资料来源的增长,这也会成为瓶颈。 顾名思义,ELT 首先将数据加载到目标系统(通常是数据湖)中,然后在系统本身内执行转换。鉴于目标系统负责处理快速加载和转换,ELT 管道通常利用基于云的现代数据库来处理要求。 与 ETL 管道相比,ELT 系统可以提供更实时的数据分析,因为原始数据是动态摄取和转换的。大多数基于云的数据湖都提供 SDK 或端点,以批量高效摄取数据,并提供几乎无限的可扩展性。然而,ELT并非没有缺点。由于转换由目标系统完成,因此,此类操作受到数据库支持的功能的限制。如果需要更复杂的转换逻辑,可能需要执行其他步骤来重新提取数据并以更好的格式存储数据。 对于大多数用例,ELT 是比 ETL 更有效的数据集成策略。如果您的应用程序可以利用基于云的工具并且不需要复杂的处理,那么 ELT 可能是近乎实时地处理大量数据的绝佳选择。 对于新项目,团队可以计划将 TSDB 用作 ETL 或 ELT 管道中的目标系统之一。但是,对于现有项目,迁移到 TSDB 或将 TSDB 添加到组合中可能是一个挑战。首先,可能需要修改或使用新的驱动程序SDK 将数据流式传输到 TSDB。即使支持相同的驱动程序,数据格式也可能需要更改以充分利用 TSDB 功能。CDC工具可用于弥补这一差距。 CDC 原则上很简单:Debezium 等 CDC 工具会持续监控原系统中的更改,并在发生更改时通知数据管道。导致更改的应用程序通常甚至不知道有一个 CDC 进程在监听更改。这使得 CDC 非常适合将新的实时数据管道集成到现有架构中,因为它需要对现有应用程序进行少量更改或无需更改。因此,CDC 可以与 ETL 或 ELT 管道结合使用。例如,源系统可以是SQL RDBMS(例如MySQL,PostgreSQL等)或NoSQL DB(例如MongoDB,Casandra),其中一个目标系统可以是TSDB以及其他数据库或仓库。 使用 CDC 进行数据集成的主要优点是提供实时数据复制。与使用批处理的传统 ETL 和 ELT 系统不同,对源系统的更改会以连续流式传输到一个或多个目标系统中。这对于近乎实时地跨多个数据库复制子集或整个数据集非常有用。目标数据库甚至可能位于不同的地理区域或用于不同的目的(即长期存储与实时分析)。对于值随时间的变化通常最有用的时序数据,CDC 可以有效地捕获该增量以获得实时见解。 (编辑:湘西站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐