分享自:

一种面向时间序列数据库级联多语言持久化的整体扩展策略

期刊:big data and cognitive computingDOI:10.3390/bdcc6030086

关于时间序列数据库的整体扩展策略研究综述

这篇名为“A holistic scalability strategy for time series databases following cascading polyglot persistence”的研究文章由Carlos Garcia Calatrava、Yolanda Becerra Fontal以及Fernando M. Cucchietti合作完成,文章发表在《Big Data and Cognitive Computing》期刊,2022年第6卷第86条。作者分别来自巴塞罗那超级计算中心(Barcelona Supercomputing Center)以及加泰罗尼亚理工大学(Universitat Politècnica de Catalunya, Barcelonatech)计算机架构系,研究聚焦于时间序列数据库的可扩展性问题。


背景介绍

随着技术的快速发展以及海量数据涌现,时间序列数据管理的重要性愈发突出。时间序列数据库(time series database,简称TSDB)是一类专为处理由传感器等连续数据源产生的信息而设计的数据库。自2019年以来,这一领域的数据库类别发展最快。常见的TSDB包括MongoDB、InfluxDB等。其中,此类数据库的发展主要受两种需求驱动:一是高效的实时/准实时数据处理,二是减少资源消耗以实现更好的性能与成本平衡。

为了满足以上需求,研究团队提出了一种新的数据库模型——NagareDB。该模型通过“Cascading Polyglot Persistence”(级联多语言持久性)方法,同时优化了软件和硬件资源利用率,并在性能上较MongoDB、InfluxDB等流行数据库表现更优。Cascading Polyglot Persistence通过使不同数据模型协同工作,根据时间序列数据的生命周期适配理想存储和查询方式。然而,该方法之前的应用仅限于单体架构的数据库,对于分布式的扩展能力仍不足。因此,这项研究旨在针对这种方法设计并实现一种适配的、灵活的分布式扩展策略。


研究细节

研究方法

研究按照以下步骤设计与推进:

  1. 架构设计
    作者将数据库分为两个主要分区(一组副本集):
    • “Ingestion Replica Set”(数据摄入分区):处理实时/准实时数据接入,使用性能优化的硬件配置,承担主要的写操作。
    • “Consolidation Replica Set”(数据汇总分区):存储历史数据,基于高性价比硬件,以支持海量数据的长期存储和综合查询。

Cascading Polyglot Persistence的多个数据模型(Key-Value、Short Column和Long Column)被映射到相应分区中,DM1对应摄入分区,DM2和DM3对应汇总分区。

  1. 扩展策略设计
    提出的扩展策略核心是“功能特化”:不同分区根据各自职责量身定制硬件配置和操作逻辑。具体来说:

    • 摄入分区采用对角扩展(Diagonal Scalability),即主节点使用横向扩展(独立机器),从节点使用纵向扩展(共享机器)。数据按传感器ID分片,并通过“传感器感知的分片策略(sensor-wise sharding strategy)”并行化任务分配。
    • 汇总分区专注于高一致性存储,采用横向扩展,即数据仅在存储不足时分片,并优先实现副本冗余。
  2. 实验设计

    • 使用模拟传感器网络生成10年的时间序列数据(总量26亿个数据点)。
    • 测试多种工作负载:单一实时数据流、多路微批次流(分批传输),研究不同节点数和分片配置下的性能表现。

实验结果与分析

  1. 实时数据摄入性能
    在实时数据流环境下:
    • 随着并行任务增多,整体写入速率提高,但速度随更高并行工作负载出现瓶颈现象。
    • 一个单节点在10个并发作业以下表现良好,增加更多节点不能显著提升性能,反而带来额外开销。
    • 在超过20个并行任务后,多节点开始展现更高摄入能力,但扩展效率低于理想线性扩展。

分析:实时数据每次传输单个三元组(时间戳、传感器ID、值),导致系统的网络和路由器开销显著;“多目标操作(multi-target operations)”和“并行屏障(parallel barriers)”等问题限制了扩展效率。

  1. 准实时数据摄入性能
    微批次(micro-batching)摄入显著提高了扩展性能:
    • 增加微批次时间步长(即一次发送更多数据)可以减少系统开销,最高写入速率从单节点的8万三元组/秒提升到三节点下的25万三元组/秒。
    • 性能最佳的配置:50时间步的微批次,50并发作业,通过最大化化并行性和分片利用率,显著减小了“路由器分割”问题。

优化建议:使用更大的批次有助于提高效率和可扩展性,同时需根据实际场景的实时性要求调节微批次大小。

  1. 查询性能
    使用高并行性查询任务测试摄入分区表现(例如,每个分片同时处理多个请求):
    • 真正实现高并发性能取决于任务分配和负载均衡。
    • 分片配置不当或分片过多可能引入延迟,因为某些分片可能空闲,另一些却过载。

主要结论与意义

  1. 研究意义与价值
    本研究提出了一种创新的TSDB扩展策略,并通过实验验证其优势。这种策略通过功能特化和自定义分片机制,有效解决了传统扩展方法中的资源浪费和性能瓶颈问题。研究表明,微批次摄入是提升扩展性能的关键,对于成本敏感的应用场景尤其具有实践意义。

  2. 科学与应用价值

    • 提供了一种低资源占用的高效时间序列数据管理方法,特别适用于数据量巨大但硬件预算有限的应用场景。
    • 为分布式数据库架构设计和负载优化提供了一套通用研究思路。
  3. 研究亮点

    • 提出的“Cascading Polyglot Persistence”是一种创新型架构,结合多数据模型动态调整结构,有效应对不同阶段的存储和查询需求。
    • 文章提出的“对角扩展”以及“传感器感知分片”策略展示了独特的实用性和理论价值。

展望与进一步研究方向

尽管提出的扩展方法在实验中表现卓越,但以下方面仍需进一步优化和探索: 1. 如何在动态负载情况下更智能地平衡分片和副本间的数据分配。 2. 扩展方法面向更复杂多节点环境或更高实时性需求场景的适应性研究。 3. 探讨结合更多现代硬件(如更高性能SSD、持久内存)在分布式架构中的潜在优化方向。

该研究在资源约束环境中处理大规模时间序列数据的效率最大化问题上提供了有力启示,对工业监控、物联网数据处理等领域的发展具有重要的推动作用。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com