KaiwuDBKaiwuDB

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践

2025-05-29

文章链接:【KWDB 创作者计划】_KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践

作者:SerenZhang



前言

KWDB是专为AIoT(物联网人工智能)场景设计,支持统一存储与高效处理时序数据,关系数据以及非结构化数据的分布式多模数据库,它凭借其多模架构、高效时序数据处理、分布式等亮点技术在众多数据库中脱颖而出,那我就从这三方面,跟你们聊聊我眼中的KWDB。


一、 多模融合架构

首先呢,什么是多模融合架构?官方一点来说呢,多模融合架构就是通过混合存储引擎、跨模关联机制与统一元数据层,实现时序数据、关系数据及非结构化数据的统一存储和高效处理。简单来说,就是将诸多设备产生的时间序列数据(例如机器的实时数据),关系型数据(例如数据表格),非结构化数据(像照片,视频记录等)统一结合到一个大的平台上,让不同的数据能够合理存储在一起,让它们相互参考,“联动”起来。比如在一场交通事故中,通过同时分析该车辆的实时速度,位置信息,行驶记录视频等,能够快速判断出这种复杂场景的具体情况。

那么,多模融合架构是如何实现的呢?它主要通过Outside-In(从外向内)和Inside-Out(从内向外)两种方式实现。Outside-In方式是先处理关系数据,然后再处理时序数据,处理逻辑如下:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图1)

在Outside-In方式中,为了优化查询过程,使用了特殊的BatchLookupJoin操作来连接关系数据与时序数据:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图2)

Inside-Out方式首先处理时序数据,然后再处理关系数据。这通常需要对时序数据库进行预聚合处理:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图3)

在数据源被建立时,KWDB能通过识别不同的表类型选择适当的处理方法,即多模表处理:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图4)

KWDB的多模融合架构依靠Outside-In和Inside-Out两种优化方式,根据不同查询选择高效的数据处理路径,并通过特殊操作(如BatchLookupJoin)连接不同数据,从而高效处理AIoT场景下的大量复杂数据查询。


二、高效时序数据处理


KWDB 通过很多技术和优化来完成高效的时间序列数据处理,以下是一些方法的概述:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图5)


由以上注释可以知道,KWDB 对时间序列数据使用列式存储格式,这能大大提高分析,存储,查询的性能。


同时,将数据按时间分区,这不但能使查询工作更高效,还更有利于管理:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图6)

KWDB还包含热/冷数据分层系统,它能将不常访问的冷数据迁移到另一个存储层:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图7)

这是KWDB在实现不断寻找并删除重复数据:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图8)

并通过将数据批量插入来优化性能:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图9)

为了使数据有持久性,KWDB实现了设有不同级别的预写日志记录系统,通过switch-case结构控制不同模式下的表创建类型:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图10)

KWDB的高效时序数据处理系统可以处理高吞吐量的写入操作,并通过列式存储、基于时间的分区以及多种优化技术来保持快速查询性能。


三、分布式架构


KWDB 实现了专为 AIoT场景设计的分布式多模型数据库架构。该架构支持高性能时间序列数据和关系数据处理。

KWDB 的分布式架构围绕几个关键组件构建:

1.节点系统:KWDB 集群中的每个实例都由一个 Node 对象表示,该对象管理该实例的生命周期和作 :

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图11)

2.Gossip协议:KWDB采用基于Gossip协议的方式实现集群成员资格管理、元数据传播和节点发现,让节点无需集中协调即可维护集群状态的一致视图。

3.服务器组件:主服务器组件编排节点的所有方面,包括通信、存储和查询处理:

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图12)

4.分布式发送方:处理跨集群到适当节点的路由请求 :

KWDB 创作者计划 | KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践(图13)

5.RPC系统:通过基于 gRPC 的协议 促进节点间通信。

上述组件在 KWDB 架构中深度互连。Node 系统管理本地数据,Gossip 协议共享集群状态,分布式发送方路由请求,RPC 系统提供通信。

总结

KWDB以多模融合架构为基座,高效时序处理为核心,分布式弹性设计为扩展,构建了面向物联网时代的全场景数据管理平台。其技术亮点不仅体现在性能指标,更在于架构的系统性与前瞻性。相信再未来随着生态架构完善,KWDB能够引领国产数据库在工业智能化与数字化转型中的深度应用。


本文所有代码引用皆来源于: https://github.com/KWDB/KWDB

主要代码来源地址:

https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/sql/opt/exec/execbuilder/relational.go

https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/sql/opt/optbuilder/select.go

https://github.com/KWDB/KWDB/blob/f6327b5e/kwdbts2/storage/src/ts_table.cpp

https://github.com/KWDB/KWDB/blob/f6327b5e/kwdbts2/storage/include/ts_table.h

https://github.com/KWDB/KWDB/blob/f6327b5e/kwdbts2/engine/engine.cpp

https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/server/node.go

https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/gossip/gossip.go

https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/server/server.go



体验全新的分布式多模数据库解决方案

企业版 社区版

KaiwuDB 是浪潮控股的数据库企业,面向工业物联网、数字能源、车联网、智慧产业等行业领域,提供稳定安全、高性能、易运维的创新数据软件与服务。

关注官方微信

友情链接:浪潮  

© 上海沄熹科技有限公司 Shanghai Yunxi Technology Co., Ltd.    沪ICP备2023002175号-1    网站服务协议   |   隐私政策
400-624-5688-7
服务与支持
marketing@kaiwudb.org.cn